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 29CE1C61D97 for ; Wed, 22 Nov 2023 00:12:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A8D7D6B051C; Tue, 21 Nov 2023 19:12:25 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 9EF1E6B051D; Tue, 21 Nov 2023 19:12:25 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 88FCB6B051E; Tue, 21 Nov 2023 19:12:25 -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 733DC6B051C for ; Tue, 21 Nov 2023 19:12:25 -0500 (EST) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 4BE0DC0A74 for ; Wed, 22 Nov 2023 00:12:25 +0000 (UTC) X-FDA: 81483663450.16.30E954D Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf02.hostedemail.com (Postfix) with ESMTP id 8D68980007 for ; Wed, 22 Nov 2023 00:12:23 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=none; spf=pass (imf02.hostedemail.com: domain of "SRS0=GbpA=HD=goodmis.org=rostedt@kernel.org" designates 139.178.84.217 as permitted sender) smtp.mailfrom="SRS0=GbpA=HD=goodmis.org=rostedt@kernel.org"; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1700611943; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=aPjubadQVqYCa5a2sEA68idorDicvWq62PznNQBMxzc=; b=2UCH4p1qLnxs1HbcqiC8bsgdyWlICe4LkRCEd5fj7o+au+JKLJl76+h+DTXS3bB69iUpbJ r8wKJRgrffjBGFbUDjT9HYV3yI9Iga2KYKcOnHoy1Y1IHN81XbDhQNVJwqRFUJfijtKhY2 M1pg59uVZEuO9b7f7lMG3/tL2qg6hQY= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=none; spf=pass (imf02.hostedemail.com: domain of "SRS0=GbpA=HD=goodmis.org=rostedt@kernel.org" designates 139.178.84.217 as permitted sender) smtp.mailfrom="SRS0=GbpA=HD=goodmis.org=rostedt@kernel.org"; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1700611943; a=rsa-sha256; cv=none; b=kF49Ga7/nZDLjw/1e42Vx2Gqcg4EMO0DzIvXRIZ9nHzjXeQ+LlV4HakD2rBkX6Wg7NLOZA yKCXHwwkeDdAUlNPTdI4E/fbA4Jp8SrMG1HrjCGcrVYpiFziqQYvKnjqOQm+UoPU91fdww sY85kuZxBrCoEoWcrlVTNRgDYcvVPdc= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 6DEA1619A9; Wed, 22 Nov 2023 00:12:22 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5C29CC433C7; Wed, 22 Nov 2023 00:12:18 +0000 (UTC) Date: Tue, 21 Nov 2023 19:12:32 -0500 From: Steven Rostedt To: "Paul E. McKenney" 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: <20231121191232.630222d3@gandalf.local.home> In-Reply-To: <0d6a8e80-c89b-4ded-8de1-8c946874f787@paulmck-laptop> References: <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> <4605b4f4-8a2b-4653-b684-9c696c36ebd0@paulmck-laptop> <20231121175209.1d7ec202@gandalf.local.home> <0d6a8e80-c89b-4ded-8de1-8c946874f787@paulmck-laptop> X-Mailer: Claws Mail 3.19.1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 8D68980007 X-Rspam-User: X-Stat-Signature: 5541wwtdazfotfbg6p7ym564nb8xccfd X-Rspamd-Server: rspam01 X-HE-Tag: 1700611943-48789 X-HE-Meta: U2FsdGVkX19dcxeNB6fvCdw0yNUz6bRzHoe3mnn3Hyxgxzh1Vp+q7o2y3hb7d7RDgrKJb5tTaw10ZvT8ia4uk/fqUP7SumANQxAeaPiSOAjAAAQx+neXkzx49y3+EJh1qMM1K30sQ808c+CxYTDXNTlEeVR71gHGWeMcDM30C3nOqgkKBhJt6jQy4hLBbRoK6khNeNX4HEuTNtajTozpl6yUeqg40/TprnrTP35fDPlExxEgzobDry3WOWImEzK6kdlZFQICixnKTPK/6dwK/16bm+KecPjisrKEVAcq8bSTY2RVkdG+JHofglq9b0rSed953wq8XpERLBs9qDaO6hT9LUQYpWnxTIoADSbamxSnQ4JTYtunECz/IVrSsEO3/1P+KRJ25phtC2rd9F6+r+yP4RX0nMsQ0kKii0xfHiJ5IGH9v/VGGBcKjJIkEjPvDCoVQhxOaD1pw/rmowBnKGpzZSapo2XYL/gt4N9aWBJzL5N6hxLrxDblRfVTOxAgXa8KrkvuaCVnUAmL+lJETugZGixJmaEyL2t0yAGKW1623XRgtshXp3Wd5/W3TmMDyW4yF2a0rUQV9lURyylun7Y5gKoaIdaArIWBtE4HW/HwzWxDmL24dffosmafFGeu8VEgYBg1FhOTvlbbXxzUzz2tArnazf1VpxEQc74wK8xyIubmnMJSl9eD7PWhJ12vnwhhFEBABknuwshQVgvdZwtKxUTfhws7GglHQFKsJfWls6AbrpQNYuZ4EjvpW6Mwb3KJT3H+9E0dumqhm4WDnpwLNLu81Xzr35Gdk42/0vMJKv2YNKWPZzzqd3LZh8A3LapoctauAHQTLmq9CvsHvRzKa7Jc2YUV+wK88d1UJ9t40r9yIz3wy7WBmd6pxBmdTxkloTwtjP6/9uWRM0kGvzh1hFO7KEBfvwbS7SD0hWFogyUWohiDC4ap8p2pragqDNcD6xpdaJJ7AQYZGMS +O7G9E1O nlng/IAkde/bznFLL0tBWXk4w5YhQoK4vwvkN3lJBwueoe/KMI8P4bX4a+ZHk+YusdbCrkJqSBhqkk/X/AVqGBZn9DBRsZOy/uHrkf7nmNRnjl4Dc87JiOV3FYkJUh9Il24FSWrjx3O8TJP/cy5p4DnGvqXfEN5BuN+sa144/b4Jy7Xu4YSyDk4OIjezxkIVO0JxHigjscHZv+hYIFsAaqY+59Oq2VqSYoR1Nrcj9liKaWymcI6jphJLR8F0uOem7Pkomcj+UbdOmiD0Rq2hkaBwlT5kIkHU7TaqW1LrZlR3yYXrKcs1ha/SRVXktk2QAUh8vHsGMrrv3vqJRw2UAz02Y5pKLDi3Fa3naNsrj9c7AoMY= 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, 21 Nov 2023 16:01:24 -0800 "Paul E. McKenney" wrote: > > > I stand by that being in the else statement. It looks like that would keep > > the previous work flow. > > Ah, because PREEMPT_NEED_RESCHED is zero when we need to reschedule, > so that when __preempt_count_dec_and_test() returns false, we might > still be in an RCU quiescent state in the case where there was no need > to reschedule. Good point! > > In which case... > > #define preempt_enable() \ > do { \ > barrier(); \ > if (unlikely(preempt_count_dec_and_test())) \ > __preempt_schedule(); \ > else if (!sched_feat(FORCE_PREEMPT) && \ > (preempt_count() & (PREEMPT_MASK | SOFTIRQ_MASK | HARDIRQ_MASK | NMI_MASK) == PREEMPT_OFFSET) && \ > !irqs_disabled()) \ > ) \ > rcu_all_qs(); \ > } while (0) > > Keeping rcu_all_qs() pretty much as is. Or some or all of the "else if" > condition could be pushed down into rcu_all_qs(), depending on whether > Peter's objection was call-site object code size, execution path length, > or both. ;-) > > If the objection is both call-site object code size and execution path > length, then maybe all but the preempt_count() check should be pushed > into rcu_all_qs(). > > Was that what you had in mind, or am I missing your point? Yes, that is what I had in mind. Should we also keep the !IS_ENABLED(CONFIG_PREEMPT_RCU) check, which makes the entire thing optimized out when PREEMPT_RCU is enabled? -- Steve