Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754349Ab0LJVJO (ORCPT ); Fri, 10 Dec 2010 16:09:14 -0500 Received: from smtp109.prem.mail.ac4.yahoo.com ([76.13.13.92]:23786 "HELO smtp109.prem.mail.ac4.yahoo.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1750893Ab0LJVJN (ORCPT ); Fri, 10 Dec 2010 16:09:13 -0500 X-Yahoo-SMTP: _Dag8S.swBC1p4FJKLCXbs8NQzyse1SYSgnAbY0- X-YMail-OSG: VKAbWsUVM1lsv22N0.BdaeAkl_bN6.UxuNI1a09bmXVVifI P9ws8CZPbtDcKh.Jv2Yve4eKcXp4fwNrB5JITZBoQpzudm9Bht5TY76A3I5D OuBOUJeYqqXN4BXi9_or5XZnmgKBNlq62UfKFLxjk.osnKdFTPhIZS9G3WVk UNftkb5MdG9ZfHpAlc1EYROdCOuD6Grx5vjH7TEoYcyqAxZjVOF53sA64yDA LaFpaYYVLmjHePF7VhczXJRb4i3GYSG_5kc8IWTMV5rjELOT0tJdA1zPRApc gCoXquqHCcP0_KSzC5JwxtQwctkXDEA5TrgtHXdrvXxa4lxs- X-Yahoo-Newman-Property: ymail-3 Date: Fri, 10 Dec 2010 15:09:08 -0600 (CST) From: Christoph Lameter X-X-Sender: cl@router.home To: Eric Dumazet cc: Peter Zijlstra , Venkatesh Pallipadi , Russell King - ARM Linux , Mikael Pettersson , Ingo Molnar , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, John Stultz Subject: Re: [BUG] 2.6.37-rc3 massive interactivity regression on ARM In-Reply-To: <1292014165.2746.9.camel@edumazet-laptop> Message-ID: References: <20101208142814.GE9777@n2100.arm.linux.org.uk> <1291851079-27061-1-git-send-email-venki@google.com> <1291899120.29292.7.camel@twins> <1291917330.6803.7.camel@twins> <1291920939.6803.38.camel@twins> <1291936593.13513.3.camel@laptop> <1291975704.6803.59.camel@twins> <1291987065.6803.151.camel@twins> <1291987635.6803.161.camel@twins> <1291988866.6803.171.camel@twins> <1292001500.3580.268.camel@edumazet-laptop> <1292003346.13513.30.camel@laptop> <1292004859.3580.387.camel@edumazet-laptop> <1292006788.13513.43.camel@laptop> <1292011644.13513.61.camel@laptop> <1292013590.2746.2.camel@edumazet-laptop> <1292014165.2746.9.camel@edumazet-laptop> User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1250 Lines: 33 On Fri, 10 Dec 2010, Eric Dumazet wrote: > > By the way, we need smp_wmb(), not barrier(), even only the "owner cpu" > can write into its 'percpu' seqcount. > > There is nothing special about a seqcount being percpu or a 'global' > one. We must have same memory barrier semantics. There is certainly a major difference in that execution of a stream of instructions on the same cpu is guaranteed to have a coherent view of the data. That is not affected by interrupts etc. > > this_cpu_write_seqcount_begin(&myseqcount); > this_cpu_add(mydata1, add1); > this_cpu_add(mydata2, add2); > this_cpu_inc(mydata3); > this_cpu_write_seqcount_end(&myseqcount); > > We protect the data[1,2,3] set with a seqcount, so need smp_wmb() in > both _begin() and _end() There is nothing to protect there since processing is on the same cpu. The data coherency guarantees of the processor will not allow anything out of sequence to affect execution. An interrupt f.e. will not cause updates to mydata1 to get lost. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/