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

Re: [Xen-devel] netif_suspend / resume


  • To: Jacob Gorm Hansen <jacobg@xxxxxxx>
  • From: Kip Macy <kip.macy@xxxxxxxxx>
  • Date: Sat, 21 May 2005 16:08:19 -0700
  • Cc: Ian Pratt <m+Ian.Pratt@xxxxxxxxxxxx>, Xen-devel@xxxxxxxxxxxxxxxxxxx
  • Delivery-date: Sat, 21 May 2005 23:07:51 +0000
  • Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=Nu4B2LvdYNMkB9tdglhdPScmx6l2FdsdZIFEXOEQCHBMEuEoYLu/qgzVPJmPzl7MwWhyNZOqiDLa7fU7LdKC10eokwvHbDI+H8oLsMlCXRBDtH/w2ZdpxpLAyqY7BmdKe2ScXxMPEXhn/X3DzomYA6qFlEminItyuzVxFBTewVM=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

If you're not averse to GDB you can use the gdbserver to look at the
state. If it is calling domain_crash you can enable coredump.
Evidently some interface has changed that has broken gdbserver for the
moment, but once I finish with -testing this weekend I'll probably get
to submitting a patch.

    -Kip

On 5/20/05, Jacob Gorm Hansen <jacobg@xxxxxxx> wrote:
> Ian Pratt wrote:
> 
> > The guest keeps its own shadow copy of the state as regards which pfn's
> > it has queued as {free, rx, tx}bufs. After a resume it 'gathers' those
> > pages and requeues the free and tx bufs to the new backend.
> >
> > We currently junk any outstanding rxbufs, but in reality there almost
> > never are any as the vif interrupt will be serviced before the suspend
> > thread gets to run. When we switch over to grant tables we'll be able to
> > process these on the destination too, as we'll know the memory has been
> > syncronized. It won't make difference, though.
> 
> With the latest unstable, I am trying to do this:
> 
>      __cli();
> 
>      netif_suspend();
>      time_suspend();
>      ctrl_if_suspend();
>      irq_suspend();
> 
> 
>      irq_resume();
>      ctrl_if_resume();
>      time_resume();
>      netif_resume();
> 
> 
>      __sti();
> 
> (The domU has no blockdev support compiled in).
> 
> But I immediately crash trying to reference 0x050d4286 in
> network_tx_buf_gc(), at the last instruction in the disasm below:
> 
> c0222e20 <network_tx_buf_gc>:
> c0222e20:   55                      push   %ebp
> c0222e21:   57                      push   %edi
> c0222e22:   56                      push   %esi
> c0222e23:   53                      push   %ebx
> c0222e24:   83 ec 04                sub    $0x4,%esp
> c0222e27:   8b 44 24 18             mov    0x18(%esp),%eax
> c0222e2b:   89 04 24                mov    %eax,(%esp)
> c0222e2e:   89 c6                   mov    %eax,%esi
> c0222e30:   81 c6 20 02 00 00       add    $0x220,%esi
> c0222e36:   83 be 88 00 00 00 02    cmpl   $0x2,0x88(%esi)
> c0222e3d:   74 06                   je     c0222e45 <network_tx_buf_gc+0x25>
> c0222e3f:   58                      pop    %eax
> c0222e40:   5b                      pop    %ebx
> c0222e41:   5e                      pop    %esi
> c0222e42:   5f                      pop    %edi
> c0222e43:   5d                      pop    %ebp
> c0222e44:   c3                      ret
> c0222e45:   8b 56 74                mov    0x74(%esi),%edx
> c0222e48:   90                      nop
> c0222e49:   8d b4 26 00 00 00 00    lea    0x0(%esi),%esi
> c0222e50:   8b 7a 08                mov    0x8(%edx),%edi
> c0222e53:   f0 83 44 24 00 00       lock addl $0x0,0x0(%esp)
> c0222e59:   8b 5e 6c                mov    0x6c(%esi),%ebx
> c0222e5c:   39 fb                   cmp    %edi,%ebx
> c0222e5e:   74 42                   je     c0222ea2 <network_tx_buf_gc+0x82>
> c0222e60:   0f b6 c3                movzbl %bl,%eax
> c0222e63:   8b 6e 74                mov    0x74(%esi),%ebp
> c0222e66:   8d 04 40                lea    (%eax,%eax,2),%eax
> c0222e69:   c1 e0 02                shl    $0x2,%eax
> c0222e6c:   8b 96 a8 00 00 00       mov    0xa8(%esi),%edx
> c0222e72:   01 e8                   add    %ebp,%eax
> c0222e74:   0f b7 40 10             movzwl 0x10(%eax),%eax
> c0222e78:   8b 8c 86 a8 00 00 00    mov    0xa8(%esi,%eax,4),%ecx
> c0222e7f:   89 94 86 a8 00 00 00    mov    %edx,0xa8(%esi,%eax,4)
> c0222e86:   89 86 a8 00 00 00       mov    %eax,0xa8(%esi)
> c0222e8c:   ff 89 84 00 00 00       decl   0x84(%ecx)
>                                             ^^^^^^^^^^
> Any hints for debugging this?
> 
> thanks,
> Jacob
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel
>

_______________________________________________
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®.