Port-xen archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pae MP on cherry-xenmp



On 8/30/11 12:49 PM, Cherry G. Mathew wrote:
"mhitch" == Michael L Hitch<mhitch%lightning.msu.montana.edu@localhost>  writes:


If that works for you, I can check it in ( don't have a>4GB RAM box).

Like so:

Index: sys/arch/xen/x86/cpu.c
===================================================================
RCS file: /cvsroot/src/sys/arch/xen/x86/cpu.c,v
retrieving revision 1.56.2.9
diff -u -r1.56.2.9 cpu.c
--- sys/arch/xen/x86/cpu.c      30 Aug 2011 12:53:46 -0000      1.56.2.9
+++ sys/arch/xen/x86/cpu.c      30 Aug 2011 19:44:49 -0000
@@ -1334,7 +1334,7 @@
                        panic("%s: failed to allocate L3 pglist for CPU %d (ret 
%d)\n",
                            __func__, cpu_index(ci), ret);

-               ci->ci_pae_l3_pdirpa = vmap->phys_addr;
+               ci->ci_pae_l3_pdirpa = 
xen_pfn_to_cr3(x86_btop(VM_PAGE_TO_PHYS(vmap)));

                ci->ci_pae_l3_pdir = (paddr_t *)uvm_km_alloc(kernel_map, 
PAGE_SIZE, 0,
                    UVM_KMF_VAONLY | UVM_KMF_NOWAIT);


It wasn't clear to me whether this change (above) was supposed to be in addition to Michael's, or instead of it - but the change above does not get MP working for me, while Michael's does. (I haven't tried them together).

I did fairly quickly have the same panic Michael did (note that this is in a kernel including the per-cpu MMU queue commit you made about 45m ago).:

panic: kernel diagnostic assertion "gnt_entries[last_gnt_entry] == XENGNT_NO_ENTRY" failed: file "/Users/riz/Documents/code/netbsd/xenmpsrc/sys/arch/xen/xen/xengnt.c", line 208
fatal breakpoint trap in supervisor mode
trap type 1 code 0 eip c0136934 cs 9 eflags 246 cr2 caff6000 ilevel 6
Stopped in pid 75.1 (ssh) at    netbsd:breakpoint+0x4:  popl    %ebp
breakpoint(c047ee33,cb87fb88,ca705440,c0420927,1,cb41a2c0,cb87fb7c,c021fd42,0,4)
 at netbsd:breakpoint+0x4
panic(c04bd818,c047807d,c04ba60c,c04ba63c,d0,cb41a2c0,cb87fbbc,c0425e98,c047807d
,c04ba63c) at netbsd:panic+0x20c
kern_assert(c047807d,c04ba63c,d0,c04ba60c,974e9000,1,cb87fbdc,c0425f24,0,cb41a2c
0) at netbsd:kern_assert+0x39
xengnt_get_entry(0,cb41a2c0,0,1e6f323e,4,30e,cb87fc5c,c01c0934,0,974e9000) at ne
tbsd:xengnt_get_entry+0x168
xengnt_grant_access(0,974e9000,1,4,cb0a325c,0,1e5f3,0,0,0) at netbsd:xengnt_gran
t_access+0x24
xennet_softstart(cb0a2004,0,4,5,cb87fd00,0,cb87fc98,ca73a074,ca73a154,ca705440) a
t netbsd:xennet_softstart+0x514
softint_overlay(5,cb095040,bb230000,30,cb095040,1,cb87fd28,cb41a2c0,cb41b87c,0) a
t netbsd:softint_overlay+0x483
lwp_userret(cb41a2c0,cb87fd00,cb87fd28,bb25f000,bb25f000,cb41b87c,4,5,bb230000,3
0) at netbsd:lwp_userret+0x215
syscall(cb87fd48,bb4000b3,1f,bf7f001f,bb60001f,bb230000,30,bf7fbf68,bb63b398,0) a
t netbsd:syscall+0x15f
ds          cb0a0011
es          c04b0011    copyright+0x383d1
fs          31
gs          cb870011
edi         cb0a325c
esi         c04bd818    copyright+0x45bd8
ebp         cb87fb3c
ebx         104
edx         0
ecx         c04bd818    copyright+0x45bd8
eax         1
eip         c0136934    breakpoint+0x4
cs          9
eflags      246
esp         cb87fb3c
ss          11
netbsd:breakpoint+0x4:  popl    %ebp
db{1}>




Home | Main Index | Thread Index | Old Index