lkml.org 
[lkml]   [2016]   [Feb]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 1/3] tools/liblockdep: add userspace version of READ_ONCE
    On Thu, Feb 11, 2016 at 12:33:30AM +0100, Alfredo Alvarez Fernandez wrote:
    > From: Alfredo Alvarez Fernandez <alfredoalvarezfernandez@gmail.com>
    >
    > This was added to the kernel code in 1658d35ead5d ("list: Use
    > READ_ONCE() when testing for empty lists")
    > There's nothing special we need to do about it in userspace.
    >
    > Signed-off-by: Alfredo Alvarez Fernandez <alfredoalvarezfernandez@gmail.com>
    > ---
    > tools/lib/lockdep/uinclude/linux/compiler.h | 1 +
    > 1 file changed, 1 insertion(+)
    >
    > diff --git a/tools/lib/lockdep/uinclude/linux/compiler.h b/tools/lib/lockdep/uinclude/linux/compiler.h
    > index 6386dc3..fd3e56a 100644
    > --- a/tools/lib/lockdep/uinclude/linux/compiler.h
    > +++ b/tools/lib/lockdep/uinclude/linux/compiler.h
    > @@ -3,6 +3,7 @@
    >
    > #define __used __attribute__((__unused__))
    > #define unlikely
    > +#define READ_ONCE(x) (x)
    > #define WRITE_ONCE(x, val) x=(val)

    I would argue we'd still very much want the volatile cast for both READ
    and WRITE_ONCE().

    Why do these things have different semantics between user and kernel
    space?

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