netdev
[Top] [All Lists]

Re: 2.6.7-rc3: unregister_netdevice: waiting for tun0 to become free. Us

To: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Subject: Re: 2.6.7-rc3: unregister_netdevice: waiting for tun0 to become free. Usage count = 1
From: Alexey Kuznetsov <kuznet@xxxxxxxxxxxxx>
Date: Wed, 16 Jun 2004 23:37:31 +0400
Cc: "David S. Miller" <davem@xxxxxxxxxx>, schwab@xxxxxxx, netdev@xxxxxxxxxxx, yoshfuji@xxxxxxxxxxxxxx
In-reply-to: <20040614124402.GA28519@xxxxxxxxxxxxxxxxxxx>
References: <20040613121514.6b3c1c8a.davem@xxxxxxxxxx> <E1BZeW1-0008Ny-00@xxxxxxxxxxxxxxxxxxxxxxxx> <20040613234142.GA32329@xxxxxxxxxxxxxxxxxxx> <20040613183622.3a814506.davem@xxxxxxxxxx> <20040614015013.GA11048@xxxxxxxxxxxxxxxxxxx> <20040613210725.70dbd016.davem@xxxxxxxxxx> <20040614042216.GA28669@xxxxxxxxxxxxxxxxxxx> <20040614102858.GA12343@xxxxxxxxxxxxxxxxxxx> <20040614124402.GA28519@xxxxxxxxxxxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mutt/1.5.6i
Hello!

> Alexey, if I've missed any subtle piece of logic there, please
> scream :)

The "logic" behind the check ("logic" is double quoted because
of that comment)  with dst_discard_out was to make
release only on the second attempt to unregister. In the past
unregister event used to be rebroadcast periodically until the unregister
finally succeeds. Now logic is different, so this check really
does not make sense.

Anyway, the comment remains damn true and the place is still
bug. It makes sense to think about waiting for at least one quiescent
state after detaching the stale device from dst and real dev_put() it.
Reference to RCU is not occasional, the job looks natural for it.

Alexey

<Prev in Thread] Current Thread [Next in Thread>