netdev
[Top] [All Lists]

Re: PROBLEM: IProute hangs after running traffic shaping scripts

To: Patrick McHardy <kaber@xxxxxxxxx>
Subject: Re: PROBLEM: IProute hangs after running traffic shaping scripts
From: Thomas Graf <tgraf@xxxxxxx>
Date: Mon, 8 Nov 2004 14:54:31 +0100
Cc: Szymon Miotk <spam@xxxxxxxxxxxxx>, netdev@xxxxxxxxxxx
In-reply-to: <418ECE85.9090203@xxxxxxxxx>
References: <418B4C7C.8000402@xxxxxxxxxxxxx> <418EA032.7050507@xxxxxxxxx> <418ECE85.9090203@xxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
> +     /* unlink inner qdiscs from dev->qdisc_list immediately */
> +     if (qdisc->ops->cl_ops != NULL)
> +             list_add(&qdisc->list, &cql);

I think you should extend the above to:

if (qdisc->ops->cl_ops != NULL && !list_empty(&qdisc->list))

Otherwise you might unlink entries just added before the
rcu callback and it prevents an unneeded attempt to delete
qdiscs for inner classful qdiscs

Otherwise the patch looks very good.

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