Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock().
From: Jarek Poplawski <hidden>
Date: 2008-08-14 08:31:34
On Thu, Aug 14, 2008 at 06:16:32PM +1000, Herbert Xu wrote:
On Thu, Aug 14, 2008 at 07:59:07AM +0000, Jarek Poplawski wrote:quoted
net: Change handling of the __QDISC_STATE_SCHED flag in net_tx_action(). Change handling of the __QDISC_STATE_SCHED flag in net_tx_action() to enable proper control in dev_deactivate_queue(). Now, if this flag is seen as unset under root_lock means a qdisc can't be netif_scheduled. Signed-off-by: Jarek Poplawski <redacted>Well this probably works in practice but at least on paper it is vulnerable to live-lock if the net_tx_action side always gets to the trylock stage and loses to the waiting side. An aliveness flag would be the safest.
I'm not sure of your point... This patch is only to fix my yesterday's doubt #1, and it doesn't introduce, I hope, any new live-lock vulnerabity. So, if you mean doubt #2, there is needed a separate patch, but I'm not sure there is a need to add a flag. I've thougt about a counter in a Qdisc for consecutive requeues with netif_schedule, so we could break after some limit. Of course, your idea could be simpler and better, but if I could only see some code... Cheers, Jarek P.