Re: [PATCH] mtd: pxa3xx-nand: handle PIO in threaded interrupt

From: Robert Jarzmik
Date: Wed Feb 18 2015 - 12:16:31 EST


Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> writes:

> On Tue, Feb 17, 2015 at 09:06:57PM +0100, Robert Jarzmik wrote:
>> Change the handling of the data stage in the driver : don't pump data in
>> the top-half interrupt, but rather schedule a thread for non dma cases.
>>
>> This will enable latencies in the data pumping, especially if delays are
>> required. Moreover platform shall be more reactive as other interrupts
>> can be served while pumping data.
>>
>> No throughput degradation was observed, at least on the zylonite
>> platform, while a slight degradation was being expected.
>>
>> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx>
>
> Tested-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx>
>
> On a sidenote...
Thanks.

>> @@ -1672,7 +1688,8 @@ static int alloc_nand_resource(struct platform_device *pdev)
>> /* initialize all interrupts to be disabled */
>> disable_int(info, NDSR_MASK);
>>
>> - ret = request_irq(irq, pxa3xx_nand_irq, 0, pdev->name, info);
>> + ret = request_threaded_irq(irq, pxa3xx_nand_irq,
>> + pxa3xx_nand_irq_thread, 0, pdev->name, info);
>
> Using IRQF_ONESHOT would allow you not to do the interrupt enable /
> disable dance.
Yes, that's a very good point. Would your Tested-by still hold with this change ?

Cheers.

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