lkml.org 
[lkml]   [2013]   [Oct]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 1/6] net: ip4_datagram_connect: Use correct form of statistics update
From
Date
On Wed, 2013-10-16 at 10:35 +0200, Peter Zijlstra wrote:
> On Tue, Oct 15, 2013 at 12:47:23PM -0500, Christoph Lameter wrote:
> > ip4_datagram_connect is called with BH processing enabled. Therefore
> > we cannot use IP_INC_STATS_BH but must use IP_INC_STATS which disables
> > BH handling before incrementing the counter.
> >
> > The following trace is triggered without this patch:
> >
> > [ 9293.806634] __this_cpu_add operation in preemptible [00000000] code: ntpd/2150
>
> You lost the BUG there; that really needs to be there:
>
> - BUG makes people pay attention
> - This was an actual BUG wasn't it?
>
> Sure there can be false positives, but in all cases people should amend
> the code. Sometimes with a comment explaining why the raw primitive
> should be used; sometimes to fix an actual bug, but a patch needs to be
> written. Therefore BUG!

Yep this is a real BUG for linux 2.6.36+ on 32bit arches,

The effect of this bug is that on 32bit arches, we might corrupt
a seqcount : Later, we can spin forever on it.

In linux 2.6.36 we converted IP mib from 32 to 64 bits, therefore this
fix should be backported up to 2.6.36

Prior to 2.6.36, the bug was that some increments of SNMP stat could be
lost, because two cpus could access the same location, hardly a
problem...

Thanks




\
 
 \ /
  Last update: 2013-10-16 11:41    [W:0.145 / U:4.916 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site