Received: by 2002:ac0:a594:0:0:0:0:0 with SMTP id m20-v6csp992954imm; Fri, 11 May 2018 09:24:42 -0700 (PDT) X-Google-Smtp-Source: AB8JxZpOnX47Tyyv35r/F0OAli9SyZdu4yxsAb8h59IPvocn4zGwpFS5247jzuesPfgDdhDt4uZE X-Received: by 2002:a62:d751:: with SMTP id v17-v6mr6134188pfl.39.1526055882928; Fri, 11 May 2018 09:24:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1526055882; cv=none; d=google.com; s=arc-20160816; b=SNF5Sp5MtAlWGDu45RPVJuHs0Is/mGa9ivAm7Nr9KBblw/C6cQJ32Rta/L93dHYlfD zrz6cxFlje1eujZexk7rgkhVCYMVzZNp682SO3/B8T6qoKCxampDXO2q+0V6gLw95xEN mJVjbkkpgs+6aeAUZm/2rzraUBdlB1U8AfwjdDQS2iHwyGiVkgvxhzaAoDQAYEq/ISqB Ut/pvXq5BNpen7CBCIHElxL1g1dAj7Srzikk8f+a1tO+rP5G9dAH2t07n/fr42u3iZ1c mWxAnIx8TwcxVyDpg1j8thoTp4DPYgP8ZluhA8n49JkPUWZZs+/PCqrzcpuYrfsnL1bC 04GQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date :arc-authentication-results; bh=HvmDeiS5+BSsVyqjvz6SH5i5xta8Dev5SaLP/qgRw10=; b=bVSRGqVxLZvLmdaz7m/kMEjdsIyHtd3WWr4Eg+E+mmmtkpaGfATMoCtXZZwFwZ/crv q51eXWLXC57aiO1PA5oazH51n7SQ1yvks8tL8xUrvRs/xaymzaE8bY3f94PF4yNXzGBt oG7JD1aDreBBcs3rlyoS6HO1x5l26xQ+YeMS+v0dHdxhX9Ams/sx0ZYxPUBXWWw9RJE/ /LeLQxeRlRf3VKk+hopQaJYllDDc2UhOXk1RtFd1aFVcNKldqHHj0Ki1ij2naa+QnX8p sjCu0WSE3GRn2phL6C0hFrhE4SGGPEFi2IdxUuDe92umrkotchPXIZ4HKoncnBsX7li3 B/Hg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p8-v6si2861034pgs.312.2018.05.11.09.24.28; Fri, 11 May 2018 09:24:42 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752407AbeEKQXr (ORCPT + 99 others); Fri, 11 May 2018 12:23:47 -0400 Received: from mail.kernel.org ([198.145.29.99]:43854 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752410AbeEKQXY (ORCPT ); Fri, 11 May 2018 12:23:24 -0400 Received: from gandalf.local.home (cpe-66-24-56-78.stny.res.rr.com [66.24.56.78]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 269202177F; Fri, 11 May 2018 16:23:23 +0000 (UTC) Date: Fri, 11 May 2018 12:23:21 -0400 From: Steven Rostedt To: "Paul E. McKenney" Cc: Byungchul Park , jiangshanlai@gmail.com, josh@joshtriplett.org, mathieu.desnoyers@efficios.com, linux-kernel@vger.kernel.org, kernel-team@lge.com, peterz@infradead.org Subject: Re: [PATCH] rcu: Report a quiescent state when it's exactly in the state Message-ID: <20180511122321.722a12cc@gandalf.local.home> In-Reply-To: <20180511161746.GX26088@linux.vnet.ibm.com> References: <1526027434-21237-1-git-send-email-byungchul.park@lge.com> <3af4cec0-4019-e3ac-77f9-8631252fb6da@lge.com> <20180511161746.GX26088@linux.vnet.ibm.com> X-Mailer: Claws Mail 3.16.0 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 11 May 2018 09:17:46 -0700 "Paul E. McKenney" wrote: > > >index ee8cf5fc..7432261 100644 > > >--- a/include/linux/rcupdate.h > > >+++ b/include/linux/rcupdate.h > > >@@ -195,8 +195,8 @@ static inline void exit_tasks_rcu_finish(void) { } > > > */ > > > #define cond_resched_tasks_rcu_qs() \ > > > do { \ > > >- if (!cond_resched()) \ > > >- rcu_note_voluntary_context_switch_lite(current); \ > > >+ rcu_note_voluntary_context_switch_lite(current); \ > > >+ cond_resched(); \ > > Ah, good point. > > Peter, I have to ask... Why is "cond_resched()" considered a preemption > while "schedule()" is not? I would argue that cond_resched() not be considered a preemption. Although, it may be called a "preemption point". A place that can be preempted, but may not be. Maybe that's the answer. schedule() will always schedule (even though it may pick the same task to run, but not guaranteed to), where as, cond_resched() will only schedule if the conditions are right. And maybe that's not really a "voluntary schedule", although I think that can be argued against. -- Steve