[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-id: <47EC50BA.6080908@sun.com>
Date: Thu, 27 Mar 2008 18:58:18 -0700
From: Matheos Worku <Matheos.Worku@....COM>
To: Herbert Xu <herbert@...dor.apana.org.au>
Cc: David Miller <davem@...emloft.net>, jesse.brandeburg@...el.com,
jarkao2@...il.com, netdev@...r.kernel.org, hadi@...erus.ca
Subject: Re: 2.6.24 BUG: soft lockup - CPU#X
Herbert Xu wrote:
> On Thu, Mar 27, 2008 at 05:34:18PM -0700, David Miller wrote:
>
>> The first cpu will get into __qdisc_run(), but the other
>> ones will just q->enqueue() and exit since the first cpu
>> has indicated it is processing the qdisc.
>>
>
> Indeed. Since I created the problem it's only fair that I get
> to fix it too :)
>
> [NET]: Add preemption point in qdisc_run
>
> The qdisc_run loop is currently unbounded and runs entirely
> in a softirq. This is bad as it may create an unbounded softirq
> run.
>
> This patch fixes this by calling need_resched and breaking out
> if necessary.
>
> Signed-off-by: Herbert Xu <herbert@...dor.apana.org.au>
>
> Thanks,
>
Great.
In general, while the TX serialization improves performance in terms to
lock contention, wouldn't it reduce throughput since only one guy is
doing the actual TX at any given time. Wondering if it would be
worthwhile to have an enable/disable option specially for multi queue TX.
Regards
Matheos
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists