Re: softirq considered harmful

Jens Axboe
2006-08-14T08:50:10Z

On Mon, Aug 14 2006, David Miller wrote:
> From: Jens Axboe <axboe@suse.de>
> Date: Mon, 14 Aug 2006 09:37:25 +0200
>
> > Hopefully you often end up doing > 1 request for a busy IO sub system,
> > otherwise the softirq stuff is pointless. But it's still pretty bad for
> > single requests.
>
> Note that the per-cpu softirq completion of I/O events means
> that the queue can be processed lockless.
>
> I'm not saying this justifies softirq I/O completion, I'm just
> mentioning it as one benefit of the scheme. This is also why
> networking uses softirqs for the core irq events instead of
> tasklets.

As I wrote, the actual processing of the completion can often be done
lockless in the first place, so there's little benefit to offloading
those to softirq completion. We definitely have room for improvement.

> It appears the scsi code uses hw IRQ locking for all of it's
> locking so that should be fine.

Yep

> However there might be some scsi exception handling dependencies
> on the completions being run in software irq context, but this is
> just a guess.
>
> iSCSI would need to be checked out too.

It certainly isn't an easy job, lots of stuff needs to be eye balled.

--
Jens Axboe