Messages in this thread | | | Date | Mon, 13 Sep 2004 12:31:58 +0200 | From | Andrea Arcangeli <> | Subject | Re: [PATCH 1/3] Separate IRQ-stacks from 4K-stacks option |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |