Re: [PATCH v8 3/4] gpiolib: add irq_not_threaded flag to gpio_chip

From: Octavian Purdila
Date: Mon Oct 20 2014 - 06:19:20 EST


On Mon, Oct 20, 2014 at 8:08 AM, Alexandre Courbot <gnurou@xxxxxxxxx> wrote:
>
> On Wed, Oct 15, 2014 at 11:48 PM, Octavian Purdila
> <octavian.purdila@xxxxxxxxx> wrote:
> > Some GPIO chips (e.g. the DLN2 USB adapter) have blocking get/set
> > operation but do not need a threaded irq handler.
>
> Sorry if you already explained this (I have been a little bit late
> with the GPIO reviews recently), but does this optimization bring a
> significant benefit that justifies adding another field in struct
> gpio_chip? If so it would be nice to have it in the commit message. If
> not, do we need this at all?

Hi Alexandre,

In the case DLN2 USB GPIO adapter the GPIO interrupt is generated in
the completion routine of a receive URB, which means that we are in
interrupt context. If a threaded irq is used, we would have to
schedule work instead of running to interrupt handler directly which
is unnecessary and adds latency.

BTW, AFAIC Linus W already merged this patch in his next tree, I am
keeping it in this series because it was not pulled in the mfd-next
tree.

Thanks,
Tavi
--
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/