Re: [PATCH 0/2] jump label: 2.6.38 updates
From: David Miller
Date: Mon Feb 14 2011 - 17:32:38 EST
From: Steven Rostedt <rostedt@xxxxxxxxxxx>
Date: Mon, 14 Feb 2011 17:20:30 -0500
> On Mon, 2011-02-14 at 13:46 -0800, David Miller wrote:
>> From: Steven Rostedt <rostedt@xxxxxxxxxxx>
>> Date: Mon, 14 Feb 2011 16:39:36 -0500
>>
>> > Thus it is not about global, as global is updated by normal means and
>> > will update the caches. atomic_t is updated via the ll/sc that ignores
>> > the cache and causes all this to break down. IOW... broken hardware ;)
>>
>> I don't see how cache coherency can possibly work if the hardware
>> behaves this way.
>>
>> In cache aliasing situations, yes I can understand a L1 cache visibility
>> issue being present, but with kernel only stuff that should never happen
>> otherwise we have a bug in the arch cache flushing support.
>
> I guess the issue is, if you use ll/sc on memory, you must always use
> ll/sc on that memory, otherwise any normal read won't read the proper
> cache.
That also makes no sense at all.
Any update to the L2 cache must be snooped by the L1 cache and cause
an update, otherwise nothing can work correctly.
So every object we use cmpxchg() on in the kernel cannot work on this
architecture? Is that what you're saying?
If so, a lot of things we do will not work.
.
--
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/