lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <f3241001-d9ff-703d-9e9c-9f8c888edf3f@huawei.com>
Date:   Mon, 8 May 2023 11:51:07 +0800
From:   "liujian (CE)" <liujian56@...wei.com>
To:     Hillf Danton <hdanton@...a.com>
CC:     <edumazet@...gle.com>, <peterz@...radead.org>,
        <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 9/9] softirq, timer: Use softirq_needs_break()



On 2023/5/5 21:55, Hillf Danton wrote:
> On 5 May 2023 19:33:15 +0800 Liu Jian <liujian56@...wei.com>
>> In the while loop of __run_timers(), because there are too many timers or
>> improper timer handler functions, if the processing time of the expired
>> timers is always greater than the time wheel's next_expiry, the function
>> will loop infinitely.
>>
>> To prevent this, use the timeout/break logic provided by SoftIRQs. If the
>> running time exceeds the limit, break the loop and an additional
>> TIMER_SOFTIRQ is triggered.
> 
> This can not be a correct fix without getting every timer hog that runs
> longer than MAX_SOFTIRQ_TIME identified first and fixed.
> Do you mean that the timer that takes too long to execute needs to be 
fixed first? Let's ignore this problem here. The modification is only 
used to ensure that the loop exits when the loop execution time in 
__run_timers() exceeds MAX_SOFTIRQ_TIME.

> The same applies to any softirq in general.
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ