[PATCH -V3 10/11] arch/powerpc: Use 32bit array for slb cache
Paul Mackerras
paulus at samba.org
Mon Jul 23 10:27:38 EST 2012
On Mon, Jul 09, 2012 at 06:43:40PM +0530, Aneesh Kumar K.V wrote:
> From: "Aneesh Kumar K.V" <aneesh.kumar at linux.vnet.ibm.com>
>
> With larger vsid we need to track more bits of ESID in slb cache
> for slb invalidate.
>
> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar at linux.vnet.ibm.com>
Minor comment below, but apart from that...
Reviewed-by: Paul Mackerras <paulus at samba.org>
> - sldi r11,r3,1 /* r11 = offset * sizeof(u16) */
> - rldicl r10,r10,36,28 /* get low 16 bits of the ESID */
> - add r11,r11,r13 /* r11 = (u16 *)paca + offset */
> - sth r10,PACASLBCACHE(r11) /* paca->slb_cache[offset] = esid */
> + sldi r11,r3,2 /* r11 = offset * sizeof(u32) */
> + rldicl r10,r10,36,28 /* get the 36 bits of the ESID */
You're correct that the rldicl instruction produces 36 bits of result,
and in fact it is equivalent to srdi r10,r10,28. If you're changing
the line you might as well change the instruction to the simpler form
too.
Paul.
More information about the Linuxppc-dev
mailing list