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]
Date:   Thu, 26 Jan 2023 08:17:21 -0500
From:   Waiman Long <longman@...hat.com>
To:     Ingo Molnar <mingo@...nel.org>
Cc:     Peter Zijlstra <peterz@...radead.org>,
        Ingo Molnar <mingo@...hat.com>, Will Deacon <will@...nel.org>,
        Boqun Feng <boqun.feng@...il.com>,
        linux-kernel@...r.kernel.org, john.p.donnelly@...cle.com,
        Hillf Danton <hdanton@...a.com>,
        Mukesh Ojha <quic_mojha@...cinc.com>,
        Ting11 Wang 王婷 <wangting11@...omi.com>
Subject: Re: [PATCH v7 0/4] lockinig/rwsem: Fix rwsem bugs & enable true lock
 handoff

On 1/26/23 07:46, Ingo Molnar wrote:
> * Waiman Long <longman@...hat.com> wrote:
>
>> v7:
>>   - Add a comment to down_read_non_owner() in patch 2.
>>   - Drop v6 patches 4 & 6 and simplify the direct rwsem lock handoff
>>     patch as suggested by PeterZ.
>>
>> v6:
>>   - Fix an error in patch 2 reported by kernel test robot.
>>
>> v5:
>>   - Drop patch 2 and replace it with 2 new patches disabling preemption on
>>     all reader functions and writer functions respectively. The other
>>     patches are adjusted accordingly.
>>
>> It turns out the current waiter optimistic spinning code does not work
>> that well if we have RT tasks in the mix. This patch series include two
>> different fixes to resolve those issues. The last 3 patches modify the
>> handoff code to implement true lock handoff similar to that of mutex.
>>
>> Waiman Long (4):
>>    locking/rwsem: Prevent non-first waiter from spinning in down_write()
>>      slowpath
>>    locking/rwsem: Disable preemption at all down_read*() and up_read()
>>      code paths
>>    locking/rwsem: Disable preemption at all down_write*() and up_write()
>>      code paths
>>    locking/rwsem: Enable direct rwsem lock handoff
>>
>>   kernel/locking/rwsem.c | 161 +++++++++++++++++++++++++++++------------
>>   1 file changed, 115 insertions(+), 46 deletions(-)
> So as a first step I've applied the first 3 patches to the locking tree,
> which are arguably fixes.

Thanks for merging into tip.

Cheers,
Longman

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ