lkml.org 
[lkml]   [2024]   [Mar]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH 2/3] dma: xilinx_dpdma: Remove unnecessary use of irqsave/restore
From
On 28/03/2024 17:00, Sean Anderson wrote:
> On 3/27/24 08:27, Tomi Valkeinen wrote:
>> Hi,
>>
>> On 08/03/2024 23:00, Sean Anderson wrote:
>>> xilinx_dpdma_chan_done_irq and xilinx_dpdma_chan_vsync_irq are always
>>> called with IRQs disabled from xilinx_dpdma_irq_handler. Therefore we
>>> don't need to save/restore the IRQ flags.
>>
>> I think this is fine, but a few thoughts:
>>
>> - Is spin_lock clearly faster than the irqsave variant, or is this a pointless optimization? It's safer to just use irqsave variant, instead of making sure the code is always called from the expected contexts.
>
> It's not an optimization. Technically this will save a few instructions,
> but...
>
>> - Is this style documented/recommended anywhere? Going through docs, I only found docs telling to use irqsave when mixing irq and non-irq contexts.
>
> The purpose is mainly to make it clear that this is meant to be called
> in IRQ context. With irqsave, there's an implication that this could be
> called in non-IRQ context, which it never is.

Hmm, I see. Yes, I think that makes sense.

>> - Does this cause issues on PREEMPT_RT?
>
> Why would it?

I was reading locktypes.rst, I started wondering what it means if
spinlocks are changed into sleeping locks. But thinking about it again,
it doesn't matter, as the irq will still be masked when in irq-context.

So:

Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>

Tomi



\
 
 \ /
  Last update: 2024-03-28 17:41    [W:0.062 / U:0.276 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site