Re: [PATCH] atmel_serial: Split the interrupt handler

From: Haavard Skinnemoen
Date: Tue Dec 18 2007 - 12:20:37 EST


Crud...my mailer helpfully filtered this into the huge linux-kernel
bin instead of leaving it in my inbox...

On Tue, 18 Dec 2007 16:23:11 +0100
"Remy Bohmer" <linux@xxxxxxxxxx> wrote:

> Hello Haavard,
>
> A few remarks:
>
> > From: Remy Bohmer <hskinnemoen@xxxxxxxxx>
>
> My name, at your address ;-)))

Right. Wonder how that happened...I'll try to fix it manually before I
send the next patchbomb.

> > This patch splits up the interrupt handler of the serial port
> > into a interrupt top-half and a tasklet.
>
> I see you moved the handling of the sysrq-key to the tasklet. This was
> actually a very nice feature in the IRQ-top half on preempt-RT. This
> helps debugging running away RT-processes.

Ah. Good point. I guess we should move it back, then.

> > In this version of the patch, we try to only do things that are
> > absolutely necessary in the interrupt handler, storing away the
> > status register along with the received character and letting the
> > tasklet handle break, sysrq, error flags, etc.
>
> Preempt-RT now absolutely requires my (4th) IRQ_NODELAY patch, because
> the spinlock now is always inside the code, and not only in
> theexception path, and thus without my NO_DELAY patch we have a panic
> during boot.
> On preempt-RT this spinlock must be a raw-spinlock. (If this type is
> known in the mainline kernel, you can apply that patch it anyway)

I'll see if that works.

> BTW: Attached I have added a 2nd patch that I use for Preempt-RT. (For
> cleaner startup, and to get rid of useless IRQ-threads.

Hrm. That assumption isn't valid on AVR32...on AP7000, for example,
IRQ1 is used by the LCD controller.

> > This patch should apply on top of the cleanup patch I sent earlier
>
> For the cleanup patch:
> Acked-by: Remy Bohmer <linux@xxxxxxxxxx>
>
> > today. Or at least I think so...I'll send the full series once
> > everyone are happy.
>
> So, for this patch: I am almost happy ;-)

Great :-)

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/