Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 91151240 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'x86-irq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86, 32-bit: Align percpu area and irq stacks to THREAD_SIZE
  x86: Move alloc_desk_mask variables inside ifdef
  x86-32: Align IRQ stacks properly
  x86: Remove CONFIG_4KSTACKS
  x86: Always use irq stacks

Fixed up trivial conflicts in include/linux/{irq.h, percpu-defs.h}
parents 211baf4f fe8e0c25
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -18,9 +18,9 @@ specialized stacks contain no useful data. The main CPU stacks are:
  Used for external hardware interrupts.  If this is the first external
  hardware interrupt (i.e. not a nested hardware interrupt) then the
  kernel switches from the current task to the interrupt stack.  Like
  the split thread and interrupt stacks on i386 (with CONFIG_4KSTACKS),
  this gives more room for kernel interrupt processing without having
  to increase the size of every per thread stack.
  the split thread and interrupt stacks on i386, this gives more room
  for kernel interrupt processing without having to increase the size
  of every per thread stack.

  The interrupt stack is also used when processing a softirq.

+0 −10
Original line number Diff line number Diff line
@@ -125,16 +125,6 @@ config DEBUG_NX_TEST
	  and the software setup of this feature.
	  If in doubt, say "N"

config 4KSTACKS
	bool "Use 4Kb for kernel stacks instead of 8Kb"
	depends on X86_32
	---help---
	  If you say Y here the kernel will use a 4Kb stacksize for the
	  kernel stack attached to each process/thread. This facilitates
	  running more threads on a system and also reduces the pressure
	  on the VM subsystem for higher order allocations. This option
	  will also use IRQ stacks to compensate for the reduced stackspace.

config DOUBLEFAULT
	default y
	bool "Enable doublefault exception handler" if EMBEDDED
+5 −7
Original line number Diff line number Diff line
@@ -19,18 +19,16 @@ static inline int irq_canonicalize(int irq)
# define ARCH_HAS_NMI_WATCHDOG
#endif

#ifdef CONFIG_4KSTACKS
#ifdef CONFIG_X86_32
extern void irq_ctx_init(int cpu);
extern void irq_ctx_exit(int cpu);
# define __ARCH_HAS_DO_SOFTIRQ
#else
# define irq_ctx_init(cpu) do { } while (0)
# define irq_ctx_exit(cpu) do { } while (0)
# ifdef CONFIG_X86_64
#  define __ARCH_HAS_DO_SOFTIRQ
# endif
#endif

#define __ARCH_HAS_DO_SOFTIRQ

#ifdef CONFIG_HOTPLUG_CPU
#include <linux/cpumask.h>
extern void fixup_irqs(void);
+1 −6
Original line number Diff line number Diff line
@@ -60,12 +60,7 @@
#endif

#ifdef CONFIG_X86_32
# ifdef CONFIG_4KSTACKS
#  define MODULE_STACKSIZE "4KSTACKS "
# else
#  define MODULE_STACKSIZE ""
# endif
# define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY MODULE_STACKSIZE
# define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY
#endif

#endif /* _ASM_X86_MODULE_H */
+0 −4
Original line number Diff line number Diff line
@@ -15,11 +15,7 @@
 */
#define __PAGE_OFFSET		_AC(CONFIG_PAGE_OFFSET, UL)

#ifdef CONFIG_4KSTACKS
#define THREAD_ORDER	0
#else
#define THREAD_ORDER	1
#endif
#define THREAD_SIZE 	(PAGE_SIZE << THREAD_ORDER)

#define STACKFAULT_STACK 0
Loading