From: Herbert Xu <[EMAIL PROTECTED]>
Date: Sun, 3 Sep 2006 21:15:07 +1000
> So here is a simple patch to remove the tx lock from dev_watchdog_up.
> In 2.6.19 we can eliminate the unnecessary __dev_watchdog_up and
> replace it with dev_watchdog_up.
>
> Signed-off-by: Herbert Xu <[EMAIL PROTECTED]>
On Mon, Sep 04, 2006 at 12:44:14PM +0400, Alexey Kuznetsov wrote:
>
> Seems, it serializes mod_timer and timer handler to keep timer
> in predictable state. Maybe, this is not necessary. A priori, it is required.
>
> Note that in dev_watchdog_down() queue_lock is released before
> taking xmit_loc
Hello!
> This path obviously breaks assumption 1) and therefore can lead to ABBA
> dead-locks.
Yes...
> I've looked at the history and there seems to be no reason for the lock
> to be held at all in dev_watchdog_up. The lock appeared in day one and
> even there it was unnecessary.
Seems, it s
Herbert Xu wrote:
> [NET]: Drop tx lock in dev_watchdog_up
>
> On Sat, Sep 02, 2006 at 08:39:28PM +, Krzysztof Halasa wrote:
>> ===
>> [ INFO: possible circular locking dependency detected ]
>>
Herbert Xu <[EMAIL PROTECTED]> writes:
> [NET]: Drop tx lock in dev_watchdog_up
> --- a/net/sched/sch_generic.c
> +++ b/net/sched/sch_generic.c
> @@ -238,9 +238,7 @@ void __netdev_watchdog_up(struct net_dev
>
> static void dev_watchdog_up(struct net_device *dev)
> {
> - netif_tx_lock_bh(de
[NET]: Drop tx lock in dev_watchdog_up
On Sat, Sep 02, 2006 at 08:39:28PM +, Krzysztof Halasa wrote:
>
> ===
> [ INFO: possible circular locking dependency detected ]
> ---
> swapper/0 is t
Francois Romieu <[EMAIL PROTECTED]> writes:
> dev_activate takes BH disabling locks only. How could a softirq happen
> on the same cpu and trigger a deadlock ?
That's BTW "possible circular locking dependency" and there is only
one CPU (no HT, single core - an old mobile Celeron P3).
I have to a
Krzysztof Halasa <[EMAIL PROTECTED]> :
[...]
> ===
> [ INFO: possible circular locking dependency detected ]
> ---
> swapper/0 is trying to acquire lock:
> (&dev->queue_lock){-+..}, at: [] dev_q