netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Moni Shoua <monis@voltaire.com>
To: Roland Dreier <rdreier@cisco.com>, Jay Vosburgh <fubar@us.ibm.com>
Cc: jeff@garzik.org, David Miller <davem@davemloft.net>,
	ogerlitz@voltaire.com, netdev@vger.kernel.org,
	Moni Levy <monil@voltaire.com>
Subject: Re: [PATCH] IB/ipoib: Bound the net device to the ipoib_neigh structue
Date: Sun, 14 Oct 2007 17:51:15 +0200	[thread overview]
Message-ID: <47123AF3.9010201@voltaire.com> (raw)
In-Reply-To: <ada3awhcsnw.fsf@cisco.com>

Roland Dreier wrote:
>  > It happens only when ib interfaces are slaves of a bonding device.
>  > I thought before that the stuck is in napi_disable() but it's almost right.
>  > I put prints before and after call to napi_disable and see that it is called twice.
>  > I'll try to investigate in this direction.
>  > 
>  > ib0: stopping interface
>  > ib0: before napi_disable
>  > ib0: after napi_disable
>  > ib0: downing ib_dev
>  > ib0: All sends and receives done.
>  > ib0: stopping interface
>  > ib0: before napi_disable
> 
> Yes, two napi_disable()s in a row without a matching napi_enable()
> will deadlock.  I guess the question is why the ipoib interface is
> being stopped twice.
> 
> If you just take the net-2.6.24 tree (without bonding patches), does
> bonding for ethernet interfaces work OK, or is there a similar problem
> with double napi_disable()?  How about bonding of ethernet after this
> batch of bonding patches?
> 
>  - R.

Ok, I think I know what happens here.
When bonding gets an NETDEV_GOING_DONW event it releases the slave and 
by the way closes the slave device (this is a new code). ifconfig on the other hand
closes the deivice one more time and this is why we see 2 napi_disable() in a row.

The fix in my opinion is in bonding - it should react to NETDEV_UNREGISTER and not to NETDEV_GOING_DONW.
I want to test this point and if it's good I'll submit new patches.


thanks
  MoniS


      parent reply	other threads:[~2007-10-14 15:51 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <11916151232222-git-send-email-fubar@us.ibm.com>
     [not found] ` <470C200D.4010705@pobox.com>
2007-10-10  0:56   ` [PATCH] IB/ipoib: Bound the net device to the ipoib_neigh structue Jeff Garzik
2007-10-10  1:12     ` David Miller
2007-10-10  1:18       ` Jay Vosburgh
2007-10-10 16:03         ` Moni Shoua
2007-10-10 18:31           ` Roland Dreier
2007-10-11 14:48             ` Moni Shoua
2007-10-11 20:17               ` Roland Dreier
2007-10-11 22:01                 ` Jay Vosburgh
2007-10-13 15:24                 ` Moni Shoua
2007-10-14 15:51                 ` Moni Shoua [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=47123AF3.9010201@voltaire.com \
    --to=monis@voltaire.com \
    --cc=davem@davemloft.net \
    --cc=fubar@us.ibm.com \
    --cc=jeff@garzik.org \
    --cc=monil@voltaire.com \
    --cc=netdev@vger.kernel.org \
    --cc=ogerlitz@voltaire.com \
    --cc=rdreier@cisco.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).