lkml.org 
[lkml]   [2011]   [Jul]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH] bitops: Use volatile in generic atomic bitops.
From
On Wed, Jul 27, 2011 at 1:55 PM, Arnd Bergmann <arnd@arndb.de> wrote:
> On Wednesday 27 July 2011, Will Newton wrote:
>> The generic atomic bitops currently explicitly cast away the
>> volatile from the pointer passed to them. This will allow the
>> access to the bitfield to happen outside of the critical section
>> thus making the bitops no longer interrupt-safe. Remove this cast
>> and add a volatile keyword to make sure all accesses to the
>> bitfield happen inside the critical section.
>>
>> Signed-off-by: Will Newton <will.newton@imgtec.com>
>
> Have you observed this behavior? The interrupt disable/enable should
> always come with a barrier that should prevent the bitops from
> leaking out, so I don't see how this causes problems in practice.

Yes, although my arch does not have these barriers. Now I see from
memory-barriers.txt that lock/unlock are required to implement a
compiler barrier, sorry for the noise!


\
 
 \ /
  Last update: 2011-07-27 15:11    [W:0.051 / U:1.344 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site