On 11/24/2011 02:34 AM, Richard Earnshaw wrote:
>> +  unsigned long s[8];       /* r4-r12 */
> 
> R4-R12 is 9 registers.  But R12 is callee clobbered.  So is the code or
> the comment incorrect?

The comment is clearly a typo.

>> +/* ARM generally uses a fixed page size of 4K.  */
>> +#define PAGE_SIZE   4096
>> +#define FIXED_PAGE_SIZE     1
> 
> So I know that on AArch64 there's some interest in moving to larger
> pages than this in order to reduce the number of TLB walks needed; this
> may impact on the ARM code as well, long term.
> 
>> +
>> +/* ??? The size of one line in hardware caches (in bytes). */
>> +#define HW_CACHELINE_SIZE 64
> 
> You can't assume this.  It can vary per core (and I think it may even
> vary depending on the cache level).

We don't actually need perfectly accurate values for these.  The only place 
that we use HW_CACHELINE_SIZE is an attempt to put shared data and thread 
private data in different lines to prevent ping ponging.


r~

Reply via email to