Messages in this thread | | | Date | Wed, 19 Dec 2007 14:11:00 +0100 | From | Haavard Skinnemoen <> | Subject | Re: [PATCH] atmel_serial: Split the interrupt handler |
| |
On Wed, 19 Dec 2007 13:50:16 +0100 "Remy Bohmer" <linux@bohmer.net> 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@bohmer.net>
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
| |