Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933150AbcKGStT (ORCPT ); Mon, 7 Nov 2016 13:49:19 -0500 Received: from smtpi-sp-246.kinghost.net ([177.185.201.246]:52577 "EHLO smtpi-sp-246.kinghost.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933208AbcKGStQ (ORCPT ); Mon, 7 Nov 2016 13:49:16 -0500 Subject: Re: [PATCH] sched/rt: RT_RUNTIME_GREED sched feature To: Steven Rostedt , Christoph Lameter References: <20161107133207.4282de69@gandalf.local.home> Cc: Daniel Bristot de Oliveira , Ingo Molnar , Peter Zijlstra , linux-rt-users , LKML From: Daniel Bristot de Oliveira Message-ID: <47238aa4-cc41-96ac-4d6e-c182a340db85@bristot.me> Date: Mon, 7 Nov 2016 19:49:03 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: <20161107133207.4282de69@gandalf.local.home> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1077 Lines: 26 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