[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4656872C.9000701@cosmosbay.com>
Date: Fri, 25 May 2007 08:50:20 +0200
From: Eric Dumazet <dada1@...mosbay.com>
To: Herbert Xu <herbert@...dor.apana.org.au>
CC: Andrew Morton <akpm@...ux-foundation.org>, davem@...emloft.net,
netdev@...r.kernel.org, bugme-daemon@...zilla.kernel.org,
andsve@...il.com
Subject: Re: [Bugme-new] [Bug 8536] New: Kernel drops UDP packets silently
when reading from certain proc file entries
Herbert Xu a écrit :
> Andrew Morton <akpm@...ux-foundation.org> wrote:
>>> It is possible to introduce UDP packet losses by reading
>>> the proc file entry /proc/net/tcp. The really strange thing is that
>>> the error counters for packet drops are not increased.
>
> Please try this patch and let us know if it helps.
>
> [TCPv4]: Improve BH latency in /proc/net/tcp
>
> Currently the code for /proc/net/tcp disable BH while iterating
> over the entire established hash table. Even though we call
> cond_resched_softirq for each entry, we still won't process
> softirq's as regularly as we would otherwise do which results
> in poor performance when the system is loaded near capacity.
>
> This anomaly comes from the 2.4 code where this was all in a
> single function and the local_bh_disable might have made sense
> as a small optimisation.
>
> The cost of each local_bh_disable is so small when compared
> against the increased latency in keeping it disabled over a
> large but mostly empty TCP established hash table that we
> should just move it to the individual read_lock/read_unlock
> calls as we do in inet_diag.
>
But its not really true : cond_resched_softirq() is called for
each bucket in hash table, empty or not.
If this patch really helps, this means cond_resched_softirq()
doesnt work at all and should be fixed, or just zapped as it
is seldom used.
-
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