Re: [PATCH] WorkStruct: Implement generic UP cmpxchg() where an arch doesn't support it

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Fri, 8 Dec 2006, Russell King wrote:
> 
> No such restriction on ARM.
> 
> Also not true.  The architectural implementation is:

I checked the ARM manuals, and quite fankly, they don't back you up.

They do not claim that the physical address tag is byte-granular, and in 
fact they make it pretty clear that the same tag is used for all the 
sizes, which implies that the tag granularity is NOT byte granular, but 
likely something else. 

Both the manuals I checked also say: "Other events might cause the tag to 
be cleared", without going into particular details other than saying that 
a region that is marked non-shared might still clear the tag on access by 
other CPU's - but they leave it open whether that's by design or not.

In other words, if there actually is an architectural guarantee that 
ldrex/strex are really as strong as you imply, it's not in the standard 
architecture manuals from ARM at least for the ARM11562 or the ARM1136.

So I suspect you're wrong, and that the ldrex/strex tags actually are not 
all that different from other archtiectures which tend to have cacheline 
granularities or more (I _think_ the original alpha granularity was the 
whole address space, and any cache traffic would clear it. That's _really_ 
pathetically weak, but hey, I might remember wrong, and it was the very 
first implementation. I doubt ARM is _that_ weak, but I doubt it's as 
strong as you claim).

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

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux