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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 27 Sep 2022 11:25:22 -0400
From:   Waiman Long <longman@...hat.com>
To:     Mukesh Ojha <quic_mojha@...cinc.com>,
        Peter Zijlstra <peterz@...radead.org>, mingo@...hat.com,
        will@...nel.org
Cc:     linux-kernel@...r.kernel.org, "<boqun.feng"@gmail.com
Subject: Re: locking/rwsem: RT throttling issue due to RT task hogging the cpu


On 9/20/22 12:19, Mukesh Ojha wrote:
> Hi,
>
> We are observing one issue where, sem->owner is not set and 
> sem->count=6 [1] which means both RWSEM_FLAG_WAITERS and 
> RWSEM_FLAG_HANDOFF bits are set. And if unfold the sem->wait_list we 
> see the following order of process waiting [2] where [a] is waiting 
> for write, while [b],[c] are waiting for read and [d] is the RT task 
> for which waiter.handoff_set=true and it is continuously running on 
> cpu7 and not letting the first write waiter [a] on cpu7.
>
> [1]
>
>   sem = 0xFFFFFFD57DDC6680 -> (
>     count = (counter = 6),
>     owner = (counter = 0),
>
> [2]
>
> [a] kworker/7:0 pid: 32516 ==> [b] iptables-restor pid: 18625 ==> 
> [c]HwBinder:1544_3  pid: 2024 ==> [d] RenderEngine pid: 2032 cpu: 7 
> prio:97 (RT task)
>
>
> Sometime back, Waiman has suggested this which could help in RT task
> leaving the cpu.
>
> https://lore.kernel.org/all/8c33f989-8870-08c6-db12-521de634b34e@redhat.com/ 
>
>
Sorry for the late reply. There is now an alternative way of dealing 
with this RT task hogging issue with the commit 48dfb5d2560d 
("locking/rwsem: Disable preemption while trying for rwsem lock"). Could 
you try it to see if it can address your problem?

Thanks,
Longman

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ