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:   Mon, 7 Nov 2016 19:49:03 +0100
From:   Daniel Bristot de Oliveira <daniel@...stot.me>
To:     Steven Rostedt <rostedt@...dmis.org>,
        Christoph Lameter <cl@...ux.com>
Cc:     Daniel Bristot de Oliveira <bristot@...hat.com>,
        Ingo Molnar <mingo@...hat.com>,
        Peter Zijlstra <peterz@...radead.org>,
        linux-rt-users <linux-rt-users@...r.kernel.org>,
        LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] sched/rt: RT_RUNTIME_GREED sched feature



On 11/07/2016 07:32 PM, Steven Rostedt wrote:
>> Excellent this would improve the situation with deadlocks as a result of
>> > cgroup_locks not being released due to lack of workqueue processing.
> ?? What deadlocks do you see? I mean, can you show the situation that
> throttling RT tasks will cause deadlock?
> 
> Sorry, but I'm just not seeing it.

It is not a deadlock in the theoretical sense of the word, but it is
more a side effect of the starvation - that looks like a deadlock.

There is a case where the removal of a cgroup dir calls
lru_add_drain_all(), that might schedule a kworker in the CPU that is
running the spinning-rt task. The kworker will starve - because they are
SCHED_OTHER by design, the lru_add_drain_all() will wait forever while
holding the cgroup lock and this will cause a lot of problems on other
tasks.

This problem was fixed on -rt using a -rt specific lock mechanism, but
the problem still exist in the non-rt kernel. Btw, this is just an
example of side effects of the starvation of non-rt-tasks. We can have
more examples...

-- Daniel

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ