[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <238a7db7-3263-a391-3c57-143e9d422351@oracle.com>
Date: Fri, 26 Feb 2021 15:07:22 -0500
From: Chris Hyser <chris.hyser@...cle.com>
To: Josh Don <joshdon@...gle.com>
Cc: Peter Zijlstra <peterz@...radead.org>,
"Joel Fernandes (Google)" <joel@...lfernandes.org>,
Nishanth Aravamudan <naravamudan@...italocean.com>,
Julien Desfossez <jdesfossez@...italocean.com>,
Tim Chen <tim.c.chen@...ux.intel.com>,
Vineeth Pillai <viremana@...ux.microsoft.com>,
Aaron Lu <aaron.lwe@...il.com>,
Aubrey Li <aubrey.intel@...il.com>,
Thomas Gleixner <tglx@...utronix.de>,
linux-kernel <linux-kernel@...r.kernel.org>, mingo@...nel.org,
torvalds@...ux-foundation.org, fweisbec@...il.com,
Kees Cook <keescook@...omium.org>,
Greg Kerr <kerrnel@...gle.com>, Phil Auld <pauld@...hat.com>,
Valentin Schneider <valentin.schneider@....com>,
Mel Gorman <mgorman@...hsingularity.net>,
Pawan Gupta <pawan.kumar.gupta@...ux.intel.com>,
Paolo Bonzini <pbonzini@...hat.com>, vineeth@...byteword.org,
Chen Yu <yu.c.chen@...el.com>,
Christian Brauner <christian.brauner@...ntu.com>,
Agata Gruza <agata.gruza@...el.com>,
Antonio Gomez Iglesias <antonio.gomez.iglesias@...el.com>,
graf@...zon.com, konrad.wilk@...cle.com, dfaggioli@...e.com,
Paul Turner <pjt@...gle.com>,
Steven Rostedt <rostedt@...dmis.org>,
Patrick Bellasi <derkling@...gle.com>, benbjiang@...cent.com,
Alexandre Chartre <alexandre.chartre@...cle.com>,
James.Bottomley@...senpartnership.com, OWeisse@...ch.edu,
Dhaval Giani <dhaval.giani@...cle.com>,
Junaid Shahid <junaids@...gle.com>,
Jesse Barnes <jsbarnes@...gle.com>,
Ben Segall <bsegall@...gle.com>, Hao Luo <haoluo@...gle.com>,
Tom Lendacky <thomas.lendacky@....com>
Subject: Re: [PATCH v10 2/5] sched: CGroup tagging interface for core
scheduling
On 2/24/21 10:47 AM, chris hyser wrote:
> On 2/24/21 8:52 AM, chris hyser wrote:
>> On 2/24/21 8:02 AM, Chris Hyser wrote:
>>
>>>> However, it means that overall throughput of your binary is cut in
>>>> ~half, since none of the threads can share a core. Note that I never
>>>> saw an indefinite deadlock, just ~2x runtime for your binary vs th > control. I've verified that both a) manually
>>>> hardcoding all threads to
>>>> be able to share regardless of cookie, and b) using a machine with 6
>>>> cores instead of 2, both allow your binary to complete in the same
>>>> amount of time as without the new API.
>>>
>>> This was on a 24 core box. When I run the test, I definitely hangs. I'll answer your other email as wwll.
>>
>>
>> I just want to clarify. The test completes in secs normally. When I run this on the 24 core box from the console,
>> other ssh connections immediately freeze. The console is frozen. You can't ping the box and it has stayed that way for
>> up to 1/2 hour before I reset it. I'm trying to get some kind of stack trace to see what it is doing. To the extent
>> that I've been able to trace it or print it, the "next code" always seems to be __sched_core_update_cookie(p);
>
> I cannot duplicate this on a 4 core box even with 1000's of processes and threads. The 24 core box does not even create
> the full 400 processes/threads in that test before it hangs and that test reliably fails almost instantly. The working
> theory is that the 24 core box is doing way more of the clone syscalls in parallel.
Update:
The clone syscall stress test I have is causing a deadlock with this patchset when
compiled with CONFIG_PROVE_RAW_LOCK_NESTING=y. I am able to get stacktraces with
nmi_watchdog and am looking through those. Josh was not able to duplicate the
deadlock, instead getting an actual warning about kmalloc w/GFP_ATOMIC while
under a raw spinlock in the function __sched_core_update_cookie(). When I retry
the test with a patch Josh sent, removing the kmalloc() and thus the trigger of
the warning, no more deadlock. So some combination of CONFIGs, timing and
function calls seems to have found something in this LOCK proving code.
-chrish
Powered by blists - more mailing lists