Re: [Xen-ia64-devel] Re: PATCH: xencomm [2]

2006-10-02 Thread Tristan Gingold
Le Dimanche 01 Octobre 2006 18:30, Alex Williamson a écrit :
 On Fri, 2006-09-29 at 16:50 +0200, Tristan Gingold wrote:
  thank you for heavy testing.  I have updated the patch.  These issues are
  fixed.  I was able to do a local live migration.

 Hi Tristan,

We're getting closer.  UP domU save/restore works fine and I no
 longer see any of the unknown call warnings with VTi domains.  However,
 trying to save a 2-way, 2GB domU consistently produces the crash below.
 Thanks,
Thank.

One day xencomm will be bug free :-)

Tristan.

___
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel


[Xen-ia64-devel] Memory problem with mini-os

2006-10-02 Thread Dietmar Hahn
Hi,

after my vacation I switched from xen-ia64 change-set 11039 to 11635.
And now I have a problem with my mini-os executing the efi/pal code (currently 
the getTime - function from efi). Every time the function gets called I get 
an trap 22 (Instruction access rights vector). The strange thing is that the 
trap also occurs if I don't do the mapping of the pal code.
I inserted some trace messages in vcpu_itr_i() in xen to see all parameters. 
But it looks ok.
For a test I removed the call of in ia64_itr() in efi_map_pal_code() in the 
linux code and nevertheless efi_gettimeofday() runs fine (linux as domU).
 It seems, there is another tlb entry for this page.
I saw that the pal/efi stuff was reorganized in the new change-set.
Can anybody give me a hint where to look in the memory handling or do some 
trace messages! I'm currently still not familiar enough with this stuff.
Thanks.

Dietmar.

___
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel


Re: [Xen-ia64-devel] Memory problem with mini-os

2006-10-02 Thread Tristan Gingold
Le Lundi 02 Octobre 2006 09:35, Dietmar Hahn a écrit :
 Hi,

 after my vacation I switched from xen-ia64 change-set 11039 to 11635.
 And now I have a problem with my mini-os executing the efi/pal code
 (currently the getTime - function from efi). Every time the function gets
 called I get an trap 22 (Instruction access rights vector). The strange
 thing is that the trap also occurs if I don't do the mapping of the pal
 code.
 I inserted some trace messages in vcpu_itr_i() in xen to see all
 parameters. But it looks ok.
 For a test I removed the call of in ia64_itr() in efi_map_pal_code() in the
 linux code and nevertheless efi_gettimeofday() runs fine (linux as domU).
  It seems, there is another tlb entry for this page.
 I saw that the pal/efi stuff was reorganized in the new change-set.
 Can anybody give me a hint where to look in the memory handling or do some
 trace messages! I'm currently still not familiar enough with this stuff.
Hi,

After your comments I have reorganized fw memory.
The PAL/SAL/EFI firmware is now between 0 and 4Kb.
ACPI and system tables are between 4Kb and 12Kb.
Because the size is very small there might be an entry in the TLB even without 
the itr.

I think you should start debugging gu understand where and why the fault 
occurs.  You may modify Xen to disp more details when a fault is reflected.

Tristan.

___
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel


Re: [Xen-ia64-devel] PATCH: xencomm [2]

2006-10-02 Thread Akio Takebe
Hi, Aron

However on ia64 this isn't sufficient.  We need either for the modules
to load *earlier* (such as in the initramfs) or we need to use
dom0_mem=1G (for example)

I have some questions, though:

1. On x86, all of the memory is assigned to dom0, then it balloons to
   give memory to unpriv'd domains.  Why does ia64 give only 512M to
   dom0 instead of doing the same as x86?

I don't know, but I think this is for historical reasons.
Old Xen/IA64 (about 1 year ago) used only about 2GB.
So I think dom0_mem was defined to 512MB.

I made the patch, but the patch have a problem.
I'm debug it now.

2. Juan says that he can boot x86 xen with only 128M of memory, and
   there's still enough physically contiguous to load blkbk and netbk
   when xend loads.  So why does ia64 need 8x the memory to do avoid
   fragmentation?  It seems like we must be doing something wrong for
   memory to fragment so quickly...!
I also don't know about it.
This is strange, but insmod blkbk will fail in the following case on x86.
1. chkconfig xend off
2. and do many operations after boot
3. then service xend start
   --- insmod blkbk fail (probably)


On PAE the problem was fixed by loading blkbk/netbk in
/etc/init.d/xend.  This moves the module load early enough in the
system boot to fix it on that arch.
So the above solution is not good.
If we choice the early module load solution,
we should add it into rc.sysinit.

Best Regards,

Akio Takebe


___
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel


Re: [Xen-ia64-devel] Memory problem with mini-os

2006-10-02 Thread Dietmar Hahn
Am Montag, 2. Oktober 2006 09:57 schrieb Tristan Gingold:
 Le Lundi 02 Octobre 2006 09:35, Dietmar Hahn a écrit :
  Hi,
 
  after my vacation I switched from xen-ia64 change-set 11039 to 11635.
  And now I have a problem with my mini-os executing the efi/pal code
  (currently the getTime - function from efi). Every time the function gets
  called I get an trap 22 (Instruction access rights vector). The strange
  thing is that the trap also occurs if I don't do the mapping of the pal
  code.
  I inserted some trace messages in vcpu_itr_i() in xen to see all
  parameters. But it looks ok.
  For a test I removed the call of in ia64_itr() in efi_map_pal_code() in
  the linux code and nevertheless efi_gettimeofday() runs fine (linux as
  domU). It seems, there is another tlb entry for this page.
  I saw that the pal/efi stuff was reorganized in the new change-set.
  Can anybody give me a hint where to look in the memory handling or do
  some trace messages! I'm currently still not familiar enough with this
  stuff.

 Hi,

 After your comments I have reorganized fw memory.
To much honour ;-),

 The PAL/SAL/EFI firmware is now between 0 and 4Kb.
 ACPI and system tables are between 4Kb and 12Kb.
 Because the size is very small there might be an entry in the TLB even
 without the itr.

 I think you should start debugging gu understand where and why the fault
 occurs.  You may modify Xen to disp more details when a fault is reflected.

 Tristan.

I think I understand the problem!
I use the Alternate Data TLB trap for the data translations needed for 
efi/pal/sal/acpi. These translations are done with access rights RW. In XEN 
ITC and DTC seem to be unified, so the data tlb entry is used for the 
translation of the efi-code. And there is no X bit set - trap 22.
If I set RWX for the access rights of the data translations all runs well.
The better way is a ptc.l before mapping of the pal code via a itr.i!
Thanks.

DIetmar.

___
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel


[Xen-ia64-devel] Bind event channel of VT-i domain to vcpu 0

2006-10-02 Thread DOI Tsunehisa
Hi all,

  In x86 code, it was fixed about PV-on-HVM event channel in
xen-unstable.hg(cs:11698).

  I fixed with same logic in IPF code.

   * bind-evtchn.patch
 + bind event channels of VT-i domain to vcpu 0.

  I tested that PV-on-HVM works.

Thanks,
- Tsunehisa Doi
# HG changeset patch
# User [EMAIL PROTECTED]
# Node ID 124ef96ccd1db218e798514bd306a5a727462a47
# Parent  2bfd19fc1b79c6a6712c99f875f1fbf883af3f35
Bind event channels of VT-i domain to vcpu 0

Signed-off-by: Tsunehisa Doi [EMAIL PROTECTED]

diff -r 2bfd19fc1b79 -r 124ef96ccd1d xen/arch/ia64/vmx/vmx_process.c
--- a/xen/arch/ia64/vmx/vmx_process.c   Sun Oct 01 19:10:18 2006 -0600
+++ b/xen/arch/ia64/vmx/vmx_process.c   Mon Oct 02 20:30:53 2006 +0900
@@ -198,7 +198,7 @@ void leave_hypervisor_tail(struct pt_reg
 {
 struct domain *d = current-domain;
 struct vcpu *v = current;
-int callback_irq;
+
 // FIXME: Will this work properly if doing an RFI???
 if (!is_idle_domain(d) ) { // always comes from guest
 //struct pt_regs *user_regs = vcpu_regs(current);
@@ -226,11 +226,14 @@ void leave_hypervisor_tail(struct pt_reg
 //   v-arch.irq_new_pending = 1;
 //   }
 
-callback_irq = d-arch.hvm_domain.params[HVM_PARAM_CALLBACK_IRQ];
-if (callback_irq != 0  local_events_need_delivery()) {
-/*inject para-device call back irq*/
-v-vcpu_info-evtchn_upcall_mask = 1;
-vmx_vcpu_pend_interrupt(v, callback_irq);
+if (v-vcpu_id == 0) {
+int callback_irq =
+d-arch.hvm_domain.params[HVM_PARAM_CALLBACK_IRQ];
+if (callback_irq != 0  local_events_need_delivery()) {
+/*inject para-device call back irq*/
+v-vcpu_info-evtchn_upcall_mask = 1;
+vmx_vcpu_pend_interrupt(v, callback_irq);
+}
 }
 
 if ( v-arch.irq_new_pending ) {
___
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel

Re: [Xen-ia64-devel] PATCH: xencomm [2]

2006-10-02 Thread Akio Takebe
Hi, Aron

I checked the fragmentation on xen/ia64 with on xen/x86.

The following data is /proc/budddyinfo after starting each daemons.
1. buddyinfo of ia64 at the boottime. (dom0_mem=512MB)
Mon Oct  2 20:42:24 JST 2006
--iptables---
Node 0, zone  DMA  1  2  1  1  1  1  0
  0  0  1  9 
--iptables---
--portmap---
Node 0, zone  DMA  0  1  1  1  1  0  1
  0  1  0  1 
--portmap---
--ssh---
Node 0, zone  DMA  1  3  9  3  1  1  1
  1  0  0  0 
--ssh---
--sendmail---
Node 0, zone  DMA 19  7  5  1  5  1  0
  1  0  0  0 
--sendmail---
--haldaemon---
Node 0, zone  DMA 20 10  5  1  4  0  1
  1  0  0  0 
--haldaemon---

2. buddyinfo of x86 at the boottime. (dom0_mem=128MB)

Mon Oct  2 21:22:29 JST 2006
--iptables---
Node 0, zone  DMA 47 11  4  1  0  1  8
  4  1  0 11 
--iptables---
--portmap---
Node 0, zone  DMA  3  2  0  1  0  0  1
  0  1  1  9 
--portmap---
--ssh---
Node 0, zone  DMA 23  3  1  1  1  1  1
  3  2  0  3 
--ssh---
--sendmail---
Node 0, zone  DMA 26  5  4  0  0  0  4
  3  3  1  1 
--sendmail---
--haldaemon---
Node 0, zone  DMA 44 14 23 14  2  1  1
  0  1  0  0 
--haldaemon---
--before stating xend---
Node 0, zone  DMA 22 25 24 14  2  1  1
  0  1  0  0 
--before stating xend---

I think fragmentations of ia64 is a little quickly.
But allocate of oder:8 is hard on also x86 at the starting of xend.

My Xen/IA64 environment have 16 cpus(4 sockets, 8cores, 16threads), 
and Xen/x86 environment have 2core cpus(1 sockets, 2cores).
The difference of the fragmentations may be caused by the number of cpus.
What do you think about it?

Best Regards,

Akio Takebe

Akio Takebe wrote:  [Fri Sep 29 2006, 11:41:57AM EDT]
 Hmmm... But this issue was happened on x86-PAE.
 https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=201796
 
 Actually with dom0_mem=512M on FC6-ia64,
 we can success installing blkbk on rare occasions.

On PAE the problem was fixed by loading blkbk/netbk in
/etc/init.d/xend.  This moves the module load early enough in the
system boot to fix it on that arch.

However on ia64 this isn't sufficient.  We need either for the modules
to load *earlier* (such as in the initramfs) or we need to use
dom0_mem=1G (for example)

I have some questions, though:

1. On x86, all of the memory is assigned to dom0, then it balloons to
   give memory to unpriv'd domains.  Why does ia64 give only 512M to
   dom0 instead of doing the same as x86?

2. Juan says that he can boot x86 xen with only 128M of memory, and
   there's still enough physically contiguous to load blkbk and netbk
   when xend loads.  So why does ia64 need 8x the memory to do avoid
   fragmentation?  It seems like we must be doing something wrong for
   memory to fragment so quickly...!

Thanks,
Aron


___
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel


[Xen-ia64-devel] PATCH: prevents itc/ptc on shared_info space

2006-10-02 Thread Tristan Gingold
Hi,

this is a security patch: it detects itc/ptc on shared info space before the 
MCA...
Tested by booting dom0+domU.

Tristan.
# HG changeset patch
# User [EMAIL PROTECTED]
# Node ID 194bb24d456da885670dfb0022f15f87c15ac0fd
# Parent  2bfd19fc1b79c6a6712c99f875f1fbf883af3f35
Prevent domains to itc/ptd in shared_info_va.

Signed-off-by: Tristan Gingold [EMAIL PROTECTED]

diff -r 2bfd19fc1b79 -r 194bb24d456d xen/arch/ia64/xen/vcpu.c
--- a/xen/arch/ia64/xen/vcpu.c	Sun Oct 01 19:10:18 2006 -0600
+++ b/xen/arch/ia64/xen/vcpu.c	Mon Oct 02 13:31:13 2006 +0200
@@ -1314,12 +1314,21 @@ static inline void
 static inline void
 check_xen_space_overlap (const char *func, u64 base, u64 page_size)
 {
+	/* Overlaps can occur only in region 7.
+	   (This is an optimization to bypass all the checks).  */
+	if (REGION_NUMBER (base) != 7)
+		return;
+
 	/* Mask LSBs of base.  */
 	base = ~(page_size - 1);
 
 	/* FIXME: ideally an MCA should be generated...  */
 	if (range_overlap (HYPERVISOR_VIRT_START, HYPERVISOR_VIRT_END,
-			   base, base + page_size))
+			   base, base + page_size)
+	|| range_overlap (current-domain-arch.shared_info_va,
+			  current-domain-arch.shared_info_va 
+			  + XSI_SIZE + XMAPPEDREGS_SIZE,
+			  base, base + page_size))
 		panic_domain (NULL, %s on Xen virtual space (%lx)\n,
 			  func, base);
 }
diff -r 2bfd19fc1b79 -r 194bb24d456d xen/include/public/arch-ia64.h
--- a/xen/include/public/arch-ia64.h	Sun Oct 01 19:10:18 2006 -0600
+++ b/xen/include/public/arch-ia64.h	Mon Oct 02 13:31:13 2006 +0200
@@ -400,6 +400,7 @@ struct xen_ia64_boot_param {
 #define XSI_SIZE			(1  XSI_SHIFT)
 /* Log size of mapped_regs area (64 KB - only 4KB is used).  */
 #define XMAPPEDREGS_SHIFT		12
+#define XMAPPEDREGS_SIZE		(1  XMAPPEDREGS_SHIFT)
 /* Offset of XASI (Xen arch shared info) wrt XSI_BASE.  */
 #define XMAPPEDREGS_OFS			XSI_SIZE
 
___
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel

Re: [Xen-ia64-devel] Re: PATCH: xencomm [2]

2006-10-02 Thread Alex Williamson
On Mon, 2006-10-02 at 10:07 +0200, Tristan Gingold wrote:
 
 I have tried to reproduce the bug but I was not able to do so.
 I tried to saverestore domains created with:
   xm create -c domU_1 memory=2400 vcpus=4
 it never fails (I tried 4-5 times).
 
 According to the dump the error looks strange: dom0 tries to do an hypercall 
 (getmemlist I suppose) into a granted page.
 
 I have slightly modified the patch to add more details in the crash printf.  
 Could you retry with this patch ?  

Hi Tristan,

   Hmm, I'm not able to reproduce it with this patch either.  Is there
any functional change to this new 5a patch?  I'll look back through and
make sure I didn't break something merging it in last time.  Thanks,

Alex

-- 
Alex Williamson HP Open Source  Linux Org.


___
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel


Re: [Xen-ia64-devel] PATCH: xencomm [2]

2006-10-02 Thread Aron Griffis
Akio Takebe wrote:  [Mon Oct 02 2006, 08:45:22AM EDT]
 The following data is /proc/budddyinfo after starting each daemons.
 1. buddyinfo of ia64 at the boottime. (dom0_mem=512MB)
 Mon Oct  2 20:42:24 JST 2006
 ---iptables---Node 0, zone DMA  1  2  1  1  1  1  0  0  0  1  9 
 ---portmap--- Node 0, zone DMA  0  1  1  1  1  0  1  0  1  0  1 
 ---ssh--- Node 0, zone DMA  1  3  9  3  1  1  1  1  0  0  0 
 ---sendmail---Node 0, zone DMA 19  7  5  1  5  1  0  1  0  0  0 
 ---haldaemon---   Node 0, zone DMA 20 10  5  1  4  0  1  1  0  0  0 

These numbers seem considerably smaller than x86, even from the
start!

 2. buddyinfo of x86 at the boottime. (dom0_mem=128MB)
 
 ---iptables---Node 0, zone DMA 47 11  4  1  0  1  8  4  1  0 11 
 ---portmap--- Node 0, zone DMA  3  2  0  1  0  0  1  0  1  1  9 
 ---ssh--- Node 0, zone DMA 23  3  1  1  1  1  1  3  2  0  3 
 ---sendmail---Node 0, zone DMA 26  5  4  0  0  0  4  3  3  1  1 
 ---haldaemon---   Node 0, zone DMA 44 14 23 14  2  1  1  0  1  0  0 
 ---before xend--- Node 0, zone DMA 22 25 24 14  2  1  1  0  1  0  0 

x86 should also have a Normal zone (i.e. non-DMA) which probably has
even more available, but doesn't appear in this output.  I'm guessing
that the netbk and blkbk drivers aren't limited to DMA-capable pages.

 I think fragmentations of ia64 is a little quickly.
 But allocate of oder:8 is hard on also x86 at the starting of xend.
 
 My Xen/IA64 environment have 16 cpus(4 sockets, 8cores, 16threads), 
 and Xen/x86 environment have 2core cpus(1 sockets, 2cores).
 The difference of the fragmentations may be caused by the number of cpus.
 What do you think about it?

My ia64 test machine has only 2 cpus, so I don't think that's the only
factor.  But your data is very interesting, thanks for collecting it!

Regards,
Aron

___
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel


[Xen-ia64-devel] [PATCH] Add missing #include xen/keyhandler.h

2006-10-02 Thread Aron Griffis
Keir,

Please apply this to xen-3.0.3-testing and xen-unstable.  It fixes
a missing #include which results in an implicit declaration for
initialize_keytable (introduced by my own mistake in 828c0c89d830)

Thanks,
Aron

Signed-off-by: Aron Griffis [EMAIL PROTECTED]

diff -r f426f6e646eb -r bde321653d48 xen/arch/ia64/xen/xensetup.c
--- a/xen/arch/ia64/xen/xensetup.c  Mon Oct 02 18:04:56 2006 +0100
+++ b/xen/arch/ia64/xen/xensetup.c  Mon Oct 02 18:21:24 2006 -0400
@@ -18,6 +18,7 @@
 #include xen/domain.h
 #include xen/serial.h
 #include xen/trace.h
+#include xen/keyhandler.h
 #include asm/meminit.h
 #include asm/page.h
 #include asm/setup.h

___
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel


Re: [Xen-ia64-devel] Re: PATCH: xencomm [2]

2006-10-02 Thread Alex Williamson
Tristan,

   It seems to be working pretty reliably now.  I suspect my tools may
have been slightly out of sync.  I went ahead and applied these patches
(the a version w/o the extra debug, but with the extra file headers).
Thanks,

Alex

-- 
Alex Williamson HP Open Source  Linux Org.


___
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel


[Xen-ia64-devel] [PATCH] avoid long interrupt mask

2006-10-02 Thread Isaku Yamahata

avoid long time interrupt masking.
flush_vtlb_fro_context_switch() can be executed with interrupt enabled.

-- 
yamahata
# HG changeset patch
# User [EMAIL PROTECTED]
# Date 1153743925 -32400
# Node ID 1a2695d2a79a6f79826759e759a0a3d7abc13142
# Parent  c3f71a4ed653b5a643abf985e05d92039b98dec7
avoid long time interrupt masking.
flush_vtlb_fro_context_switch() can be executed with interrupt enabled.
PATCHNAME: avoid_long_time_interrupt_masking

Signed-off-by: Isaku Yamahata [EMAIL PROTECTED]

diff -r c3f71a4ed653 -r 1a2695d2a79a xen/arch/ia64/xen/domain.c
--- a/xen/arch/ia64/xen/domain.cMon Oct 02 14:09:49 2006 -0600
+++ b/xen/arch/ia64/xen/domain.cMon Jul 24 21:25:25 2006 +0900
@@ -190,8 +190,8 @@ void context_switch(struct vcpu *prev, s
__ia64_per_cpu_var(current_psr_ic_addr) = NULL;
 }
 }
+local_irq_restore(spsr);
 flush_vtlb_for_context_switch(current);
-local_irq_restore(spsr);
 context_saved(prev);
 }
 
___
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel

[Xen-ia64-devel] [PATCH] add perfc counter related to vTLB flush

2006-10-02 Thread Isaku Yamahata
add perfc counter related to vTLB flush

-- 
yamahata
# HG changeset patch
# User [EMAIL PROTECTED]
# Date 1156405495 -32400
# Node ID 545440872f603e60a0d457ca250e3b9eceb0bf53
# Parent  1a2695d2a79a6f79826759e759a0a3d7abc13142
add perfcounter for vTLB flush.
PATCHNAME: perfc_for_vtlb_flush

Signed-off-by: Isaku Yamahata [EMAIL PROTECTED]

diff -r 1a2695d2a79a -r 545440872f60 xen/arch/ia64/xen/domain.c
--- a/xen/arch/ia64/xen/domain.cMon Jul 24 21:25:25 2006 +0900
+++ b/xen/arch/ia64/xen/domain.cThu Aug 24 16:44:55 2006 +0900
@@ -101,6 +101,7 @@ static void flush_vtlb_for_context_switc
vhpt_flush();
}
local_flush_tlb_all();
+   perfc_incrc(flush_vtlb_for_context_switch);
}
 }
 
diff -r 1a2695d2a79a -r 545440872f60 xen/arch/ia64/xen/vhpt.c
--- a/xen/arch/ia64/xen/vhpt.c  Mon Jul 24 21:25:25 2006 +0900
+++ b/xen/arch/ia64/xen/vhpt.c  Thu Aug 24 16:44:55 2006 +0900
@@ -155,6 +155,8 @@ void vcpu_flush_vtlb_all(struct vcpu *v)
/* We could clear bit in d-domain_dirty_cpumask only if domain d in
   not running on this processor.  There is currently no easy way to
   check this.  */
+
+   perfc_incrc(vcpu_flush_vtlb_all);
 }
 
 static void __vcpu_flush_vtlb_all(void *vcpu)
@@ -178,6 +180,7 @@ void domain_flush_vtlb_all (void)
 __vcpu_flush_vtlb_all,
 v, 1, 1);
}
+   perfc_incrc(domain_flush_vtlb_all);
 }
 
 static void cpu_flush_vhpt_range (int cpu, u64 vadr, u64 addr_range)
@@ -200,6 +203,7 @@ void vcpu_flush_tlb_vhpt_range (u64 vadr
cpu_flush_vhpt_range (current-processor, vadr, 1UL  log_range);
ia64_ptcl(vadr, log_range  2);
ia64_srlz_i();
+   perfc_incrc(vcpu_flush_tlb_vhpt_range);
 }
 
 void domain_flush_vtlb_range (struct domain *d, u64 vadr, u64 addr_range)
@@ -236,6 +240,7 @@ void domain_flush_vtlb_range (struct dom
 
/* ptc.ga  */
ia64_global_tlb_purge(vadr,vadr+addr_range,PAGE_SHIFT);
+   perfc_incrc(domain_flush_vtlb_range);
 }
 
 static void flush_tlb_vhpt_all (struct domain *d)
diff -r 1a2695d2a79a -r 545440872f60 xen/include/asm-ia64/perfc_defn.h
--- a/xen/include/asm-ia64/perfc_defn.h Mon Jul 24 21:25:25 2006 +0900
+++ b/xen/include/asm-ia64/perfc_defn.h Thu Aug 24 16:44:55 2006 +0900
@@ -107,3 +107,12 @@ PERFPRIVOPADDR(get_ifa)
 PERFPRIVOPADDR(get_ifa)
 PERFPRIVOPADDR(thash)
 #endif
+
+// vhpt.c
+PERFCOUNTER_CPU(vcpu_flush_vtlb_all,   vcpu_flush_vtlb_all)
+PERFCOUNTER_CPU(domain_flush_vtlb_all, domain_flush_vtlb_all)
+PERFCOUNTER_CPU(vcpu_flush_tlb_vhpt_range,  vcpu_flush_tlb_vhpt_range)
+PERFCOUNTER_CPU(domain_flush_vtlb_range,domain_flush_vtlb_range)
+
+// domain.c
+PERFCOUNTER_CPU(flush_vtlb_for_context_switch,  
flush_vtlb_for_context_switch)
___
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel

[Xen-ia64-devel] [PATCH] add perfc counter to mm.c

2006-10-02 Thread Isaku Yamahata
add perfc counter to mm.c

-- 
yamahata
# HG changeset patch
# User [EMAIL PROTECTED]
# Date 1156405572 -32400
# Node ID de4490aa054d27c50c02fdbb3b1b02c74b19e753
# Parent  545440872f603e60a0d457ca250e3b9eceb0bf53
add perfcounter to mm.c
PATCHNAME: perfc_mm_c

Signed-off-by: Isaku Yamahata [EMAIL PROTECTED]

diff -r 545440872f60 -r de4490aa054d xen/arch/ia64/xen/mm.c
--- a/xen/arch/ia64/xen/mm.cThu Aug 24 16:44:55 2006 +0900
+++ b/xen/arch/ia64/xen/mm.cThu Aug 24 16:46:12 2006 +0900
@@ -1057,6 +1057,7 @@ assign_domain_page_replace(struct domain
 put_page(old_page);
 }
 }
+perfc_incrc(assign_domain_page_replace);
 }
 
 // caller must get_page(new_page) before
@@ -1117,6 +1118,7 @@ assign_domain_page_cmpxchg_rel(struct do
 
 domain_page_flush(d, mpaddr, old_mfn, new_mfn);
 put_page(old_page);
+perfc_incrc(assign_domain_pge_cmpxchg_rel);
 return 0;
 }
 
@@ -1189,6 +1191,7 @@ zap_domain_page_one(struct domain *d, un
 try_to_clear_PGC_allocate(d, page);
 }
 put_page(page);
+perfc_incrc(zap_dcomain_page_one);
 }
 
 unsigned long
@@ -1201,6 +1204,7 @@ dom0vp_zap_physmap(struct domain *d, uns
 }
 
 zap_domain_page_one(d, gpfn  PAGE_SHIFT, INVALID_MFN);
+perfc_incrc(dom0vp_zap_physmap);
 return 0;
 }
 
@@ -1246,6 +1250,7 @@ dom0vp_add_physmap(struct domain* d, uns
get_gpfn_from_mfn(mfn) != INVALID_M2P_ENTRY);
 assign_domain_page_replace(d, gpfn  PAGE_SHIFT, mfn, flags);
 //don't update p2m table because this page belongs to rd, not d.
+perfc_incrc(dom0vp_add_physmap);
 out1:
 put_domain(rd);
 return error;
@@ -1277,6 +1282,7 @@ create_grant_host_mapping(unsigned long 
get_gpfn_from_mfn(mfn) != INVALID_M2P_ENTRY);
 assign_domain_page_replace(d, gpaddr, mfn, (flags  GNTMAP_readonly)?
   ASSIGN_readonly: 
ASSIGN_writable);
+perfc_incrc(create_grant_host_mapping);
 return GNTST_okay;
 }
 
@@ -1336,6 +1342,7 @@ destroy_grant_host_mapping(unsigned long
 BUG_ON(page_get_owner(page) == d);//try_to_clear_PGC_allocate(d, page) is 
not needed.
 put_page(page);
 
+perfc_incrc(destroy_grant_host_mapping);
 return GNTST_okay;
 }
 
@@ -1396,6 +1403,7 @@ steal_page(struct domain *d, struct page
 free_domheap_page(new);
 return -1;
 }
+perfc_incrc(steal_page_refcount);
 }
 
 spin_lock(d-page_alloc_lock);
@@ -1465,6 +1473,7 @@ steal_page(struct domain *d, struct page
 list_del(page-list);
 
 spin_unlock(d-page_alloc_lock);
+perfc_incrc(steal_page);
 return 0;
 }
 
@@ -1482,6 +1491,8 @@ guest_physmap_add_page(struct domain *d,
 assign_domain_page_replace(d, gpfn  PAGE_SHIFT, mfn, ASSIGN_writable);
 
 //BUG_ON(mfn != ((lookup_domain_mpa(d, gpfn  PAGE_SHIFT)  _PFN_MASK)  
PAGE_SHIFT));
+
+perfc_incrc(guest_physmap_add_page);
 }
 
 void
@@ -1490,6 +1501,7 @@ guest_physmap_remove_page(struct domain 
 {
 BUG_ON(mfn == 0);//XXX
 zap_domain_page_one(d, gpfn  PAGE_SHIFT, mfn);
+perfc_incrc(guest_physmap_remove_page);
 }
 
 //XXX sledgehammer.
@@ -1502,6 +1514,7 @@ domain_page_flush(struct domain* d, unsi
 shadow_mark_page_dirty(d, mpaddr  PAGE_SHIFT);
 
 domain_flush_vtlb_all();
+perfc_incrc(domain_page_flush);
 }
 
 int
diff -r 545440872f60 -r de4490aa054d xen/include/asm-ia64/perfc_defn.h
--- a/xen/include/asm-ia64/perfc_defn.h Thu Aug 24 16:44:55 2006 +0900
+++ b/xen/include/asm-ia64/perfc_defn.h Thu Aug 24 16:46:12 2006 +0900
@@ -116,3 +116,17 @@ PERFCOUNTER_CPU(domain_flush_vtlb_range,
 
 // domain.c
 PERFCOUNTER_CPU(flush_vtlb_for_context_switch,  
flush_vtlb_for_context_switch)
+
+// mm.c
+PERFCOUNTER_CPU(assign_domain_page_replace, assign_domain_page_replace)
+PERFCOUNTER_CPU(assign_domain_pge_cmpxchg_rel,  
assign_domain_pge_cmpxchg_rel)
+PERFCOUNTER_CPU(zap_dcomain_page_one,  zap_dcomain_page_one)
+PERFCOUNTER_CPU(dom0vp_zap_physmap,dom0vp_zap_physmap)
+PERFCOUNTER_CPU(dom0vp_add_physmap,dom0vp_add_physmap)
+PERFCOUNTER_CPU(create_grant_host_mapping,  create_grant_host_mapping)
+PERFCOUNTER_CPU(destroy_grant_host_mapping, destroy_grant_host_mapping)
+PERFCOUNTER_CPU(steal_page_refcount,   steal_page_refcount)
+PERFCOUNTER_CPU(steal_page,steal_page)
+PERFCOUNTER_CPU(guest_physmap_add_page,
guest_physmap_add_page)
+PERFCOUNTER_CPU(guest_physmap_remove_page,  guest_physmap_remove_page)
+PERFCOUNTER_CPU(domain_page_flush, domain_page_flush)
___
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel

[Xen-ia64-devel] [PATCH] add perfc counter to p2m and m2p conversion

2006-10-02 Thread Isaku Yamahata
add perfc counter to p2m and m2p conversion

-- 
yamahata
# HG changeset patch
# User [EMAIL PROTECTED]
# Date 1156405631 -32400
# Node ID dfb7cbcad569ac2028ff3fadfa6e07f84bd7e48e
# Parent  de4490aa054d27c50c02fdbb3b1b02c74b19e753
add perfcounter of dom0vp_phystomach and dom0vp_machtophys
PATCHNAME: perfc_dom0vp_p2m_and_m2p

Signed-off-by: Isaku Yamahata [EMAIL PROTECTED]

diff -r de4490aa054d -r dfb7cbcad569 xen/arch/ia64/xen/dom0_ops.c
--- a/xen/arch/ia64/xen/dom0_ops.c  Thu Aug 24 16:46:12 2006 +0900
+++ b/xen/arch/ia64/xen/dom0_ops.c  Thu Aug 24 16:47:11 2006 +0900
@@ -256,6 +256,7 @@ do_dom0vp_op(unsigned long cmd,
 } else {
 ret = (ret  _PFN_MASK)  PAGE_SHIFT;//XXX pte_pfn()
 }
+perfc_incrc(dom0vp_phystomach);
 break;
 case IA64_DOM0VP_machtophys:
 if (!mfn_valid(arg0)) {
@@ -263,6 +264,7 @@ do_dom0vp_op(unsigned long cmd,
 break;
 }
 ret = get_gpfn_from_mfn(arg0);
+perfc_incrc(dom0vp_machtophys);
 break;
 case IA64_DOM0VP_zap_physmap:
 ret = dom0vp_zap_physmap(d, arg0, (unsigned int)arg1);
diff -r de4490aa054d -r dfb7cbcad569 xen/include/asm-ia64/perfc_defn.h
--- a/xen/include/asm-ia64/perfc_defn.h Thu Aug 24 16:46:12 2006 +0900
+++ b/xen/include/asm-ia64/perfc_defn.h Thu Aug 24 16:47:11 2006 +0900
@@ -130,3 +130,7 @@ PERFCOUNTER_CPU(guest_physmap_add_page, 
 PERFCOUNTER_CPU(guest_physmap_add_page,
guest_physmap_add_page)
 PERFCOUNTER_CPU(guest_physmap_remove_page,  guest_physmap_remove_page)
 PERFCOUNTER_CPU(domain_page_flush, domain_page_flush)
+
+// dom0vp
+PERFCOUNTER_CPU(dom0vp_phystomach, dom0vp_phystomach)
+PERFCOUNTER_CPU(dom0vp_machtophys, dom0vp_machtophys)
___
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel

[Xen-ia64-devel] [PATCH] don't export GPFN_ flags and shorten GPFN_INV_MASK to 1bit

2006-10-02 Thread Isaku Yamahata
don't export GPFN_xxx flags.
GPFN_INV_MASK taks 4bits, but 1 bit is sufficient.
I can boot domVTI with this patch.

-- 
yamahata
# HG changeset patch
# User [EMAIL PROTECTED]
# Date 1159844230 -32400
# Node ID b90464479100c0f240d720a517a38a4276af
# Parent  dfb7cbcad569ac2028ff3fadfa6e07f84bd7e48e
don't export GPFN_xxx flags.
GPFN_INV_MASK taks 4bits, but 1 bit is sufficient.
PATCHNAME: gpfn_mask

Signed-off-by: Isaku Yamahata [EMAIL PROTECTED]

diff -r dfb7cbcad569 -r b90464479555 
xen/include/asm-ia64/linux-xen/asm/pgtable.h
--- a/xen/include/asm-ia64/linux-xen/asm/pgtable.h  Thu Aug 24 16:47:11 
2006 +0900
+++ b/xen/include/asm-ia64/linux-xen/asm/pgtable.h  Tue Oct 03 11:57:10 
2006 +0900
@@ -68,6 +68,20 @@
 #ifdef XEN
 #define _PAGE_VIRT_D   (__IA64_UL(1)  53)/* Virtual dirty bit */
 #define _PAGE_PROTNONE 0
+
+/* domVTI */
+#define GPFN_MEM   (0UL  60) /* Guest pfn is normal mem */
+#define GPFN_FRAME_BUFFER  (1UL  60) /* VGA framebuffer */
+#define GPFN_LOW_MMIO  (2UL  60) /* Low MMIO range */
+#define GPFN_PIB   (3UL  60) /* PIB base */
+#define GPFN_IOSAPIC   (4UL  60) /* IOSAPIC base */
+#define GPFN_LEGACY_IO (5UL  60) /* Legacy I/O base */
+#define GPFN_GFW   (6UL  60) /* Guest Firmware */
+#define GPFN_HIGH_MMIO (7UL  60) /* High MMIO range */
+
+#define GPFN_IO_MASK   (7UL  60) /* Guest pfn is I/O type */
+#define GPFN_INV_MASK  (1UL  63) /* Guest pfn is invalid */
+
 #else
 #define _PAGE_PROTNONE (__IA64_UL(1)  63)
 #endif
diff -r dfb7cbcad569 -r b90464479555 xen/include/public/arch-ia64.h
--- a/xen/include/public/arch-ia64.hThu Aug 24 16:47:11 2006 +0900
+++ b/xen/include/public/arch-ia64.hTue Oct 03 11:57:10 2006 +0900
@@ -47,18 +47,6 @@ DEFINE_XEN_GUEST_HANDLE(xen_pfn_t);
 #ifndef __ASSEMBLY__
 
 typedef unsigned long xen_ulong_t;
-
-#define GPFN_MEM  (0UL  56) /* Guest pfn is normal mem */
-#define GPFN_FRAME_BUFFER (1UL  56) /* VGA framebuffer */
-#define GPFN_LOW_MMIO (2UL  56) /* Low MMIO range */
-#define GPFN_PIB  (3UL  56) /* PIB base */
-#define GPFN_IOSAPIC  (4UL  56) /* IOSAPIC base */
-#define GPFN_LEGACY_IO(5UL  56) /* Legacy I/O base */
-#define GPFN_GFW  (6UL  56) /* Guest Firmware */
-#define GPFN_HIGH_MMIO(7UL  56) /* High MMIO range */
-
-#define GPFN_IO_MASK (7UL  56)  /* Guest pfn is I/O type */
-#define GPFN_INV_MASK(31UL  59) /* Guest pfn is invalid */
 
 #define INVALID_MFN   (~0UL)
 
___
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel

Re: [Xen-ia64-devel] Bind event channel of VT-i domain to vcpu 0

2006-10-02 Thread Alex Williamson
On Mon, 2006-10-02 at 21:10 +0900, DOI Tsunehisa wrote:
 Hi all,
 
   In x86 code, it was fixed about PV-on-HVM event channel in
 xen-unstable.hg(cs:11698).
 
   I fixed with same logic in IPF code.
 
* bind-evtchn.patch
  + bind event channels of VT-i domain to vcpu 0.

   Applied.  Thanks,

Alex
-- 
Alex Williamson HP Open Source  Linux Org.


___
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel


[Xen-ia64-devel] Re: PATCH: prevents itc/ptc on shared_info space

2006-10-02 Thread Alex Williamson
On Mon, 2006-10-02 at 15:59 +0200, Tristan Gingold wrote:
 Hi,
 
 this is a security patch: it detects itc/ptc on shared info space before the 
 MCA...

  Applied.  Thanks,

Alex

-- 
Alex Williamson HP Open Source  Linux Org.


___
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel


Re: [Xen-ia64-devel] [PATCH] avoid long interrupt mask

2006-10-02 Thread Alex Williamson

   I've applied the following:

11705:1a2695d2a79a_avoid_long_time_interrupt_masking.patch
11706:545440872f60_perfc_for_vtlb_flush.patch
11707:de4490aa054d_perfc_mm_c.patch
11708:dfb7cbcad569_perfc_dom0vp_p2m_and_m2p.patch
11709:b90464479555_gpfn_mask.patch

Thanks,

Alex

-- 
Alex Williamson HP Open Source  Linux Org.


___
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel


[Xen-ia64-devel] [Patch][RFC] allocate all memory to dom0

2006-10-02 Thread Akio Takebe
Hi, all

This patch change default value of dom0_mem.
Current xen/ia64, default value of dom0_mem is 512MB.
This patch change it from 512MB to almost total memory(like xen/x86).


Signed-off-by: Akio Takebe [EMAIL PROTECTED]

I test the patch.
But I have a problem.
I cannot boot current xen/ia64 with dom0_mem=4G.

The below is boot log.
 \ \/ /___ _ __   |___ / / _ \_   _ _ __  ___| |_ __ _| |__ | | ___ 
  \  // _ \ '_ \|_ \| | | |__| | | | '_ \/ __| __/ _` | '_ \| |/ _ \
  /  \  __/ | | |  ___) | |_| |__| |_| | | | \__ \ || (_| | |_) | |  __/
 /_/\_\___|_| |_| |(_)___/\__,_|_| |_|___/\__\__,_|_.__/|_|\___|

 http://www.cl.cam.ac.uk/netos/xen
 University of Cambridge Computer Laboratory

 Xen version 3.0-unstable (root@) (gcc version 3.4.4 20050721 (Red Hat 3.
4.4-2)) Mon Oct  2 19:27:12 JST 2006
 Latest ChangeSet: Sun Oct 01 19:10:18 2006 -0600 11701:2bfd19fc1b79

(XEN) Console output is synchronous.
(XEN) Xen command line: BOOT_IMAGE=scsi0:\EFI\redhat\../xen/xen.gz-
takebe  dom0_mem=4G com2=115200,8n1 console=com2,vga sync_console 
(XEN) xen image pstart: 0x400, xenheap pend: 0x800
(XEN) Xen patching physical address access by offset: 0x0
(XEN) find_memory: efi_memmap_walk returns max_page=bffee
(XEN) Before xen_heap_start: f4129bd8
(XEN) After xen_heap_start: f4148000
(XEN) Init boot pages: 0x1d8 - 0x400.
(XEN) Init boot pages: 0x800 - 0x7f708000.
(XEN) Init boot pages: 0x7fe58000 - 0x7feb8000.
(XEN) Init boot pages: 0x1 - 0x1c000.
(XEN) Init boot pages: 0x28000 - 0x2fd99b000.
(XEN) Init boot pages: 0x2fe806eb0 - 0x2fedec010.
(XEN) Init boot pages: 0x2fedec070 - 0x2fedeff59.
(XEN) Init boot pages: 0x2fedeffc7 - 0x2fedf3000.
(XEN) Init boot pages: 0x2fef319d4 - 0x2fef4e010.
(XEN) Init boot pages: 0x2fef4ea00 - 0x2ffe14000.
(XEN) Init boot pages: 0x2ffe8 - 0x2fffb8000.
(XEN) System RAM: 8166MB (8362688kB)
(XEN) size of virtual frame_table: 20480kB
(XEN) virtual machine to physical table: f3a00090 size: 4144kB
(XEN) max_page: 0xbffee
(XEN) Xen heap: 62MB (64224kB)
(XEN) ACPI: RSDP (v002 INTEL ) @ 
0x7ff0c000
(XEN) ACPI: XSDT (v001 INTEL  SR870BN4 0x01072002 MSFT 0x00010013) @ 
0x7ff0c090
(XEN) ACPI: FADT (v003 INTEL  SR870BN4 0x01072002 MSFT 0x00010013) @ 
0x7ff0c138
(XEN) ACPI: MADT (v001 INTEL  SR870BN4 0x01072002 MSFT 0x00010013) @ 
0x7ff0c230
(XEN) ACPI: DSDT (v001  Intel SR870BN4 0x INTL 0x20030918) @ 
0x
(XEN) SAL 3.20: Intel Corp   SR870BN4 
version 3.0
(XEN) SAL Platform features: BusLock
(XEN) SAL: AP wakeup using external interrupt vector 0xf0
(XEN) cpu package is Multi-Core capable: number of cores=2
(XEN) cpu package is Multi-Threading capable: number of siblings=2
(XEN) avail:0x31700740, status:0x740,control:
0x3170, vm?0x100
(XEN) WARNING: no opcode provided from hardware(0)!!!
(XEN) vm buffer size: 1048576, order: 6
(XEN) cpu_init: current=f40d8000
(XEN) vm_buffer: 0xf7e0
(XEN) vhpt_init: vhpt paddr=0x1fffe, end=0x1fffe
(XEN) iosapic_system_init: Disabling PC-AT compatible 8259 interrupts
(XEN) ACPI: Local APIC address e800fee0
(XEN) ACPI: LSAPIC (acpi_id[0x00] lsapic_id[0xc4] lsapic_eid[0x18] 
enabled)
(XEN) CPU 0 (0xc418) enabled (BSP)
(XEN) ACPI: LSAPIC (acpi_id[0x01] lsapic_id[0xc6] lsapic_eid[0x18] 
enabled)
(XEN) CPU 1 (0xc618) enabled
(XEN) ACPI: LSAPIC (acpi_id[0x02] lsapic_id[0xc1] lsapic_eid[0x18] 
enabled)
(XEN) CPU 2 (0xc118) enabled
(XEN) ACPI: LSAPIC (acpi_id[0x03] lsapic_id[0xc3] lsapic_eid[0x18] 
enabled)
(XEN) CPU 3 (0xc318) enabled
(XEN) ACPI: LSAPIC (acpi_id[0x04] lsapic_id[0xc5] lsapic_eid[0x18] 
enabled)
(XEN) CPU 4 (0xc518) enabled
(XEN) ACPI: LSAPIC (acpi_id[0x05] lsapic_id[0xc7] lsapic_eid[0x18] 
enabled)
(XEN) CPU 5 (0xc718) enabled
(XEN) ACPI: LSAPIC (acpi_id[0x06] lsapic_id[0xc0] lsapic_eid[0x98] 
enabled)
(XEN) CPU 6 (0xc098) enabled
(XEN) ACPI: LSAPIC (acpi_id[0x07] lsapic_id[0xc2] lsapic_eid[0x98] 
enabled)
(XEN) CPU 7 (0xc298) enabled
(XEN) ACPI: LSAPIC (acpi_id[0x08] lsapic_id[0xc4] lsapic_eid[0x98] 
enabled)
(XEN) CPU 8 (0xc498) enabled
(XEN) ACPI: LSAPIC (acpi_id[0x09] lsapic_id[0xc6] lsapic_eid[0x98] 
enabled)
(XEN) CPU 9 (0xc698) enabled
(XEN) ACPI: LSAPIC (acpi_id[0x0a] lsapic_id[0xc1] lsapic_eid[0x98] 
enabled)
(XEN) CPU 10 (0xc198) enabled
(XEN) ACPI: LSAPIC (acpi_id[0x0b] lsapic_id[0xc3] lsapic_eid[0x98] 
enabled)
(XEN) CPU 11 (0xc398) enabled
(XEN) ACPI: LSAPIC (acpi_id[0x0c] lsapic_id[0xc5] lsapic_eid[0x98] 
enabled)
(XEN) CPU 12 (0xc598) enabled
(XEN) ACPI: LSAPIC (acpi_id[0x0d] lsapic_id[0xc7] lsapic_eid[0x98] 
enabled)
(XEN) CPU 13 (0xc798) enabled
(XEN) ACPI: LSAPIC (acpi_id[0x0e] lsapic_id[0xc0] lsapic_eid[0x18] 
enabled)
(XEN) CPU 14 (0xc018) enabled
(XEN) ACPI: LSAPIC (acpi_id[0x0f] 

[Xen-ia64-devel] [PATCH] make MAX_SKBUFF_ORDER page size independent

2006-10-02 Thread Isaku Yamahata

make MAX_SKBUFF_ORDER page size independent.
Presumably the original value 4 comes from 64KB = (4KB  4) which is
ip packet maximum size.
However page size is not always 4KB. e.g. IA64 default page size is 16KB.

-- 
yamahata
# HG changeset patch
# User [EMAIL PROTECTED]
# Date 1159851774 -32400
# Node ID 93590d295f381e50cd95a161379da3ec9129fdfe
# Parent  121ea4bab59bed2bbcb6fee321d49d138954fcfd
make MAX_SKBUFF_ORDER page size independent.
Presumably the original value 4 comes from 64KB = (4KB  4) which is
ip packet maximum size.
However page size is not always 4KB. e.g. IA64 default page size is 16KB.
PATCHNAME: max_skbuff_order

Signed-off-by: Isaku Yamahata [EMAIL PROTECTED]

diff -r 121ea4bab59b -r 93590d295f38 
linux-2.6-xen-sparse/drivers/xen/core/skbuff.c
--- a/linux-2.6-xen-sparse/drivers/xen/core/skbuff.cTue Oct 03 13:46:08 
2006 +0900
+++ b/linux-2.6-xen-sparse/drivers/xen/core/skbuff.cTue Oct 03 14:02:54 
2006 +0900
@@ -18,7 +18,7 @@
 /*static*/ kmem_cache_t *skbuff_cachep;
 EXPORT_SYMBOL(skbuff_cachep);
 
-#define MAX_SKBUFF_ORDER 4
+#define MAX_SKBUFF_ORDER (16 - PAGE_SHIFT)
 static kmem_cache_t *skbuff_order_cachep[MAX_SKBUFF_ORDER + 1];
 
 static struct {
___
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel