Re: [BUG]locking/rwsem: only clean RWSEM_FLAG_HANDOFF when already set

From: Waiman Long
Date: Thu Nov 11 2021 - 16:46:39 EST



On 11/11/21 16:38, Peter Zijlstra wrote:
On Thu, Nov 11, 2021 at 04:01:16PM -0500, Waiman Long wrote:

+ if (has_handoff || (!waiter->rt_task &&
+ !time_after(jiffies, waiter->timeout)))
Does ->rt_task really help over rt_task(current) ? I suppose there's an
argument for locality, but that should be pretty much it, no?
Waiting for the timeout may introduce too much latency for RT task. That is
the only reason I am doing it. I can take it out if you think it is not
necessary.
I meant simply calling rt_task(waiter->task) here, instead of mucking about
with the extra variable.

OK, that make sense.

Cheers,
Longman