Increase the size of a reservation granule for TLB locks

A reservation granule on PowerPC is a cache line.

On e500mc and derivatives a cacheline size is 64 bytes, not 32.  Allocate
the maximum size permitted, but only utilize the size that is needed.  On
e500v1 and e500v2 the reservation granule will still be 32 bytes.
This commit is contained in:
Justin Hibbits 2018-02-27 04:38:27 +00:00
parent 7fa00cd0ab
commit 2d5320a818
2 changed files with 2 additions and 2 deletions

View File

@ -372,7 +372,7 @@ booke_init(u_long arg1, u_long arg2)
return (ret);
}
#define RES_GRANULE 32
#define RES_GRANULE cacheline_size
extern uintptr_t tlb0_miss_locks[];
/* Initialise a struct pcpu. */

View File

@ -82,7 +82,7 @@
/* Get the per-CPU data structure */
#define GET_CPUINFO(r) mfsprg0 r
#define RES_GRANULE 32
#define RES_GRANULE 64
#define RES_LOCK 0 /* offset to the 'lock' word */
#ifdef __powerpc64__
#define RES_RECURSE 8 /* offset to the 'recurse' word */