Paul Mackerras [off-list ref] writes:
On Mon, Jul 09, 2012 at 06:43:41PM +0530, Aneesh Kumar K.V wrote:
quoted
-#define USER_ESID_BITS 16
-#define USER_ESID_BITS_1T 4
+#define USER_ESID_BITS 18
+#define USER_ESID_BITS_1T 6
You also need to change the proto-VSID generation for kernel addresses
when you do this. If you don't you'll end up with some user processes
using the same VSIDs as we use for the kernel addresses, meaning that
those processes won't run very well...
Can you explain this more. right now we generate vsid as below
vsid_scramble(ea >> SID_SHIFT, 256M) for kernel
vsid_scramble((context << USER_ESID_BITS) | (ea >> SID_SHIFT), 256M);
for user
what changes are you suggesting ?
-aneesh