Re: OpenSSI preview on Debian Lenny (on x86_64)
John Hughes <[email protected]> Sat, 17 Apr 2010 10:26:32 +0200
| Newsgroups | gmane.linux.cluster.ssic.devel |
|---|---|
| Message-ID | <[email protected]> |
John Hughes wrote:
> With the current x86_64 kernel [migration] no longer crashes. :-)
>
Nope, migration using /proc/xxx/goto doesn't crash
but migration with sys_migrate crashes.
Entering kdb (current=0xffff81001f1d4720, pid 69223) on processor 0 Oops: <NULL>
due to oops @ 0xffffffff801794a2
r15 = 0x0000000000000000 r14 = 0xffff81001d0f6128
r13 = 0xffff81001d20e098 r12 = 0xffff81001d0f60c0
rbp = 0xffff81001d842800 rbx = 0x0000000000600000
r11 = 0xffff81001d45c440 r10 = 0xffff81001fb6c440
r9 = 0xffff81001fff5f68 r8 = 0xffff81001fff5f58
rax = 0x0000ff5300000018 rcx = 0x03fffffffffff000
rdx = 0x0000000000600000 rsi = 0x0000805300000018
rdi = 0xffff81001d0f60c0 orig_rax = 0xffffffffffffffff
rip = 0xffffffff801794a2 cs = 0x0000000000000010
eflags = 0x0000000000010296 rsp = 0xffff81001f79bc10
ss = 0xffff81001f79a000 ®s = 0xffff81001f79bb78
[0]kdb> bt
Stack traceback for pid 69223
0xffff81001f1d4720 69223 2 1 0 R 0xffff81001f1d49e0 *a.out
RSP RIP Function (args)
0xffff81001f79bc10 0xffffffff801794a2 pte_alloc_map+0x22 (0x0, 0x0, 0xffff81001d0f6110, 0x0, 0x1)
0xffff81001f79bc58 0xffffffff8026fc89 as_untranscribe+0x5e9 (0x0, 0xffff81001d0f60c0, 0x0, 0xffff81001f9f3a00, 0x4)
0xffff81001f79bd08 0xffffffff8026b917 full_data_unload_msg+0x57 (0xffff810000000001, 0xffffffff803c0e58, 0xffff81001f9a6640, 0x10e64, 0x0)
0xffff81001f79bd38 0xffffffff8026c21d migrate_pproc_unload_msg+0xfd (0x20, 0x1, 0xffff81001df561f0, 0x0, 0x300000000)
0xffff81001f79bd98 0xffffffff8026a1a3 migrate_server+0xf3 (0x73, 0xffff8100019097c0, 0x1f79be88, 0x386, 0xffff81001df561f0)
0xffff81001f79be68 0xffffffff80269163 migrate_server_setup+0x73
0xffff81001f79bf58 0xffffffff80110a38 child_rip+0x8
[0]kdb>
We appear to be here:
static int
as_do_pg(as_pg_info *apip, as_info *asip)
{
int error = 0;
struct mm_struct *mm = current->mm;
struct vm_area_struct *vma;
pgd_t * pgd;
pud_t * pud;
pmd_t * pmd;
pte_t * pte;
down_write(&mm->mmap_sem);
if (!(vma = find_vma(mm, apip->api_addr))) {
error = -EINVAL;
goto out_unlock_sem;
}
if (unlikely(anon_vma_prepare(vma))) {
error = -EAGAIN;
goto out_unlock_sem;
}
flush_dcache_page(apip->api_page);
pgd = pgd_offset(mm, apip->api_addr);
pud = pud_offset(pgd, apip->api_addr);
spin_lock(&mm->page_table_lock);
if (!(pmd = pmd_alloc(mm, pud, apip->api_addr))) {
error = -EAGAIN;
goto out_unlock_spin;
}
if (!(pte = pte_alloc_map(mm, pmd, apip->api_addr))) {
^^^ BANG!
error = -EAGAIN;
goto out_unlock_spin;
}
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev