diff options
author | Ingo Molnar <mingo@elte.hu> | 2010-10-25 19:38:43 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2010-10-25 19:38:52 +0200 |
commit | 7d7a48b76012eeee25871e1d69104dec4b6d740f (patch) | |
tree | c27e3d8bb2e80ad93c7b4a5c850e1ffbc090bcd2 /arch/x86/kernel/irq_32.c | |
parent | e4072a9a9d186fe86293effe8828faa4be75b4a4 (diff) | |
parent | 229aebb873e29726b91e076161649cf45154b0bf (diff) | |
download | blackbird-op-linux-7d7a48b76012eeee25871e1d69104dec4b6d740f.tar.gz blackbird-op-linux-7d7a48b76012eeee25871e1d69104dec4b6d740f.zip |
Merge branch 'linus' into x86/urgent
Merge reason: We want to queue up a dependent fix.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/irq_32.c')
-rw-r--r-- | arch/x86/kernel/irq_32.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/arch/x86/kernel/irq_32.c b/arch/x86/kernel/irq_32.c index 10709f29d166..50fbbe60e507 100644 --- a/arch/x86/kernel/irq_32.c +++ b/arch/x86/kernel/irq_32.c @@ -49,20 +49,19 @@ static inline int check_stack_overflow(void) { return 0; } static inline void print_stack_overflow(void) { } #endif -#ifdef CONFIG_4KSTACKS /* * per-CPU IRQ handling contexts (thread information and stack) */ union irq_ctx { struct thread_info tinfo; u32 stack[THREAD_SIZE/sizeof(u32)]; -} __attribute__((aligned(PAGE_SIZE))); +} __attribute__((aligned(THREAD_SIZE))); static DEFINE_PER_CPU(union irq_ctx *, hardirq_ctx); static DEFINE_PER_CPU(union irq_ctx *, softirq_ctx); -static DEFINE_PER_CPU_PAGE_ALIGNED(union irq_ctx, hardirq_stack); -static DEFINE_PER_CPU_PAGE_ALIGNED(union irq_ctx, softirq_stack); +static DEFINE_PER_CPU_MULTIPAGE_ALIGNED(union irq_ctx, hardirq_stack, THREAD_SIZE); +static DEFINE_PER_CPU_MULTIPAGE_ALIGNED(union irq_ctx, softirq_stack, THREAD_SIZE); static void call_on_stack(void *func, void *stack) { @@ -187,11 +186,6 @@ asmlinkage void do_softirq(void) local_irq_restore(flags); } -#else -static inline int -execute_on_irq_stack(int overflow, struct irq_desc *desc, int irq) { return 0; } -#endif - bool handle_irq(unsigned irq, struct pt_regs *regs) { struct irq_desc *desc; |