Re: [PATCH] powerpc: add support for PAGE_SIZEs greater than 4KB for
flat view
From: Ilya Yanok <hidden>
Date: 2008-09-26 23:44:30
Hello Benjamin, Benjamin Herrenschmidt wrote:
quoted
[snip]quoted
diff --git a/arch/powerpc/kernel/head_booke.h b/arch/powerpc/kernel/head_booke.h index fce2df9..4f802df 100644 --- a/arch/powerpc/kernel/head_booke.h +++ b/arch/powerpc/kernel/head_booke.h@@ -20,7 +20,9 @@ beq 1f; \ mfspr r1,SPRN_SPRG3; /* if from user, start at top of */\ lwz r1,THREAD_INFO-THREAD(r1); /* this thread's kernel stack */\ - addi r1,r1,THREAD_SIZE; \ + lis r11,THREAD_SIZE@h; \ + ori r11,r11,THREAD_SIZE@l; \ + add r1,r1,r11;\It would be nice if we could avoid the extra instruction here when the page sizes isn't big enough to require it.As a matter of fact, I don't see why THREAD_SIZE should ever need that, there is no reason to change the kernel stack size.
Well, this was introduced because of that: kernel/fork.c [179]: max_threads = mempages / (8 * THREAD_SIZE / PAGE_SIZE); With THREAD_SIZE=8K we will get mempages divided by zero if PAGE_SIZE is bigger than 64K. (Well, another reason not to use >64K pages). Not sure this is the right way to fix it. Regards, Ilya.