mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* 2.6.18-rc4 i386 CONFIG_4KSTACKS does not use the hardirq stack
@ 2006-08-25  3:16 Keith Owens
  0 siblings, 0 replies; only message in thread
From: Keith Owens @ 2006-08-25  3:16 UTC (permalink / raw)
  To: linux-kernel; +Cc: Ingo Molnar, Thomas Gleixner

2.6.18-rc4 arch/i386/kernel/irq.c::do_IRQ has this code:


	if (!irq_desc[irq].handle_irq) {
		__do_IRQ(irq, regs);
		goto out_exit;
	}
#ifdef CONFIG_4KSTACKS

	curctx = (union irq_ctx *) current_thread_info();
	irqctx = hardirq_ctx[smp_processor_id()];
	...

All registered irqs on my system have a NULL handle_irq so do_IRQ
always calls __do_IRQ on the current stack, it never switches to the
hardirq_ctx stack.  Removing the test is trivial and it boots and runs
without the test for !irq_desc[irq].handle_irq, but why was the test
put there in the first place?

Note: with that test removed, do_IRQ runs on the hardirq stack, but
struct thread_info is not updated accordingly so backtrace is wrong.  I
can fix that as well, but I need to understand the test for handle_irq
first.


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2006-08-25  3:17 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-08-25  3:16 2.6.18-rc4 i386 CONFIG_4KSTACKS does not use the hardirq stack Keith Owens

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome