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 7AC05C61D85 for ; Tue, 21 Nov 2023 22:26:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F16C56B04F8; Tue, 21 Nov 2023 17:26:37 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id EC76A6B04FC; Tue, 21 Nov 2023 17:26:37 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D8E6F6B04FE; Tue, 21 Nov 2023 17:26:37 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id CB20E6B04F8 for ; Tue, 21 Nov 2023 17:26:37 -0500 (EST) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id A290FC0386 for ; Tue, 21 Nov 2023 22:26:37 +0000 (UTC) X-FDA: 81483396834.10.0BE8512 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf22.hostedemail.com (Postfix) with ESMTP id E18FBC000F for ; Tue, 21 Nov 2023 22:26:35 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=C1XFxvqU; spf=pass (imf22.hostedemail.com: domain of "SRS0=TAUs=HC=paulmck-ThinkPad-P17-Gen-1.home=paulmck@kernel.org" designates 139.178.84.217 as permitted sender) smtp.mailfrom="SRS0=TAUs=HC=paulmck-ThinkPad-P17-Gen-1.home=paulmck@kernel.org"; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1700605596; h=from:from:sender:reply-to: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=7TFHxj8Zcme8QvZAjCZF1MoHV884vaZtlBYZAOZw+Dc=; b=eNxAdUkDzs4RfZZsstl8eHxuXYLMirfY2ntxTOj2zzY1W9LFTmpZraE6AVlsxFNrMaoXS8 XHdOteXDFRbWagfDGLvXUuIkL2YkhzZFTL7VJlELQoAohrcfO/pBXSPC5zekAMKjMso3V7 HEJwL4Qqx3sgqpaRMesExUAkcxlY/+A= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1700605596; a=rsa-sha256; cv=none; b=7Cm/V8S8qlLuTaFheStVBXElmD9qz/cTJ70TYNq+m1R9L2bci+Uo+D3i1j3pSNKwqFLLsu OCfvr0V/7Cvy19VPycWwdGgiCvVVllZvKZtvmhYN/HNlc4oeeKarBKi3M2OkONp5gE4SsN WJyKsVxX1omS/IRBJifhw6r9tQentKM= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=C1XFxvqU; spf=pass (imf22.hostedemail.com: domain of "SRS0=TAUs=HC=paulmck-ThinkPad-P17-Gen-1.home=paulmck@kernel.org" designates 139.178.84.217 as permitted sender) smtp.mailfrom="SRS0=TAUs=HC=paulmck-ThinkPad-P17-Gen-1.home=paulmck@kernel.org"; dmarc=pass (policy=none) header.from=kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id A14D761B71; Tue, 21 Nov 2023 22:26:34 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 41244C433C8; Tue, 21 Nov 2023 22:26:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1700605594; bh=FPPt5tUzEZ3u3b0Jn2C7V097kPxP7PC2yCECE/pLi8s=; h=Date:From:To:Cc:Subject:Reply-To:References:In-Reply-To:From; b=C1XFxvqURFiwuXNBaj4WAHtdDfR/f+c6b8VbzSMgMK/kkHG0C5iCocQXshA8LPBgB dLyQYC/IPlgtArFw6Ic1QOMCfybHii0KX1LXH5VoKL/a/vJW+uKHPLnThP6Dul3iZt KAaNyRN/jO5yMK9mZvgihyuT9u6jHYc704Jihr4mSnBYvMdCr6B6qPVvt4yiDuJy2F R2z+5r3NBdT93C7htb8QVBB+Iiamp9bfWirB1EnOteiLGN/uvp6r5V1xSLjF99P4WG LFcmgTDCjMgdbEnn5FzYL51qpnPv8N+viveehMZBkcszZgPUVN4TWgtcdQC+XF/EEm ekMM5yPuMsJqw== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id C9412CE078E; Tue, 21 Nov 2023 14:26:33 -0800 (PST) Date: Tue, 21 Nov 2023 14:26:33 -0800 From: "Paul E. McKenney" To: Steven Rostedt Cc: Peter Zijlstra , Ankur Arora , linux-kernel@vger.kernel.org, tglx@linutronix.de, torvalds@linux-foundation.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, David.Laight@aculab.com, richard@nod.at, mjguzik@gmail.com Subject: Re: [RFC PATCH 48/86] rcu: handle quiescent states for PREEMPT_RCU=n Message-ID: <4605b4f4-8a2b-4653-b684-9c696c36ebd0@paulmck-laptop> Reply-To: paulmck@kernel.org References: <20231107215742.363031-1-ankur.a.arora@oracle.com> <20231107215742.363031-49-ankur.a.arora@oracle.com> <2027da00-273d-41cf-b9e7-460776181083@paulmck-laptop> <87lear4wj6.fsf@oracle.com> <46a4c47a-ba1c-4776-a6f8-6c2146cbdd0d@paulmck-laptop> <31d50051-e42c-4ef2-a1ac-e45370c3752e@paulmck-laptop> <20231121203049.GN8262@noisy.programming.kicks-ass.net> <1cdbb0f6-9078-4023-bf37-8d826ca0c711@paulmck-laptop> <20231121163834.571abb52@gandalf.local.home> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20231121163834.571abb52@gandalf.local.home> X-Stat-Signature: o6r4y461fxiw99kjstdjekio69mkn6yz X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: E18FBC000F X-Rspam-User: X-HE-Tag: 1700605595-610191 X-HE-Meta: U2FsdGVkX1+M/Eo4U+HVo6Lvpxfy2foMi+ww2mNaDlNvG1TQk/61myEUmGeG+PiSR9Suvc7SZYqTMQAyN7UGi6yG6StNF2tRb6iPA7vA36Z17pdsQz7DEFddvZSUHhtddOJwLXMZs1CfZ0rhHoWASlftm9fZOlo5r5ZsI/29ho2+NotDrziBPAiJjby1jIZBfujJRqKJvnY/cp4xzFJPB65DATbPA3w+nO6PYkguQT3f58PmREx2bXfwnJKPFdKNJ9Bs0eXD9Jh0x6fObucLeJUC2pvkdMnbqY/keYNDjmRubRI7mfCjdFLm4XiHbrSEn3gxJq5vMd4l+ucvHHpWyX2bWZwYuXJ5BigWLe6Drmfvvy6pzzjlxUbD1j9mUZZ70OdqPJlwx7rH8j8l9rCatjFuUFsFZOy+11aLgHtSdjUk3SYs1C/gRQAFImqgWCBdSx9H2R/PCJKpIgnH3QXv1H3DVj91eqAhMfWYkhBemd2wGuuep0wqCZ9ee7y6AMdNx6l5ZaWEZPi1NCQbuwdTmZSQpfM7EIy+zm+GNWZcih3Rtv4osBnUDTWli+DGjuHw8UUD4ypc2hxqWBl3aiifi0pItMhvPpf5BYrixqR991Wj7irQvLkkFMql8zE8rQ0wO2ddHBNh0DugyGjVwED3Ai5fVlc1GigRpOwvKqt3IqG18sgJmhq8hi1Nl84n+ojWNaMqKlDJirBIjLMgb2AC65Z1pt3R+ooHvxlPDSLIjgEzwvWHH/73QXHMzOn3Nd0CVHbdilMT9uh3vF601FsZ0si66w3IbM37XwPf+QtrSoJhMzSJ3srAl54ppzuc6xMjVObEIFV+h91DVKJdfw4xubpmT9Zj8HbBqJhWkI7aOAZFBsq6I4dpMRBlYe5K/m23ZhUSu18D8tPmDSi5pKn0AGQFQ392rXwlnPO51XrjJ+5tgCBWVGnwCGscwZdYWQPUhyKk+P9QZMAgQQa7Kr/ KqbRLtvR rIEbjN5+uJZrqajuccGZ/zG4l0QGjJU4XD878Qq2bBq7WJOE7wbdF2PbGP1BqwYhaUZODdVcpTFlMeNh990XGecRmF2wV1afiGYNg3lH2wjULyG8CYrKOCxYVnDdIvoo9NT+9eW6I7+5kK36nzs/kFJOf+sxukmDuWCacq6T/2UmQ4cQf7d3Hj1mnsZBL92uNCo9kj4KrOLek9CeeeE1yeXxjwFqLXGLG4hxacf8Gsyud4B6Y8v5GqrNQJU303KwwGby67cApQ5TVv+eum8sYfcNroTYY/S3efQFPS4Rzo89MJWbOhk3WIZyeXJt7L9j4gEtYR/KFuzdrB6GsKvBm0O1Z2NO/oZTZQXaad7FNDANCVsyKHCJzHIZ/sIANPbAAVzJ4UlqqrukVrk4l4cCHmUvHwTwvFWyi/hpD4wzpcQSY/F53cfeTRe1cDMl+gejmBECg96l4037YHksOUvNPE5m2j6Tm8evzpBqEKWyz9FAu3aAB33lTuM0tBxwad5xj5N9isb9q/k19NgexIbYwlseTHxa39L4r3OLSy2QuVmlurV0sIjh7tEXdN8gy3BAUlcrFG0TPUZZYDrnnIfIXo8kpD78CIr5DWYFU8Vcs/bMhWIwKJpnDfCTeCeSZc5R/8+2DAIp6AoiJ214= 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 21, 2023 at 04:38:34PM -0500, Steven Rostedt wrote: > On Tue, 21 Nov 2023 13:14:16 -0800 > "Paul E. McKenney" wrote: > > > On Tue, Nov 21, 2023 at 09:30:49PM +0100, Peter Zijlstra wrote: > > > On Tue, Nov 21, 2023 at 11:25:18AM -0800, Paul E. McKenney wrote: > > > > #define preempt_enable() \ > > > > do { \ > > > > barrier(); \ > > > > if (!IS_ENABLED(CONFIG_PREEMPT_RCU) && raw_cpu_read(rcu_data.rcu_urgent_qs) && \ > > > > (preempt_count() & (PREEMPT_MASK | SOFTIRQ_MASK | HARDIRQ_MASK | NMI_MASK) == PREEMPT_OFFSET) && > > > > !irqs_disabled()) \ > > Could we make the above an else case of the below if ? Wouldn't that cause the above preempt_count() test to always fail? Another approach is to bury the test in preempt_count_dec_and_test(), but I suspect that this would not make Peter any more happy than my earlier suggestion. ;-) > > > > rcu_all_qs(); \ > > > > if (unlikely(preempt_count_dec_and_test())) { \ > > > > __preempt_schedule(); \ > > > > } \ > > > > } while (0) > > > > > > Aaaaahhh, please no. We spend so much time reducing preempt_enable() to > > > the minimal thing it is today, this will make it blow up into something > > > giant again. > > Note, the above is only true with "CONFIG_PREEMPT_RCU is not set", which > keeps the preempt_count() for preemptable kernels with PREEMPT_RCU still minimal. Agreed, and there is probably some workload that does not like this. After all, current CONFIG_PREEMPT_DYNAMIC=y booted with preempt=none would have those cond_resched() invocations. I was leary of checking dynamic information, but maybe sched_feat() is faster than I am thinking? (It should be with the static_branch, but not sure about the other two access modes.) Thanx, Paul