Re: [PATCH] atmel_serial: Split the interrupt handler

From: Haavard Skinnemoen
Date: Wed Dec 19 2007 - 08:11:45 EST


On Wed, 19 Dec 2007 13:50:16 +0100
"Remy Bohmer" <linux@xxxxxxxxxx> wrote:

> Hello Haavard,
>
> > Hmm...perhaps we can eliminate the locking in the status handler
> > too...? Does anyone see a problem with this patch?
>
> I have not seen any problem so far, besides, I am very happy with a
> lockless interrupt handling, because this helps reducing latencies.
>
> Tested it on top of the other 5 patches, and everything still works,
> also tested under stress conditions.
>
> So:
> Acked-by: Remy Bohmer <linux@xxxxxxxxxx>

Thanks. I think we can actually do it even simpler -- just check if any
of the relevant bits in pending are set, and schedule the tasklet if
they are.

Now, I suspect the locking is currently broken -- we need to guard
against updates to read_status_mask and ignore_status_mask, but I think
we can get away with only adding some locking to the tasklet, not the
interrupt handler.

Hrm. We probably need to lock while updating icount. That's a problem
since we do that from the tx interrupt handler...and I don't suppose we
want to move most of the atmel_tx_chars() code into the tasklet too...?

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