[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240118083812.1b91ba88@kernel.org>
Date: Thu, 18 Jan 2024 08:38:12 -0800
From: Jakub Kicinski <kuba@...nel.org>
To: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
Cc: Toke Høiland-Jørgensen <toke@...hat.com>, Alexei
Starovoitov <alexei.starovoitov@...il.com>, LKML
<linux-kernel@...r.kernel.org>, Network Development
<netdev@...r.kernel.org>, "David S. Miller" <davem@...emloft.net>, Boqun
Feng <boqun.feng@...il.com>, Daniel Borkmann <daniel@...earbox.net>, Eric
Dumazet <edumazet@...gle.com>, Frederic Weisbecker <frederic@...nel.org>,
Ingo Molnar <mingo@...hat.com>, Paolo Abeni <pabeni@...hat.com>, Peter
Zijlstra <peterz@...radead.org>, Thomas Gleixner <tglx@...utronix.de>,
Waiman Long <longman@...hat.com>, Will Deacon <will@...nel.org>, Alexei
Starovoitov <ast@...nel.org>, Andrii Nakryiko <andrii@...nel.org>, Cong
Wang <xiyou.wangcong@...il.com>, Hao Luo <haoluo@...gle.com>, Jamal Hadi
Salim <jhs@...atatu.com>, Jesper Dangaard Brouer <hawk@...nel.org>, Jiri
Olsa <jolsa@...nel.org>, Jiri Pirko <jiri@...nulli.us>, John Fastabend
<john.fastabend@...il.com>, KP Singh <kpsingh@...nel.org>, Martin KaFai Lau
<martin.lau@...ux.dev>, Ronak Doshi <doshir@...are.com>, Song Liu
<song@...nel.org>, Stanislav Fomichev <sdf@...gle.com>, VMware PV-Drivers
Reviewers <pv-drivers@...are.com>, Yonghong Song <yonghong.song@...ux.dev>,
bpf <bpf@...r.kernel.org>
Subject: Re: [PATCH net-next 15/24] net: Use nested-BH locking for XDP
redirect.
On Thu, 18 Jan 2024 09:27:54 +0100 Sebastian Andrzej Siewior wrote:
> On 2024-01-17 18:04:47 [-0800], Jakub Kicinski wrote:
> > Oh, and I'm bringing it up here, because CONFIG_RT can throw
> > in "need_resched()" into the napi_rx_has_budget(), obviously.
>
> need_resched() does not work on PREEMPT_RT the way you think. This
> context (the NAPI poll callback) is preemptible and (by default) runs at
> SCHED_FIFO 50 (within a threaded IRQ) so a context switch can happen at
> any time by a task with higher priority.
> If threadA gets preempted and owns a lock that threadB, with higher
> priority, wants then threadA will get back on CPU, inherit the priority
> of the threadB and continue to run until it releases the lock.
>
> If this is the per-CPU BH lock (which I want to remove) then it will
> continue until all softirqs complete.
So there's no way for a process to know on RT that someone with higher
prio is waiting for it to release its locks? :(
Powered by blists - more mailing lists