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:
parent
7fa00cd0ab
commit
2d5320a818
@ -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. */
|
||||
|
@ -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 */
|
||||
|
Loading…
Reference in New Issue
Block a user