[PATCH] iio: adc: xilinx-xadc: Convert to raw spinlock

Sebastian Andrzej Siewior bigeasy at linutronix.de
Thu May 14 10:10:38 PDT 2015


* Xander Huff | 2015-05-07 10:38:10 [-0500]:

>The driver currently registers a pair of irq handlers using
>request_threaded_irq(), however the synchronization mechanism
>between the hardirq and the threadedirq handler is a regular spinlock.
>
>Unfortunately, this breaks PREEMPT_RT builds, where a spinlock can
>sleep, and is thus not able to be acquired from a hardirq handler.
>Because the set of operations performed under the spinlock is already
>minimal and bounded, it is a suitable candidate for being a raw_spinlock.
>
>This patch should not impact behavior on !PREEMPT_RT builds.
>
>Signed-off-by: Xander Huff <xander.huff at ni.com>
>Reviewed-by: Joe Hershberger <joe.hershberger at ni.com>
>Reviewed-by: Ben Shelton <ben.shelton at ni.com>
>Reviewed-by: Josh Cartwright <joshc at ni.com>

Do you have any cyclictest numbers how much the latency increases on
heavy iio usage? Traditionally the primary handler should be very quick
/ short.

Sebastian



More information about the linux-arm-kernel mailing list