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>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <610fcbfa-a8e7-483c-a112-579879628b99@amd.com>
Date: Tue, 22 Apr 2025 08:24:21 +0530
From: K Prateek Nayak <kprateek.nayak@....com>
To: Aaron Lu <ziqianlu@...edance.com>
CC: Jan Kiszka <jan.kiszka@...mens.com>, Florian Bezdeka
	<florian.bezdeka@...mens.com>, Valentin Schneider <vschneid@...hat.com>, Ben
 Segall <bsegall@...gle.com>, Peter Zijlstra <peterz@...radead.org>, Josh Don
	<joshdon@...gle.com>, Ingo Molnar <mingo@...hat.com>, Vincent Guittot
	<vincent.guittot@...aro.org>, Xi Wang <xii@...gle.com>,
	<linux-kernel@...r.kernel.org>, Juri Lelli <juri.lelli@...hat.com>, Dietmar
 Eggemann <dietmar.eggemann@....com>, Steven Rostedt <rostedt@...dmis.org>,
	Mel Gorman <mgorman@...e.de>, Chengming Zhou <chengming.zhou@...ux.dev>,
	Chuyi Zhou <zhouchuyi@...edance.com>, "Sebastian Andrzej Siewior,"
	<bigeasy@...utronix.de>
Subject: Re: [RFC PATCH v2 0/7] Defer throttle when task exits to user

Hello Aaron,

On 4/22/2025 7:40 AM, Aaron Lu wrote:
>> anon_pipe_write()
>>    __wake_up_common()
>>      ep_poll_callback() {
>>        read_lock_irq(&ep->lock)		/* Read lock acquired here */
> I was confused by this function's name. I had thought irq is off but
> then realized under PREEMPT_RT, read_lock_irq() doesn't disable irq...

Yup! Most of the interrupt handlers are run by the IRQ threads on
PREEMPT_RT and the ones that do run in the interrupt context have all
been adapted to use non-blocking locks whose *_irq variants disables
interrupts on PREEMPT_RT too.

> 
>>        __wake_up_common()
>>          ep_autoremove_wake_function()
>>            try_to_wake_up()		/* Wakes up "epoll-stall" */
>>              preempt_schedule()
>>              ...
>>
>> # "epoll-stall-writer" has run out of bandwidth, needs replenish to run
> Luckily in this "only throttle when ret2user" model, epoll-stall-writer
> does not need replenish to run again(and then unblock the others).

I can confirm that throttle deferral solves this issue. I have run Jan's
reproducer for a long time without seeing any hangs on your series. I
hope Florian can confirm the same.

-- 
Thanks and Regards,
Prateek


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ