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 D9827C4167B for ; Thu, 7 Dec 2023 14:22:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 61A666B0080; Thu, 7 Dec 2023 09:22:53 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 5CB776B0088; Thu, 7 Dec 2023 09:22:53 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 492A06B0089; Thu, 7 Dec 2023 09:22:53 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 3A0886B0080 for ; Thu, 7 Dec 2023 09:22:53 -0500 (EST) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 18EC9A0F16 for ; Thu, 7 Dec 2023 14:22:53 +0000 (UTC) X-FDA: 81540238626.21.30CAE9E Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) by imf30.hostedemail.com (Postfix) with ESMTP id 4C87A80013 for ; Thu, 7 Dec 2023 14:22:51 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=linutronix.de header.s=2020 header.b=LIwByYLR; dkim=pass header.d=linutronix.de header.s=2020e header.b=X3kwmPof; spf=pass (imf30.hostedemail.com: domain of tglx@linutronix.de designates 193.142.43.55 as permitted sender) smtp.mailfrom=tglx@linutronix.de; dmarc=pass (policy=none) header.from=linutronix.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1701958971; 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=5+meghr10Q4OSRh4RQyuEX2dDpm4A+Y90YMyl1NdRhU=; b=qcmPFLU3ALv+U4DF+2++/3ybYW/KMZZ73u4PfLSuAiFq5R/AdDYZHT5Zpaf3bW1l1sPihz HikqkW9+iU4vwr1qPdHt1oEn8GZHt2iKZhTuKNCCQh35HTEWRwYuL5nGJ5CUasUk8u9AcY K9wexoPpjG0KfQ+PGdNTAzPnDFO/8sc= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1701958971; a=rsa-sha256; cv=none; b=qYTeLBqW0GCmn4xg/o86dltlTQdoEohfcu2+uaCrrRfP+km/fg9JXIOOjh6uNtn3f9DuYH sW9DAouDQr04HMbFEqc0Xn22ehYw9O7jzAyeb72vt/1tXlaIrmg5ma4GAtPu48JtB7BM5n ZSUO7UD7mbMyRQTqblGoBk01KvV1O4o= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=linutronix.de header.s=2020 header.b=LIwByYLR; dkim=pass header.d=linutronix.de header.s=2020e header.b=X3kwmPof; spf=pass (imf30.hostedemail.com: domain of tglx@linutronix.de designates 193.142.43.55 as permitted sender) smtp.mailfrom=tglx@linutronix.de; dmarc=pass (policy=none) header.from=linutronix.de From: Thomas Gleixner DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1701958968; 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=5+meghr10Q4OSRh4RQyuEX2dDpm4A+Y90YMyl1NdRhU=; b=LIwByYLR+IKdR2U8iDshLjY1VnSSTv98bN5M/b7KlkEqe9nKvHrUML3xvobbzDKXXIemKk PV6LvSrTLwPPEVPPb8NjDqImj0cP9vH/C38qXipPwq2IKom66S06Mw4k0IWpfePGJoYB7h 05BgtphOFZea2/8Pxlk1drUTiGzczuxU53sUsKIjERPcSrdc7KxkVZoQ5oZ1/O6XjfWTK6 20ZCrKVGxFEM/jVYugxqijVPhv6qU/U4zE4ZubiOhFRdxTODyadHUmSDUmTa4FTW+NzB2Z J7jFjDOrby8PFumn9R9T3baFP1k5vsemmRRSr4MgNfXJ+fviJT3Rbi8gNMGHPg== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1701958968; 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=5+meghr10Q4OSRh4RQyuEX2dDpm4A+Y90YMyl1NdRhU=; b=X3kwmPofSRkNcOuT2sHFcEzLxyYQttefkBTMoLoFW2xmRh0MbL3p6eOOyHS0leUqUtDx1M urgD2/ovNFmHegBg== To: Ankur Arora , paulmck@kernel.org Cc: Ankur Arora , linux-kernel@vger.kernel.org, peterz@infradead.org, 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, rostedt@goodmis.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 In-Reply-To: <87zfymn6h9.fsf@oracle.com> References: <20231107215742.363031-1-ankur.a.arora@oracle.com> <20231107215742.363031-49-ankur.a.arora@oracle.com> <2027da00-273d-41cf-b9e7-460776181083@paulmck-laptop> <87v89lzu5a.ffs@tglx> <209f0e89-7ebd-4759-9883-21d842d0d26c@paulmck-laptop> <87zfymn6h9.fsf@oracle.com> Date: Thu, 07 Dec 2023 15:22:48 +0100 Message-ID: <87jzpqt7lz.ffs@tglx> MIME-Version: 1.0 Content-Type: text/plain X-Stat-Signature: bm36xm9thcrwwcikdxoiqsea8y8agish X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 4C87A80013 X-Rspam-User: X-HE-Tag: 1701958971-307281 X-HE-Meta: U2FsdGVkX185klWNobhGASQdsL9PtvUheYgeQoqJAExf+AKGxLfpQrLwb4vBLge4gDGqeLA6d+WH9DdoE1r78lV+BvFSqc8hAkFsvH4nZvRKtE8u1MuqmyCk5XzqwQHlaE5vtUCV07kS6bXTaEvkKcLcuWULVo+RoWsWUojvlFxxCZGxmKjz2rDhhoEDpA6E0/E44DXzzuzh4r9/U8hU6t+wcTu9M7sM7NBDnkWpP8xvVfxy4d+XFJQCd2/mHw5Ze+t+wTCDoFmWiYIOcvBWTXZ8TIapsK3ItvolkulMWi6do0ayzNevHmNQEQGTTcf4zLr9fJj2uh1jRreabGqkOPwF8nCAgMtDoj72Fe8BkA/+p2u/vpIHP7hHguzcyPfPpp9q7bC4ux5+mcbYC0/hAP7gwgmmGDYSVUWFp22MeCv1PptSU8kTrOBIm0hF8hWArmt5gfnqoAv6HHAo20c5gZLc2BtVaLBrGPbkIWdRe5BIUgO7jVh41YTswNE5mpo9VxZxny5zMDzZvQrwilynaMLOkJQTAYWGszdKta3PoPQYM7unmQKsumzNfHPA1vBnS0RWnFIk2GRYyj05MBM7MjEWwXka3Jbb7GS5tiumT+xjzju49qjiByve9Eh032QjGfjfcIsK/fZVF/vMg6oIIuhet1KcJbgYPZnwNrB17O/DMgTXWrmXrZFADZxL7xbzj+7Wq9ldS0IeRD9qVGIVBP1FvdkcoGCCvl0C2PTORit0SG3bVJVao/66+pO9TDtECZIqna1rlCyP+Q/mZB3waoy/2vghlFIoI0g5ZFTlIdXk3Y+sI8bdJJ/oI/CzcQZnWbEbdOqBbjoT2QJrZgLh//zf1od4djeuhhZxwLnIUwDyNaQs3WQbpOhDiHQ1VX0cOp/ZkLUa73yao4iwme1BNm4aSDUGR1rkfY8bBj/K0CjhTp0gBzgv1U5b0Nh6jZC6NyIsIWGK/+1JXIa+6iK bLoyCZeJ tWDYuw+ijSBqSSsnhRz9jEJDrkYMeFAjHalwiE92TqZkQBsTb3oTQ2NtTdkU0H/CTQTPXF0noDT8BgxN1rp46BykXHQSveqQlIbyK 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 Wed, Dec 06 2023 at 17:31, Ankur Arora wrote: > If we end up needing this, is it valid to just optimistically check if > a quiescent state needs to be registered (see below)? > Though this version exposes rcu_data.rcu_urgent_qs outside RCU but maybe > we can encapsulate that in linux/rcupdate.h. > #ifdef CONFIG_PREEMPTION > #define preempt_enable() \ > do { \ > barrier(); \ > if (unlikely(preempt_count_dec_and_test())) \ > __preempt_schedule(); \ > + else if (unlikely(raw_cpu_read(rcu_data.rcu_urgent_qs))) \ > + rcu_all_qs_check(); It's still bloat and we can debate this once we come to the conclusion that the simple forced reschedule is not sufficient. Until then debating this is just an academic exercise. Thanks, tglx