Re: [PATCH 2/2]: atomic_t: Remove volatile from atomic_t definition

From: Eric Dumazet
Date: Fri May 21 2010 - 02:45:12 EST


Le jeudi 20 mai 2010 Ã 23:10 -0700, David Miller a Ãcrit :
> From: Nick Piggin <npiggin@xxxxxxx>
> Date: Fri, 21 May 2010 16:06:00 +1000
>
> > Actually, I bet we have a lot of bugs there with loading integers and
> > pointers atomically, where the code assumes the loaded value will not
> > be reloaded by the compiler, because it is an easy thing to assume.
>
> Alexey Kuznetsov was aware of this problem 8+ years ago when we were
> first adding fine-grained locking the the networking.
>
> > atomic_read_light could be useful though, for sure.
>
> I definitely think so. And every usage of it should have a big fat
> comment right next to it explaining how it's usage is valid in that
> spot :-)
> -

I really doubt a valid (and dully commented) usage of
atomic_read_light() will bring anything, but added complexity to API.

Generated code will be the same than atomic_read() in these cases,
unless some real factorization can be done inside a loop.

We still have some uneeded RMW atomic ops to remove, before even
thinking to optimise reads ;)



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/