| 
         
xen-devel
[Xen-devel] RE: Kernel BUG at arch/x86/mm/tlb.c:61
 
| 
To:  | 
<jeremy@xxxxxxxx> | 
 
| 
Subject:  | 
[Xen-devel] RE: Kernel BUG at arch/x86/mm/tlb.c:61 | 
 
| 
From:  | 
MaoXiaoyun <tinnycloud@xxxxxxxxxxx> | 
 
| 
Date:  | 
Mon, 25 Apr 2011 11:15:15 +0800 | 
 
| 
Cc:  | 
xen devel <xen-devel@xxxxxxxxxxxxxxxxxxx>, giamteckchoon@xxxxxxxxx,	konrad.wilk@xxxxxxxxxx | 
 
| 
Delivery-date:  | 
Sun, 24 Apr 2011 20:16:30 -0700 | 
 
| 
Envelope-to:  | 
www-data@xxxxxxxxxxxxxxxxxxx | 
 
| 
Importance:  | 
Normal | 
 
| 
In-reply-to:  | 
<4DA8B715.9080508@xxxxxxxx> | 
 
| 
List-help:  | 
<mailto:xen-devel-request@lists.xensource.com?subject=help> | 
 
| 
List-id:  | 
Xen developer discussion <xen-devel.lists.xensource.com> | 
 
| 
List-post:  | 
<mailto:xen-devel@lists.xensource.com> | 
 
| 
List-subscribe:  | 
<http://lists.xensource.com/mailman/listinfo/xen-devel>,	<mailto:xen-devel-request@lists.xensource.com?subject=subscribe> | 
 
| 
List-unsubscribe:  | 
<http://lists.xensource.com/mailman/listinfo/xen-devel>,	<mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe> | 
 
| 
References:  | 
<COL0-MC1-F14hmBzxHs00230882@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx>,	<BLU157-w488E5FEBD5E2DBC0666EF1DAA70@xxxxxxx>,	<BLU157-w5025BFBB4B1CDFA7AA0966DAA90@xxxxxxx>,	<BLU157-w540B39FBA137B4D96278D2DAA90@xxxxxxx>,	<BANLkTimgh_iip27zkDPNV9r7miwbxHmdVg@xxxxxxxxxxxxxx>,	<BANLkTimkMgYNyANcKiZu5tJTL4==zdP3xg@xxxxxxxxxxxxxx>,	<BLU157-w116F1BB57ABFDE535C7851DAA80@xxxxxxx>,	<4DA3438A.6070503@xxxxxxxx>,	<BLU157-w2C6CD57CEA345B8D115E8DAAB0@xxxxxxx>,	<BLU157-w36F4E0A7503A357C9DE6A3DAAB0@xxxxxxx>,	<20110412100000.GA15647@xxxxxxxxxxxx>,	<BLU157-w14B84A51C80B41AB72B6CBDAAD0@xxxxxxx>,	<BANLkTinNxLnJxtZD68ODLSJqafq0tDRPfw@xxxxxxxxxxxxxx>,	<BLU157-w30A1A208238A9031F0D18EDAAD0@xxxxxxx>,	<BLU157-w383D1A2536480BCD4C0E0EDAAD0@xxxxxxx>	<BLU157-w42DAD248C94153635E9749DAAC0@xxxxxxx>,	<4DA8B715.9080508@xxxxxxxx> | 
 
| 
Sender:  | 
xen-devel-bounces@xxxxxxxxxxxxxxxxxxx | 
 
 
 
  
> Date: Fri, 15 Apr 2011 14:22:29 -0700 > From: jeremy@xxxxxxxx > To: tinnycloud@xxxxxxxxxxx > CC: giamteckchoon@xxxxxxxxx; xen-devel@xxxxxxxxxxxxxxxxxxx; konrad.wilk@xxxxxxxxxx > Subject: Re: Kernel BUG at arch/x86/mm/tlb.c:61 >  > On 04/15/2011 05:23 AM, MaoXiaoyun wrote: > > Hi: > > > > Could the crash related to this patch ? > > http://git.kernel.org/?p=linux/kernel/git/jeremy/xen.git;a=commitdiff;h=45bfd7bfc6cf32f8e60bb91b32349f0b5090eea3 > > > > Since now TLB state change to TLBSTATE_OK(mmu_context.h:40) is before > > cpumask_clear_cpu(line 49). > > Could it possible that right after execute line 40 of mmu_context.h, > > CPU revice IPI from other CPU to > > flush the mm, and when in interrupt, find the TLB state happened to be > > TLBSTATE_OK. Which conflicts. >  > Does reverting it help? >  > J 
  
Hi Jeremy: 
  
    The lastest test result shows the reverting didn't help. 
    Kernel panic exactly at the same place in tlb.c. 
  
    I have question about TLB state, from the stack,  
    xen_do_hypervisor_callback-> xen_evtchn_do_upcall->... ->drop_other_mm_ref 
  
    What  cpu_tlbstate.state should be,  could  TLBSTATE_OK or TLBSTATE_LAZY all be possible?  
    That is after a hypercall from userspace, state will be TLBSTATE_OK, and 
      if from kernel space, state will be TLBSTATE_LAZE ?  
  
       thanks. 
     
 [<ffffffff8100e4a4>] drop_other_mm_ref+0x2a/0x53 
 [<ffffffff81087224>] generic_smp_call_function_single_interrupt+0xd8/0xfc 
 [<ffffffff810100e8>] xen_call_function_single_interrupt+0x13/0x28 
 [<ffffffff810a936a>] handle_IRQ_event+0x66/0x120 
 [<ffffffff810aac5b>] handle_percpu_irq+0x41/0x6e 
 [<ffffffff8128c1a8>] __xen_evtchn_do_upcall+0x1ab/0x27d 
 [<ffffffff8128dcf9>] xen_evtchn_do_upcall+0x33/0x46 
 [<ffffffff81013efe>] xen_do_hypervisor_callback+0x1e/0x30 
 >  > > > > Thanks. > > > > arch/x86/include/asm/mmu_context.h > > > > 33 static inline void switch_mm(struct mm_struct *prev, struct > > mm_struct *next, > > 34 <+++<+++<+++ struct task_struct *tsk) > > 35 { > > 36 <+++unsigned cpu = smp_processor_id(); > > 37 > > 38 <+++if (likely(prev != next)) { > > 39 #ifdef CONFIG_SMP > > 40 <+++<+++percpu_write(cpu_tlbstate.state, TLBSTATE_OK); > > 41 <+++<+++percpu_write(cpu_tlbstate.active_mm, next); > > 42 #endif > > 43 <+++<+++cpumask_set_cpu(cpu, mm_cpumask(next)); > > 44 > > 45 <+++<+++/* Re-load page tables */ > > 46 <+++<+++load_cr3(next->pgd); > > 47 > > 48 <+++<+++/* stop flush ipis for the previous mm */ > > 49 <+++<+++cpumask_clear_cpu(cpu, mm_cpumask(p
 rev)); > > > > > 
 
   		 	   		  
 |  
 _______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 
 |   
 
| <Prev in Thread] | 
Current Thread | 
[Next in Thread>
 |  
- [Xen-devel] Kernel BUG at arch/x86/mm/tlb.c:61, (continued)
- [Xen-devel] Kernel BUG at arch/x86/mm/tlb.c:61, MaoXiaoyun
 - [Xen-devel] Re: Kernel BUG at arch/x86/mm/tlb.c:61, Konrad Rzeszutek Wilk
 - [Xen-devel] RE: Kernel BUG at arch/x86/mm/tlb.c:61, MaoXiaoyun
 
- [Xen-devel] RE: Kernel BUG at arch/x86/mm/tlb.c:61, MaoXiaoyun
 - [Xen-devel] Re: Kernel BUG at arch/x86/mm/tlb.c:61, Teck Choon Giam
 - [Xen-devel] RE: Kernel BUG at arch/x86/mm/tlb.c:61, MaoXiaoyun
 - [Xen-devel] RE: Kernel BUG at arch/x86/mm/tlb.c:61, MaoXiaoyun
 - [Xen-devel] RE: Kernel BUG at arch/x86/mm/tlb.c:61, MaoXiaoyun
 - [Xen-devel] Re: Kernel BUG at arch/x86/mm/tlb.c:61, Jeremy Fitzhardinge
 - [Xen-devel] RE: Kernel BUG at arch/x86/mm/tlb.c:61, MaoXiaoyun
 
- [Xen-devel] RE: Kernel BUG at arch/x86/mm/tlb.c:61,
MaoXiaoyun <=
 - RE: [Xen-devel] RE: Kernel BUG at arch/x86/mm/tlb.c:61, Tian, Kevin
 - RE: [Xen-devel] RE: Kernel BUG at arch/x86/mm/tlb.c:61, MaoXiaoyun
 - RE: [Xen-devel] RE: Kernel BUG at arch/x86/mm/tlb.c:61, Tian, Kevin
 
    
- Re: [Xen-devel] RE: Kernel BUG at arch/x86/mm/tlb.c:61, Jeremy Fitzhardinge
 - RE: [Xen-devel] RE: Kernel BUG at arch/x86/mm/tlb.c:61, Tian, Kevin
 - RE: [Xen-devel] RE: Kernel BUG at arch/x86/mm/tlb.c:61, MaoXiaoyun
 - RE: [Xen-devel] RE: Kernel BUG at arch/x86/mm/tlb.c:61, Tian, Kevin
 
- [Xen-devel] RE: Kernel BUG at arch/x86/mm/tlb.c:61, MaoXiaoyun
 - [Xen-devel] RE: Kernel BUG at arch/x86/mm/tlb.c:61, MaoXiaoyun
 - [Xen-devel] RE: Kernel BUG at arch/x86/mm/tlb.c:61, MaoXiaoyun
 
 
 |  
  
 | 
    |