[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] netback Oops then xenwatch stuck in D state
On Thu, 2013-02-14 at 11:50 +0000, Jan Beulich wrote: > >>> On 14.02.13 at 12:38, Wei Liu <wei.liu2@xxxxxxxxxx> wrote: > > On Thu, 2013-02-14 at 11:34 +0000, Ian Campbell wrote: > >> On Thu, 2013-02-14 at 11:20 +0000, Wei Liu wrote: > >> > >> > I'm not convinced. netbk_tx_err only has one xenvif_put, however > >> > netbk_fatal_tx_err has two puts. > >> > >> One balances the get in poll_net_schedule_list (i.e. at the top of the > >> loop in xen_netbk_tx_build_gops. > >> > >> The other one I guess you mean the one in xenvif_carrier_off? This > >> balances the refcount taken in xenvif_connect, when the carrier is > >> brought up. > >> > >> In my testing I found that both were required or else things deadlock in > >> xenvif_disconnect with the refcnt stuck at 1. > >> > >> The eventual put in xenvif_disconnect is balanced by the initial count > >> of 1 in xenvif_alloc() > > > > Oh, I get what you mean now. Because the vif is down so > > xenvif_carrier_off is not invoked in disconnect path. > > > > But I think a better place to balance refcount taken in xenvif_connect > > is xenvif_disconnect, so I would rather move that xenvif_put in > > fatal_tx_err to xenvif_disconnect. > > I relatively certain this would make things worse, not better. > Oops, my mistake. Let it stay like this is just fine. Wei. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |