The patch titled i386: Fix softirq accounting with 4K stacks has been removed from the -mm tree. Its filename is i386-fix-softirq-accounting-with-4k-stacks.patch This patch was dropped because it was merged into mainline or a subsystem tree ------------------------------------------------------ Subject: i386: Fix softirq accounting with 4K stacks From: Bjorn Steinbrink <B.Steinbrink@xxxxxx> Copy the softirq bits in preempt_count from the current context into the hardirq context when using 4K stacks to make the softirq_count macro work correctly and thereby fix softirq cpu time accounting. Signed-off-by: Bjorn Steinbrink <B.Steinbrink@xxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- arch/i386/kernel/irq.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff -puN arch/i386/kernel/irq.c~i386-fix-softirq-accounting-with-4k-stacks arch/i386/kernel/irq.c --- a/arch/i386/kernel/irq.c~i386-fix-softirq-accounting-with-4k-stacks +++ a/arch/i386/kernel/irq.c @@ -95,6 +95,14 @@ fastcall unsigned int do_IRQ(struct pt_r irqctx->tinfo.task = curctx->tinfo.task; irqctx->tinfo.previous_esp = current_stack_pointer; + /* + * Copy the softirq bits in preempt_count so that the + * softirq checks work in the hardirq context. + */ + irqctx->tinfo.preempt_count = + irqctx->tinfo.preempt_count & ~SOFTIRQ_MASK | + curctx->tinfo.preempt_count & SOFTIRQ_MASK; + asm volatile( " xchgl %%ebx,%%esp \n" " call __do_IRQ \n" _ Patches currently in -mm which might be from B.Steinbrink@xxxxxx are origin.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html