Consolidate stack size information into THREAD_SIZE_ORDER
PATCH 1/1 Consolidate stack size information into THREAD_SIZE_ORDER
This reduces the number of magic values in the code, as well as makes it easier to experiment with larger or smaller stack sizes.
PATCH FOLLOWS
--- arch/arm/include/asm/thread_info.h | 2 +- arch/arm/kernel/entry-header.S | 8 ++++---- arch/arm/mm/proc-macros.S | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-)
arch/arm/include/asm/thread_info.h +1 -1
@@ -16,7 +16,7 @@#include <asm/fpstate.h> #define THREAD_SIZE_ORDER 1 -#define THREAD_SIZE 8192 +#define THREAD_SIZE (4096 << THREAD_SIZE_ORDER)#define THREAD_START_SP (THREAD_SIZE - 8)#ifndef __ASSEMBLY__
arch/arm/kernel/entry-header.S +4 -4
@@ -109,8 +109,8 @@ .endm .macro get_thread_info, rd - mov \rd, sp, lsr #13 - mov \rd, \rd, lsl #13 + mov \rd, sp, lsr #12 + THREAD_SIZE_ORDER + mov \rd, \rd, lsl #12 + THREAD_SIZE_ORDER .endm @
@@ -150,8 +150,8 @@ .macro get_thread_info, rd mov \rd, sp - lsr \rd, \rd, #13 - mov \rd, \rd, lsl #13 + lsr \rd, \rd, #12 + THREAD_SIZE_ORDER + mov \rd, \rd, lsl #12 + THREAD_SIZE_ORDER .endm @
arch/arm/mm/proc-macros.S +2 -2
@@ -30,8 +30,8 @@ * act_mm - get current->active_mm */ .macro act_mm, rd - bic \rd, sp, #8128 - bic \rd, \rd, #63 + mov \rd, sp, lsr #12 + THREAD_SIZE_ORDER + mov \rd, \rd, lsl #12 + THREAD_SIZE_ORDER ldr \rd, [\rd, #TI_TASK] ldr \rd, [\rd, #TSK_ACTIVE_MM] .endm
Signature · 1 line
1.7.9.5
PATCH 1/1 Consolidate stack size information into THREAD_SIZE_ORDER
Quoted 4 lines · Tim Bird
This reduces the number of magic values in the code, as well as makes it easier to experiment with larger or smaller stack sizes.
Signed-off-by Tim Bird<[email protected]>
Just ran my eyes over it, looks fine.
Signature · 2 lines
Ben Dooks http://www.codethink.co.uk/ Senior Engineer Codethink - Providing Genius
PATCH 1/1 Consolidate stack size information into THREAD_SIZE_ORDER
In reply to Tim BirdAny response to the following, which I submitted about a month ago? May I submit it to the ARM patch-queue? Note that Ben Dooks took a quick look at it, but I haven't gotten an official ACK-ed by from anyone.
It's rather trival, has no performance impact, and
makes the code more flexible IMHO. I realize it's
not the most important issue in the world, but it will make my life easier.
[original patch follows]
This reduces the number of magic values in the code, as well as makes it easier to experiment with larger or smaller stack sizes.
PATCH FOLLOWS
--- arch/arm/include/asm/thread_info.h | 2 +- arch/arm/kernel/entry-header.S | 8 ++++---- arch/arm/mm/proc-macros.S | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-)
arch/arm/include/asm/thread_info.h +1 -1
@@ -16,7 +16,7 @@#include <asm/fpstate.h> #define THREAD_SIZE_ORDER 1 -#define THREAD_SIZE 8192 +#define THREAD_SIZE (4096 << THREAD_SIZE_ORDER)#define THREAD_START_SP (THREAD_SIZE - 8)#ifndef __ASSEMBLY__
arch/arm/kernel/entry-header.S +4 -4
@@ -109,8 +109,8 @@ .endm .macro get_thread_info, rd - mov \rd, sp, lsr #13 - mov \rd, \rd, lsl #13 + mov \rd, sp, lsr #12 + THREAD_SIZE_ORDER + mov \rd, \rd, lsl #12 + THREAD_SIZE_ORDER .endm @
@@ -150,8 +150,8 @@ .macro get_thread_info, rd mov \rd, sp - lsr \rd, \rd, #13 - mov \rd, \rd, lsl #13 + lsr \rd, \rd, #12 + THREAD_SIZE_ORDER + mov \rd, \rd, lsl #12 + THREAD_SIZE_ORDER .endm @
arch/arm/mm/proc-macros.S +2 -2
@@ -30,8 +30,8 @@ * act_mm - get current->active_mm */ .macro act_mm, rd - bic \rd, sp, #8128 - bic \rd, \rd, #63 + mov \rd, sp, lsr #12 + THREAD_SIZE_ORDER + mov \rd, \rd, lsl #12 + THREAD_SIZE_ORDER ldr \rd, [\rd, #TI_TASK] ldr \rd, [\rd, #TSK_ACTIVE_MM] .endm
Signature · 1 line
1.7.9.5
PATCH 1/1 Consolidate stack size information into THREAD_SIZE_ORDER
Hi Tim,
Quoted 4 lines · Tim Bird
Any response to the following, which I submitted about a month ago? May I submit it to the ARM patch-queue? Note that Ben Dooks took a quick look at it, but I haven't gotten an official ACK-ed by from anyone.
[...]
Quoted 18 lines
arch/arm/include/asm/thread_info.h +1
-1@@ -16,7 +16,7 @@#include <asm/fpstate.h> #define THREAD_SIZE_ORDER 1 -#define THREAD_SIZE 8192 +#define THREAD_SIZE (4096 << THREAD_SIZE_ORDER)#define THREAD_START_SP (THREAD_SIZE - 8)#ifndef __ASSEMBLY__arch/arm/kernel/entry-header.S +0
-0
arch/arm/kernel/entry-header.S line 114
Quoted 8 lines
arch/arm/kernel/entry-header.S +2
-2@@ -109,8 +109,8 @@ .endm .macro get_thread_info, rd - mov \rd, sp, lsr #13 - mov \rd, \rd, lsl #13 + mov \rd, sp, lsr #12 + THREAD_SIZE_ORDER + mov \rd, \rd, lsl #12 + THREAD_SIZE_ORDER .endm
Maybe use PAGE_SHIFT instead of hardcoding the 12?
arch/arm/kernel/entry-header.S line 155
Quoted 10 lines
arch/arm/kernel/entry-header.S +2
-2@@@ -150,8 +150,8 @@ .macro get_thread_info, rd mov \rd, sp - lsr \rd, \rd, #13 - mov \rd, \rd, lsl #13 + lsr \rd, \rd, #12 + THREAD_SIZE_ORDER + mov \rd, \rd, lsl #12 + THREAD_SIZE_ORDER .endm
I appreciate you've followed the same style as before but while we're here maybe you could rewrite the lsr as a mov for consistency?
Will