Re: [PATCH] Fix the cpumask rewrite

From: Vojtech Pavlik
Date: Sat Jun 26 2004 - 14:14:51 EST


On Sat, Jun 26, 2004 at 11:54:24AM -0700, Linus Torvalds wrote:

> On Sat, 26 Jun 2004, Vojtech Pavlik wrote:
> >
> > At least input pretty much relies on the fact that bitops don't need
> > locking and act as memory barriers.
>
> Well, plain test_bit() has always been more relaxed than the others, and
> has never implied a memory barrier. Only the "test_and_set/clear()" things
> imply memory barriers.

Ouch. I'll have to revisit some code then.

> What we _could_ do (without changing any existing rules) is to add a
> "__test_bit()" that is the relaxed version that doesn't do any of the
> volatile etc. That would match the "__" versions of the other bit
> operations.
>
> Then people who know that they use the bits without any volatility issues
> can use that one, and let the compiler optimize more.
>
> Hmm?

That makes a lot of sense to me, as we already have the __ variants for
most of the other bitops already.

--
Vojtech Pavlik
SuSE Labs, SuSE CR
-
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/