From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id A8046CD4938 for ; Thu, 21 Sep 2023 02:02:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D70636B0170; Wed, 20 Sep 2023 22:02:06 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D1E5F6B017A; Wed, 20 Sep 2023 22:02:06 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C0D706B01F1; Wed, 20 Sep 2023 22:02:06 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id ACF046B0170 for ; Wed, 20 Sep 2023 22:02:06 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 62FA81CA7A8 for ; Thu, 21 Sep 2023 02:02:06 +0000 (UTC) X-FDA: 81258954252.21.8EFAA15 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) by imf16.hostedemail.com (Postfix) with ESMTP id 6CE6218001F for ; Thu, 21 Sep 2023 02:02:03 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=linutronix.de header.s=2020 header.b=ogBI4O6f; dkim=pass header.d=linutronix.de header.s=2020e header.b=jJA0HmiX; dmarc=pass (policy=none) header.from=linutronix.de; spf=pass (imf16.hostedemail.com: domain of tglx@linutronix.de designates 193.142.43.55 as permitted sender) smtp.mailfrom=tglx@linutronix.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1695261723; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=R7vVBda9gvcvqlzUBjjzT9jNAI4rEfJOwwmk972/3PU=; b=eqk1+2W4Cfk5rg3Q3D/NlhMtgCe1kZJWmLQnlXqudY1XGCfN/1Zhwj5rQEbaK5i3ccQiGj 68iigZuC4s7O+95rJaq/dGDL+VRNT2xqSEPOzKwtPCR8RfVwCLGvK1412TPBAlEH67QE/J +P4bUPZwIaI9Q7RTeWHH2Gf4W7nZtZk= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=linutronix.de header.s=2020 header.b=ogBI4O6f; dkim=pass header.d=linutronix.de header.s=2020e header.b=jJA0HmiX; dmarc=pass (policy=none) header.from=linutronix.de; spf=pass (imf16.hostedemail.com: domain of tglx@linutronix.de designates 193.142.43.55 as permitted sender) smtp.mailfrom=tglx@linutronix.de ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1695261723; a=rsa-sha256; cv=none; b=15BkSOClSfRidoTVdDLC8Ms1YOLvWCp7KiSoNkHY7ELEm5BvN9JbvXCVRvVj6vq6ylskMT VJQaUbF2Im3eFg6C7AUPjPPF0HtOIDx0k9bKNyC1y3wH2+MXBGKSTa6t7arxkLUIm+xbF/ HzVi+aHlEI0iLuAW+JEb+uNR7m0nDAI= From: Thomas Gleixner DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1695261721; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=R7vVBda9gvcvqlzUBjjzT9jNAI4rEfJOwwmk972/3PU=; b=ogBI4O6fwkuLRnY+Vzhprbc+qTFmU7x2aYzM0yF/sKa4gViHGhx49AY7phU642gLDd1h2I 5qz/YI5PD/nxfpxSf+9SMeEZ6A4eYzAEU7B5AhhfgoFFzATcI/8jWvIQq33qcRggw0wqQi +bQmdW5wBu1TqNNcZt6u5AAy9Z4BdnkdeOzufnAem+7DU8m9Kf9olgXg3pvOiGo2iqnn+T wGXAIcg4dxUOgliIYCqiW+xk+Ki0lNtAZkUzP8Zwsd+v3vQChbjDCvYq2JoOyPp0rRDnBa FER4gxKUe8wHFMaod9ZbDEbEVqdwmKiZs2KdeBibFhF0AEjHJrEQGtnZpEX5YA== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1695261721; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=R7vVBda9gvcvqlzUBjjzT9jNAI4rEfJOwwmk972/3PU=; b=jJA0HmiXaG/8raS9gLO+e4rwncohcsaxDM4qlc7rLUqH8+znF5rGDEYPg+mVzYbcdPbczr Nrm8Tzp5j2TWLvCg== To: Ankur Arora Cc: Linus Torvalds , Peter Zijlstra , Ankur Arora , linux-kernel@vger.kernel.org, linux-mm@kvack.org, x86@kernel.org, akpm@linux-foundation.org, luto@kernel.org, bp@alien8.de, dave.hansen@linux.intel.com, hpa@zytor.com, mingo@redhat.com, juri.lelli@redhat.com, vincent.guittot@linaro.org, willy@infradead.org, mgorman@suse.de, rostedt@goodmis.org, jon.grimm@amd.com, bharata@amd.com, raghavendra.kt@amd.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, jgross@suse.com, andrew.cooper3@citrix.com, Frederic Weisbecker Subject: Re: [PATCH v2 7/9] sched: define TIF_ALLOW_RESCHED In-Reply-To: <87edisibrp.fsf@oracle.com> References: <20230830184958.2333078-8-ankur.a.arora@oracle.com> <20230908070258.GA19320@noisy.programming.kicks-ass.net> <87zg1v3xxh.fsf@oracle.com> <87edj64rj1.fsf@oracle.com> <87zg1u1h5t.fsf@oracle.com> <20230911150410.GC9098@noisy.programming.kicks-ass.net> <87h6o01w1a.fsf@oracle.com> <20230912082606.GB35261@noisy.programming.kicks-ass.net> <87cyyfxd4k.ffs@tglx> <87led2wdj0.ffs@tglx> <8734z8v1lo.ffs@tglx> <87edisibrp.fsf@oracle.com> Date: Thu, 21 Sep 2023 04:02:00 +0200 Message-ID: <87ttrothbb.ffs@tglx> MIME-Version: 1.0 Content-Type: text/plain X-Rspamd-Queue-Id: 6CE6218001F X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: a5c1j7jn891ee493fj1qns34c6mx4adk X-HE-Tag: 1695261723-483068 X-HE-Meta: U2FsdGVkX18EU646NIeEpDhqic+Rw/2/5XrYt8eO/5orekSsiiDJEhZTvP6Xb/AXpZHg5kMjIoCx2KyOTWq0hapg0Xvfkxt5AejA21VA/nqbTylFCquZJhdppY3eyGeQYVhXqF80zOldw3PSBCQVEtaAgsCRKIIUOqR/c5FJuC1iLfFo3PhV74HWINUTHOPUOjaJJkcgK52Jo9+rR9oqMOJ7ASMfY/JJBoXR306RG0e6XNOY1FC4jf6nH5uP6/RAj345huC+/6WDjFQL6iqXBSf+tpiL/t3Hn7Bf4Ifhar6oRq/C3iXZorMdWOrDDOVrDdL/OcGOq7S+iTWWNA7mYaUIRX3AMyjAfcf7OhnqNNGm4Cpav112D7m1vSZKENhCTBYre3GTvhLjn2C5FFuhk8DLltVPqFIW4neguC8L47XBGOMl4936fZN+QzgTdvtCgZD+g3vhDkEWh4rm9g3IHhcILqbEXEXTlrUqhON5HjBw/RUJQnspV694FSJcBJBr72uQdFT/bGpdggEeTBwlkEnZRME9Nex5HW6MqXmBmm07TAmFE710UhGNUhgHsUYpDtvfwBgDy8VvoEWOb8Ck85+KwtO42sOGQ221N7hJY1UkFb8spswp6OXgFPe87Q43gDQTL5QKQrVWmrd+hPooXJEJ4MegNcDytFzKdVoBkGwOC8VTtgL9zdwyfL2JVGqMElshm/4yC0TH0tmpuRDoR0C3/rxHCbgB4iOFrbbBfRNrFIgFLEiRUxZax8bO7qEmIW7llMlsrOVEMQXghFfGVdIS/tnCkunvgJfKOaaloL51Qg8msv/ZImBFg1XP5I8WcZrs0ZQK4K51xk0NmwQ3kfvxi+6KZuXGRbfRIaNZO81ATAjn4vtUuJcyJfbwO4f8UM2y0SyPjCuxc5ig+wRbSbNUTlT/xKPXRZAJ5EQf4rya/4k/t0VsErCYKjJf/Vu1RhZvdD41jm3HDZQ2H+M EHSEJUUX l+2EvBFEo1cyr2OBHX7vCqTekdXPFKhoUnpBvSA6mIde938zy1RzhpceadVpyzXQoc+ZKTa15jA2B6PGlVxwnJIDmmSqC4bHr+/XJ X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Wed, Sep 20 2023 at 17:57, Ankur Arora wrote: > Thomas Gleixner writes: >> Find below a PoC which implements that scheme. It's not even close to >> correct, but it builds, boots and survives lightweight testing. > > Whew, that was electric. I had barely managed to sort through some of > the config maze. > From a quick look this is pretty much how you described it. Unsurpringly I spent at least 10x the time to describe it than to hack it up. IOW, I had done the analysis before I offered the idea and before I changed a single line of code. The tools I used for that are git-grep, tags, paper, pencil, accrued knowledge and patience, i.e. nothing even close to rocket science. Converting the analysis into code was mostly a matter of brain dumping the analysis and adherence to accrued methodology. What's electric about that? I might be missing some meaning of 'electric' which is not covered by my mostly Webster restricted old-school understanding of the english language :) >> I did not even try to look into time-slice enforcement, but I really want >> to share this for illustration and for others to experiment. >> >> This keeps all the existing mechanisms in place and introduces a new >> config knob in the preemption model Kconfig switch: PREEMPT_AUTO >> >> If selected it builds a CONFIG_PREEMPT kernel, which disables the >> cond_resched() machinery and switches the fair scheduler class to use >> the NEED_PREEMPT_LAZY bit by default, i.e. it should be pretty close to >> the preempt NONE model except that cond_resched() is a NOOP and I did >> not validate the time-slice enforcement. The latter should be a >> no-brainer to figure out and fix if required. > > Yeah, let me try this out. That's what I hoped for :) Thanks, tglx