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 8A92CC4167B for ; Wed, 8 Nov 2023 08:59:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 24EA88D00B0; Wed, 8 Nov 2023 03:59:01 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1FF0F8D00AD; Wed, 8 Nov 2023 03:59:01 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0EF708D00B0; Wed, 8 Nov 2023 03:59:01 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id F40EE8D00AD for ; Wed, 8 Nov 2023 03:59:00 -0500 (EST) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id C98DDA0345 for ; Wed, 8 Nov 2023 08:59:00 +0000 (UTC) X-FDA: 81434187240.24.E507AD0 Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) by imf18.hostedemail.com (Postfix) with ESMTP id AF74C1C001B for ; Wed, 8 Nov 2023 08:58:57 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=YobceBSd; spf=none (imf18.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) smtp.mailfrom=peterz@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1699433938; 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=gVg/BkXKsNwGudM+L56Wgnqmj1mUU2FtDJSXo8eK0ks=; b=hESBuXCAWuNi/JFySmK+3qYKyQfLRzIUIlCD7JBG+zunrKxO0BM1yRDwVJ18ph5GdX/S8F 0WrToDXc2sUdZ+lFf4H1VnYQkQQkWXrb4HQ2+hP3GuHguKFMye7yp+4DZJvDeH3vh1d/cw DbI0Nnew78tpREgzwFBA3hjlfF3NQqs= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1699433938; a=rsa-sha256; cv=none; b=IquaPabb7jYSe+/dGQvUmxMVQk5K3/Y1o2YMKF8+FX/TfAINHY7j8qMQ/+NmIrxmsnSARR FTHJtyR1JeRw6dA4YBGN9YV3XRZ1GBDK05tUsvk+4KtEC4vkD9QrBgkVYokLR0yWEWPEEc YoetyDGPkINiR3E5aWn68GWJcfHz4Xo= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=YobceBSd; spf=none (imf18.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) smtp.mailfrom=peterz@infradead.org; dmarc=none DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=gVg/BkXKsNwGudM+L56Wgnqmj1mUU2FtDJSXo8eK0ks=; b=YobceBSdYvBf+I9XqFS2+lDBB/ /lddbiLSi4YJgRp2Ac9zK66IcKqnkd8AbBV4pBlXTA9rv4kvcok7lLgBtAiO1Mv4cDXKRVPYRtGzK v71ArJyCb+nanfXTfTrjaEVPI+C7ShICzHwXCAlERvF0pmWIJPaW5fV5WxPpmhulX0egyrzpIg3c8 TINdSKSBMsDxDn/6nT7/1/BMkrY94/hB88ZJORIh0K1Zd8rKs8/Nmpwt1j4NbAkZ09Os0bkRYmfB/ c6pGJYMJR6GiQ9KsaXPXq9iZn2IRT/ijyUifGBk35FnduplWymvk5FoIKY4Za6ED1Y0uf6L7B/8oa EdyEyMoQ==; Received: from j130084.upc-j.chello.nl ([24.132.130.84] helo=noisy.programming.kicks-ass.net) by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux)) id 1r0eOJ-00DMoq-20; Wed, 08 Nov 2023 08:58:27 +0000 Received: by noisy.programming.kicks-ass.net (Postfix, from userid 1000) id 4C31D30049D; Wed, 8 Nov 2023 09:58:27 +0100 (CET) Date: Wed, 8 Nov 2023 09:58:27 +0100 From: Peter Zijlstra To: Ankur Arora Cc: linux-kernel@vger.kernel.org, tglx@linutronix.de, torvalds@linux-foundation.org, paulmck@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, 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, mingo@kernel.org, bristot@kernel.org, mathieu.desnoyers@efficios.com, geert@linux-m68k.org, glaubitz@physik.fu-berlin.de, anton.ivanov@cambridgegreys.com, mattst88@gmail.com, krypton@ulrich-teichert.org, rostedt@goodmis.org, David.Laight@aculab.com, richard@nod.at, mjguzik@gmail.com Subject: Re: [RFC PATCH 34/86] thread_info: accessors for TIF_NEED_RESCHED* Message-ID: <20231108085827.GE8262@noisy.programming.kicks-ass.net> References: <20231107215742.363031-1-ankur.a.arora@oracle.com> <20231107215742.363031-35-ankur.a.arora@oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20231107215742.363031-35-ankur.a.arora@oracle.com> X-Stat-Signature: 5eh3m8apu937rq3edo4a5f9e4edsuhr8 X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: AF74C1C001B X-Rspam-User: X-HE-Tag: 1699433937-336613 X-HE-Meta: U2FsdGVkX19qujU7GAq3G85Wpr554vEP2H9ubBDS+WdUoRCykmzPExrHWN8i0OvuoItxgJcSjZxfz3ewxUe5xo/81bcrDNXyAGuBJYcsgetplYFYTUCXWJN9bPKBf5/0zAyCiq0gu96u8fOAgJE3zeYEawWzohrWzhH3nr7BXLH5ZcWyX1gtBCEEcfrCtFg7VZjsKEtNeif6uBkTDD7iMx1A2sr7K45g4cnvnocmePQGKC6Idv20tDIsz0+rXvRv9pVYHfG1kn70ZOhkJrL2FphdA3ArtIItTnEmxcduvpga9UVUFPxSUXiNqf1ia828snslIHEKwDaPoz8k63TlvwQ8O8bbA4+2PdjaJz33ZlHnlehVsZHVZrLynxTD2kIN3KvOmIiasC/aP/D7HjaDc1JuXVcJglNFymnS2PmVT3g1dWyt5hKC9TfM2IUoAhZwpJMJOEhR6Nal/viagUwMeHlbI66JD8aF6+u7wKHZrvfu3lUI46bi5Rqad593AjMITFAEom9QN7gZhj3/sDPvL9tb0Ojfnu+PqkKK+wnYV6WecQ2twI1yS3UozK2kcJiGRsHz5JUs6R6JVQ0bXFobDUomm7dGkU22Y/5U/02gY3ztjMWiu15ar3Fl6OFFexMjZ0r2lv6XhKumG+iD4oVND5kZpD2bP3OJGrf7D4oLN0S7DejcYFoleU5Oim1DWPpcFlnbJmQUtsud/2uPkYBbgi/OVhHgsgh2mOMhNqE61Hrllv++7tY2Wrwkd9MRbtu1Pb+KdfEJG0ryyduvzF8PucqsmMDztofF80q+XTqgfiLeLaUMzNeS+UG/a8hQrfbYUHeqhk9NjVD3q2vyU22OaF+x2xzMjq8Ogqgw51q09xuzh79HmbDQfvD2GBCRypLVUGge9UaQe5Fe9yoTy/MyUOj59Ru1a40o7yNq+XF7NnFq903eueYB//U4ZAZSIco0+BiOzt0HIHxHJjRrw2i t8aGxtAW lUeR/XG87JXYRgD+jf/7LvRfNX4cxY0Glw5kA9mDBJ7h6o/iFWcBqqPpIcDQLgodNPsQJkGtP6N84yiRB/F/OdDZqLhcdxk1mbygnaH4YQz+1DzFY9LUDQNzrw4LzWVcNI3LIYoNA/qt8urC0DIPOwxji/GUFq5DL7A3CUY+FeS/d3K5ljGHvJPevNGdKmg4NNWmNX2Fmi7A4tMDFYHuLes1eRw== 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: List-Subscribe: List-Unsubscribe: On Tue, Nov 07, 2023 at 01:57:20PM -0800, Ankur Arora wrote: > Add tif_resched() which will be used as an accessor for TIF_NEED_RESCHED > and TIF_NEED_RESCHED_LAZY. The intent is to force the caller to make an > explicit choice of how eagerly they want a reschedule. > > This interface will be used almost entirely from core kernel code, so > forcing a choice shouldn't be too onerous. > > Originally-by: Thomas Gleixner > Signed-off-by: Ankur Arora > --- > include/linux/thread_info.h | 21 +++++++++++++++++++++ > 1 file changed, 21 insertions(+) > > diff --git a/include/linux/thread_info.h b/include/linux/thread_info.h > index 9ea0b28068f4..4eb22b13bf64 100644 > --- a/include/linux/thread_info.h > +++ b/include/linux/thread_info.h > @@ -59,6 +59,27 @@ enum syscall_work_bit { > > #include > > +#ifndef TIF_NEED_RESCHED_LAZY > +#error "Arch needs to define TIF_NEED_RESCHED_LAZY" > +#endif > + > +#define TIF_NEED_RESCHED_LAZY_OFFSET (TIF_NEED_RESCHED_LAZY - TIF_NEED_RESCHED) > + > +typedef enum { > + RESCHED_eager = 0, > + RESCHED_lazy = TIF_NEED_RESCHED_LAZY_OFFSET, > +} resched_t; > + > +static inline int tif_resched(resched_t r) > +{ > + return TIF_NEED_RESCHED + r; > +} > + > +static inline int _tif_resched(resched_t r) > +{ > + return 1 << tif_resched(r); > +} So either I'm confused or I'm thinking this is wrong. If you want to preempt eagerly you want to preempt more than when you're not eager to preempt, right? So an eager preemption site wants to include the LAZY bit. Whereas a site that wants to lazily preempt would prefer to not preempt until forced, and hence would not include LAZY bit.