[PATCH 0/7 um: IRQ handling cleanups

Anton Ivanov anton.ivanov at kot-begemot.co.uk
Tue Nov 24 11:45:29 EST 2020


On 24/11/2020 16:39, Johannes Berg wrote:
> On Tue, 2020-11-24 at 16:34 +0000, Anton Ivanov wrote:
>> On 24/11/2020 09:06, Anton Ivanov wrote:
>>> On 24/11/2020 08:58, Johannes Berg wrote:
>>>> On Tue, 2020-11-24 at 09:55 +0100, Johannes Berg wrote:
>>>>>> I have tried some of what you did when working on timers/epoll -
>>>>>> namely turning off the HZ-like nanosleep in time.c. I could not get it
>>>>>> to work at the time. So I dropped it from the final version of the
>>>>>> patches.
>>>>> That one's just weird ... and unnecessary. I can't see why it could
>>>>> possibly matter.
>>>> Or actually ... wait? I thought you were referring to "um: simplify
>>>> os_idle_sleep() and sleep longer" but that's not in this set now...
>>>>
>>>> Anyway, if you were indeed referring to that patch, it's not strictly
>>>> needed - removing it would just mean I couldn't call os_idle_sleep() for
>>>> suspend but would have to add os_suspend() or something. OTOH, it didn't
>>>> break anything for me (neither time-travel nor normal mode), and I can't
>>>> see how it was necessary since if clock_nanosleep() (or now select())
>>>> was interrupted by a signal and returned, the signal handler ran too...
>>> The early version of the timer patches were fairly fragile.
>>>
>>> There is quite a bit of belt-n-braces leftovers from that, it will be good to clean it up.
>> I need to double-check the IRQ delete code. While I made most of it
>> lockless and reentrant, I never finished cleaning all of it at the
>> end.
>>
>> That is where ->purge was coming from.
> I have no idea what ->purge is? :)

One of the flags on the IRQ info structure.

You killed that in c0b17c371b43bddcd2fbfe643ce6a6c84347c013 "simplify IRQ handling code"

>
>> There were a couple of places in the serial code which could (and did)
>> try to delete an IRQ out of the IRQ handler. I am not sure that is
>> still the case as that also got rewritten to implement write IRQs
>> instead of IRQ_NONE.
> Hmm. OK, but nothing used IRQ_NONE?
>
> johannes
>
>
> _______________________________________________
> linux-um mailing list
> linux-um at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-um
>
-- 
Anton R. Ivanov
https://www.kot-begemot.co.uk/




More information about the linux-um mailing list