[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <a769b2bef12342004d8c457313629f4a@kernel.org>
Date: Tue, 01 Sep 2020 10:06:06 +0100
From: Marc Zyngier <maz@...nel.org>
To: Dongjiu Geng <gengdongjiu@...wei.com>
Cc: linux-kernel@...r.kernel.org
Subject: Re: Adjust interrupt Priority for ARM64 GIC
On 2020-09-01 09:48, Dongjiu Geng wrote:
> On 2020/9/1 15:48, Marc Zyngier wrote:
>> Hi Dongjiu,
>>
>> In the future, please use my kernel.org address, as I don't work
>> for ARM anymore, and would have missed this email if I wasn't pointed
>> to it.
>>
>> On 2020-08-14 18:10, Dongjiu Geng wrote:
>>> Hi Marc,
>>> In the Linux kernel, we can not adjust the interrupt Priority,
>>> For
>>> all the interrupts, the interrupt Priority are fixed to 0xa0.
>>> In some scenarios, it needs to change the Priority. so I want to
>>> upstream a serie patch to support to change the Priority through
>>> procfs. do you agree I upstream this feature? thanks~
>>
>> No, that's not something I would ever consider, and for multiple
>> reasons:
>>
>> - Linux only supports a single priority, meaning that interrupts are
>> themselves aren't preemptable. Dealing with things like (pseudo) NMI
>> is invasive enough, and I can't see a good reason to relax the
>> single priority requirement.
>>
>> - Building on top of the above, the whole scheduler and locking model
>> relies on the non-preemptable property of an interrupt.
>>
>> - I cannot see a good reason to leave the priority control to
>> userspace.
>> That's a sure recipe for userspace-controlled livelocks.
>>
>> Now, I'm sure you want to introduce this for a reason, and you are not
>> explaining it ("some scenarios" doesn't quite cut it). If you care to
>> explain these "scenarios", maybe there is something we can do.
> Marc,
> Thanks for answer.
> In the real-time system(RTOS), we want the timer tick irq is
> responded as
> soon as possible to trigger kernel do task schedule. Non-preemptable
> IRQ decreases the Real-Time Performance of Real-Time Operating System
Giving the timer a higher priority doesn't solve anything, really.
It just papers over the fact that you are not using threaded interrupts.
You also don't explain how you plan to change the scheduler and the
whole locking infrastructure to cope with nesting interrupts in the
general case.
I would suggest you use PREEMPT-RT, where all interrupts are threaded
and thus preemptable.
M.
--
Jazz is not dead. It just smells funny...
Powered by blists - more mailing lists