Re: [RFC PATCH 04/14] sparc64: load shared id into context register 1

From: David Miller
Date: Sat Dec 17 2016 - 22:14:50 EST


From: Mike Kravetz <mike.kravetz@xxxxxxxxxx>
Date: Fri, 16 Dec 2016 10:35:27 -0800

> In current code, only context ID register 0 is set and used by the MMU.
> On sun4v platforms that support MMU shared context, there is an additional
> context ID register: specifically context register 1. When searching
> the TLB, the MMU will find a match if the virtual address matches and
> the ID contained in context register 0 -OR- context register 1 matches.
>
> Load the shared context ID into context ID register 1. Care must be
> taken to load register 1 after register 0, as loading register 0
> overwrites both register 0 and 1. Modify code loading register 0 to
> also load register one if applicable.
>
> Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx>

You can't make these register accesses if the feature isn't being
used.

Considering the percentage of applications which will actually use
this thing, incuring the overhead of even loading the shared context
register is simply unacceptable.