Re: [PATCH 1/3] Separate IRQ-stacks from 4K-stacks option

From: Andrea Arcangeli
Date: Mon Sep 13 2004 - 05:32:55 EST


On Mon, Sep 13, 2004 at 09:32:59AM +0200, Jens Axboe wrote:
> completion from hardirq context, SCSI is the exception since it does it
> defers the completion to softirq context.

which btw doesn't really make much difference at all to run it in irq
context with irq enabled since it'll run from irq context anyways and
you'll still depend on nested hardirqs to avoid huge latencies from
softirq handlers (the most difference between softirq and hardirq with
irq enabled happens if you can use spin_lock_bh instead of spin_lock_irq
in the critical sections to protect against other cpus).

softirq runs inside an hardirq in all common cases, so a softirq is
still an hardirq and to allow other hardirq to run you need nested
interrupts in the hardware (which again explains why it's a bad idea to
forbid nesting by design, and really I don't buy the slowdown argument,
enter/exit kernel would happen anyways, it's just the pipeline will be
stalled once and the cache may be trashed a bit, but irqs have not an
huge memory footprint anyways).
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/