Re: [PATCH] mm/page_alloc: Use write_seqlock_irqsave() instead write_seqlock() + local_irq_save().

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2023/06/21 23:34, Sebastian Andrzej Siewior wrote:
>> Also, if local_irq_save() is hidden due to RT, what guarantees that
>>
>>   write_seqlock_irqsave(&zonelist_update_seq, flags);
>>   <<IRQ>>
>>     some_timer_function() {
>>       printk();
>>     }
>>   <<IRQ>>
>>   printk_deferred_enter();
>>
>> does not happen because write_seqlock_irqsave() does not disable IRQ?
> 
> I don't see how zonelist_update_seq and printk here are connected
> without the port lock/ or memory allocation. But there are two things
> that are different on RT which probably answer your question:

It is explained as the first deadlock scenario in commit 1007843a9190
("mm/page_alloc: fix potential deadlock on zonelist_update_seq seqlock").
We have to disable IRQ before making zonelist_update_seq.seqcount odd.





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux