Linux Operating System Source Code: IBM Patches

 
4KB stack + irq stack for x86
Description:
This is a resync of the last patch for 2.5.34 that resulted from this discussion
(not the original patch):
http://lwn.net/Articles/1642/
The only change was readding the reference to task_info in the beginning of
common_interrupt.  It had been dropped when we stopped messing with
preempt_count there.

I've beaten this thing with my normal array of Specweb tests and it is behaving
so far.  I've booted on an 8-way with and without SMP.

part of Ben's original message:
Below is a patch against 2.5.20 that implements 4KB stacks for tasks, plus a
seperate 4KB irq stack for use by interrupts.  There are a couple of reasons for
doing this: 4KB stacks put less pressure on the VM subsystem, reduces the
overall memory usage for systems with large numbers of tasks, and increases the
reliability of the system when under heavy irq load by provide a fixed stack
size for interrupt handlers that other kernel code will not eat into.

The interrupt stacks are stackable, so we could use multiple 4KB irq stacks. 
The thread_info structure is included in each interrupt stack, and has the
current pointer copied into it upon entry.
Developer:
Dave Hansen
Status:
Submitted to project
Relevant Architectures:
IA-32
Release Notes Date Files
20030120 Release Notes 2003-01-20  
  File Notes   A-thread_info_cleanup-2.5.55-7.patch.gz
  File Notes   B-interrupt_stacks-2.5.55-7.patch.gz
  File Notes   C-stack_usage_check-2.5.55-7.patch.gz
  File Notes   D-4k-stack-2.5.52-6.patch.gz

Show all releases