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

Re: [Xen-devel] dom0 crashing on extreme I/O


  • To: Christopher Clark <christopher.clark@xxxxxxxxxxxx>
  • From: Diwaker Gupta <diwaker.lists@xxxxxxxxx>
  • Date: Thu, 12 Jan 2006 10:32:40 -0800
  • Cc: Ian Pratt <m+Ian.Pratt@xxxxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx
  • Delivery-date: Thu, 12 Jan 2006 18:39:17 +0000
  • Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=eN98oqrHMd/xgVVZPl8e+er0pX+ZqdxAL1P0lAMxGBcpol95Uhpw5Sji0Jx2SzlJ9H/UfZuklX97vpo1cDLH4eysHOPEpPm4e7ajTmF+mEWapShjbbjJRB5Bg6YoIQ6G9lfW8pr16x4wR6TRvfekdJo1yl6yLbdbS+BX9i4Uvio=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

Hi Christopher,

Curiously I'm unable to reproduce the bug today (I just recompiled my
sources -- I didn't pull in any new changes though, so I don't think
anything changed) even without your patch.

I'll report back if I see the crash again,

Thanks,
Diwaker

On 1/12/06, Christopher Clark <christopher.clark@xxxxxxxxxxxx> wrote:
> Hi Diwaker
>
> Could you add this patch to your build of the domain 0 kernel and try to
> exercise the fault again please?
>
> thanks
>
> Christopher
>
> diff -r 821368442403 linux-2.6-xen-sparse/drivers/xen/netback/netback.c
> --- a/linux-2.6-xen-sparse/drivers/xen/netback/netback.c
>     Thu Jan 12 11:45:49 2006
> +++ b/linux-2.6-xen-sparse/drivers/xen/netback/netback.c
>     Thu Jan 12 14:36:56 2006
> @@ -212,6 +212,14 @@
>                 vdata   = (unsigned long)skb->data;
>                 old_mfn = virt_to_mfn(vdata);
>
> +        if ( ((old_mfn & 0xfff) == 0x001) && (old_mfn > 0x10000000UL) )
> +        {
> +            printk("XXX: nasty mfn from p2m: v:%p p:%p m:%p\n",
> +                    vdata, __pa(vdata), old_mfn );
> +            /* HACK: let's try shifting it until it looks sane... */
> +            old_mfn >>= 12;
> +        }
> +
>                 /* Memory squeeze? Back off for an arbitrary while. */
>                 if ((new_mfn = alloc_mfn()) == 0) {
>                         if ( net_ratelimit() )
>
>
>
> On 1/12/06, Ian Pratt < m+Ian.Pratt@xxxxxxxxxxxx> wrote:
> >
> >
> > > I have 3 VMs, two running webservers and the 3rd running
> > > netperf/iperf. This is a multi-cpu setup, with dom0 on CPU-0
> > > and all the remaining VMs on a separate CPU.
> > >
> > > Currently my dom0 has 528M of memory, while each VM has around 160M.
> > > Under high loads, the system crashes. I'm pasting a
> > > representative crash here:
> > >
> > > file=grant_table.c, line=729) gnttab_transfer: out-of-range
> > > or xen frame 2f016001
> > > (XEN) (file=grant_table.c, line=729) gnttab_transfer:
> > > out-of-range or xen frame 2f017001
> >
> > Interesting. We've seen this very occasionally before, but this is the
> > first time on a 32b kernel.
> >
> > The clue is that the errant frame numbers always end 001, and are
> > actually valid if you shift them >>12.
> >
> > It would be very helpful if you could work on a minimal repro case,
> > ideally with only one domU.
> >
> > Chris: any extra debugging that might be helpful?
> >
> > Thanks,
> > Ian
> >
> >
> > > (XEN) (file=grant_table.c, line=729) gnttab_transfer:
> > > out-of-range or xen frame 18fca001
> > > (XEN) (file=grant_table.c, line=729) gnttab_transfer:
> > > out-of-range or xen frame 18fcb001
> > > (XEN) (file=grant_table.c, line=729) gnttab_transfer:
> > > out-of-range or xen frame 2270c001
> > > (XEN) (file=grant_table.c, line=729) gnttab_transfer:
> > > out-of-range or xen frame 2270d001 ------------[ cut here
> > > ]------------ kernel BUG at
> drivers/xen/netback/netback.c:335!
> > > invalid operand: 0000 [#1]
> > > Modules linked in: ipt_physdev iptable_filter ip_tables video
> > > thermal processor fan button battery ac md sworks_agp agpgart
> > > dm_snapshot dm_zero dm_mirror ext3 jbd dm_mod mptscsih
> > > mptbase sd_mod scsi_mod
> > > CPU:    0
> > > EIP:    0061:[<c02c6782>]    Not tainted VLI
> > > EFLAGS: 00010246   (2.6.12.6-xen0)
> > > EIP is at net_rx_action+0x4c2/0x4f0
> > > eax: 0000fff7   ebx: df26b620   ecx: 00000042   edx: c04b8920
> > > esi: dc073480   edi: 00000000   ebp: c04b3900   esp: c0a23d28
> > > ds: 007b   es: 007b   ss: 0069
> > > Process ksoftirqd/0 (pid: 2, threadinfo=c0a22000 task=c0a16510)
> > > Stack: c04b38e0 c0362d90 80000000 c0363b36 dbad7d80 db6fee80
> > > df26b400 5cb34f36
> > >        00000088 00000000 0003d700 db6ff012 c04b8920 00000106
> > > 00a23e2c c05e5000
> > >        00000000 c0363a90 00000001 00000000 00000000 00000001
> > > c0a16510 00000000 Call Trace:
> > >  [<c0362d90>] br_forward_finish+0x0/0x80  [<c0363b36>]
> > > br_handle_frame_finish+0xa6/0x160  [<c0363a90>]
> > > br_handle_frame_finish+0x0/0x160  [<c01423a5>]
> > > kmem_getpages+0x65/0x90  [<c013ece2>]
> __rmqueue+0xb2/0xf0
> > > [<c032302d>] nf_iterate+0x5d/0x90  [<c0367aa0>]
> > > br_nf_pre_routing_finish+0x0/0x420
> > >  [<c0367aa0>] br_nf_pre_routing_finish+0x0/0x420
> > >  [<c032336e>] nf_hook_slow+0x6e/0x120
> > >  [<c0367aa0>] br_nf_pre_routing_finish+0x0/0x420
> > >  [<c0363a90>] br_handle_frame_finish+0x0/0x160
> [<c0368549>]
> > > br_nf_pre_routing+0x319/0x4a0  [<c0367aa0>]
> > > br_nf_pre_routing_finish+0x0/0x420
> > >  [<c032302d>] nf_iterate+0x5d/0x90
> > >  [<c0363a90>] br_handle_frame_finish+0x0/0x160
> [<c0363a90>]
> > > br_handle_frame_finish+0x0/0x160  [<c032336e>]
> > > nf_hook_slow+0x6e/0x120  [<c0363a90>]
> > > br_handle_frame_finish+0x0/0x160  [<c0363db3>]
> > > br_handle_frame+0x1c3/0x260  [<c0363a90>]
> > > br_handle_frame_finish+0x0/0x160  [<c03188d3>]
> > > netif_receive_skb+0x113/0x230  [<c02820bf>]
> > > tg3_rx+0x2cf/0x490  [<c027e246>]
> tg3_restart_ints+0x26/0xa0
> > > [<c02823a6>] tg3_poll+0x126/0x1a0  [<c0121660>]
> > > ksoftirqd+0x0/0xa0  [<c0121660>] ksoftirqd+0x0/0xa0
> > > [<c01214ff>] tasklet_action+0x5f/0xa0  [<c0121152>]
> > > __do_softirq+0x52/0xc0  [<c0121207>]
> do_softirq+0x47/0x60
> > > [<c01216b9>] ksoftirqd+0x59/0xa0  [<c013079d>]
> > > kthread+0xad/0xf0  [<c01306f0>] kthread+0x0/0xf0
> > > [<c0106855>] kernel_thread_helper+0x5/0x10
> > > Code: 0f 0b 44 01 38 19 3a c0 90 e9 5a fe ff ff b8 74 64 40
> > > c0 e8 31 ac e5 ff eb 8f c7 04 24 9c 10 3b c0 e8 b3 60 e5 ff
> > > 8d 76 00 eb 92 <0f> 0b 4f 01 38 19 3a c0 e9 4c fe ff ff 0f 0b
> > > 2a 01 38 19 3a c0  <0>Kernel panic - not syncing: Fatal
> > > exception in interrupt
> > >  (XEN) Domain 0 shutdown: rebooting machine.
> > >
> > > NOTE: the line number in netback.c (335) might not be very
> > > useful for reference. I have some additional instrumentation
> > > in netback, so the line number might not match the files in
> > > xen-unstable.hg
> > >
> > > Will increasing dom0 memory further help? Or increasing the
> > > size of the rings?
> > > --
> > > Web/Blog/Gallery: http://floatingsun.net
> > >
> >
>
>


--
Web/Blog/Gallery: http://floatingsun.net
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.