Re: [patch 2/3] s3cmci - call pio_tasklet from IRQ

From: Christer Weinigel
Date: Mon Sep 08 2008 - 10:05:15 EST


Ben Dooks wrote:
On Mon, Sep 08, 2008 at 02:48:50PM +0200, Christer Weinigel wrote:
Scheduling a tasklet to perform the pio transfer introduces a bit of
extra processing, just call pio_tasklet directly from the interrupt
instead. Writing up to 64 bytes to a FIFO is probably uses less CPU
than scheduling a tasklet anyway.

Hmm, i'd be interested to find out how long these are taking... I might
try and rig up something to test the time being taken via an SMDK.

If the fifo read/writes are taking significant amounts of time, then the
pio tasklet will at least improve the interrupt latencies invloved, as
iirc we're currently running the main irq handler in IRQ_DISABLED mode
to stop any problems with re-enternancy.... I'll check this and see what
is going on.

It should be possible to set a flag and then call the pio_task after the spin_unlock_irqrestore instead. I didn't want to do that to change as little of the logic as possible, but it's probably better to do that.

I'm also thinking of changing send_request to do a busy wait for commands without data, that will probably need a bit larger changes.

/Christer
--
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/