Re: [PATCH 3.17-rc4 v5 2/6] arm: fiq: Replace default FIQ handler

From: Daniel Thompson
Date: Sat Sep 13 2014 - 08:01:37 EST


On 12/09/14 18:03, Russell King - ARM Linux wrote:
> On Thu, Sep 11, 2014 at 12:31:14PM +0100, Daniel Thompson wrote:
>> - .macro svc_entry, stack_hole=0
>> + .macro svc_entry, stack_hole=0, call_trace=1
>> UNWIND(.fnstart )
>> UNWIND(.save {r0 - pc} )
>> sub sp, sp, #(S_FRAME_SIZE + \stack_hole - 4)
>> @@ -183,7 +183,9 @@ ENDPROC(__und_invalid)
>> stmia r7, {r2 - r6}
>>
>> #ifdef CONFIG_TRACE_IRQFLAGS
>> + .if \call_trace
>> bl trace_hardirqs_off
>> + .endif
>> #endif
>
> Good, you picked this up from my patch. But what about the call into
> lockdep from usr_entry?

That was writen from your review comment rather than taken from your patch.

> Yes, it should be safe if we're entering from user mode, because by
> definition, the kernel can't be holding any locks at that point.
> However, I'd much prefer to keep to a set of simple rules here: avoid
> lockdep in FIQ code altogether.

Ok. You're right that I followed the "can't be holding any locks" logic
when I didn't update usr_entry in reaction to the original review comment.

I'm also happy with the "avoid lockdep in FIQ code altogether" approach.
I'll do this.

> That's much easier to understand than "we can call into lockdep provided
> we've been entered from user mode".
>
> The other thing you miss is that /potentially/ call into the scheduler
> as well from a FIQ. Do we /really/ want to do that kind of work here?
>
> Not happy.

Sorry. I will fix these.


Daniel.


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