On Tue, Nov 04, 2008 at 09:49:19AM +0100, Bastian Blank wrote: > On Tue, Nov 04, 2008 at 08:30:16AM +0000, Ian Campbell wrote: > > However I assume the workaround is there for a specific purpose, what > > was it? > A crash in mprotect.
I took another look into the original crash. | BUG: unable to handle kernel paging request at cefb81c0 | IP: [<c015ec88>] handle_mm_fault+0x4d6/0xe78 | *pdpt = 00000000a8072027 *pde = 00000000b62fd067 *pte = 80000000a8f19061 | Oops: 0003 [#1] SMP | Modules linked in: ipv6 ext3 jbd mbcache thermal_sys | | Pid: 1093, comm: test Not tainted (2.6.26-1-xen-686 #1) | EIP: 0061:[<c015ec88>] EFLAGS: 00010282 CPU: 0 | EIP is at handle_mm_fault+0x4d6/0xe78 | EAX: aa1210e5 EBX: b7e38000 ECX: 80000000 EDX: 80000000 | ESI: 00000000 EDI: cefb81c0 EBP: c13c070c ESP: cfccdea8 | DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0069 | Process test (pid: 1093, ti=cfccc000 task=cfcb8da0 task.ti=cfccc000) [...] | Call Trace: | [<c0114947>] xen_tlb_flush_mask+0x28/0x39 | [<c0162b8f>] mprotect_fixup+0x6d3/0x735 | [<c010ee3e>] do_page_fault+0x684/0xbd6 | [<c0162d6b>] sys_mprotect+0x17a/0x1df | [<c0162dbd>] sys_mprotect+0x1cc/0x1df | [<c010e7ba>] do_page_fault+0x0/0xbd6 | [<c02ccbe5>] error_code+0x35/0x3c | ======================= [...] | EIP: [<c015ec88>] handle_mm_fault+0x4d6/0xe78 SS:ESP 0069:cfccdea8 | ---[ end trace a379c90432c095a5 ]--- Why would Xen inject a page fault into a tlb flush? The tlb flushs in the paravirt implementation looks completely different. Bastian -- Wait! You have not been prepared! -- Mr. Atoz, "Tomorrow is Yesterday", stardate 3113.2 -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]