Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp1427081pxb; Tue, 26 Oct 2021 08:49:45 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyr0Vsk9zkbGW8TgeNQt9MCMZdrBfzAUF6iCSnE46nWs0TlJzmykNGYRedpXbZ1e/r8cHR9 X-Received: by 2002:a05:6a00:248e:b0:47c:20c2:f038 with SMTP id c14-20020a056a00248e00b0047c20c2f038mr308789pfv.13.1635263384701; Tue, 26 Oct 2021 08:49:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1635263384; cv=none; d=google.com; s=arc-20160816; b=IUnrbujVzkoQA2/GXH9wvSejetPFbXSvlqn7Oq2C9KlMa8zD75+VZsTwq0NdfzcMbj +2TlC3aPY0zqpHmOShcMi49gH0W7QIdUd3dcXBykzIPGlgfgICkdot3DMKF+O7GGOBhq 05+8OG8FheH6bHuDpwA0ShqrLHDvOrQNPVwAPFY+yc+TVF7Hst92w+sAOCCe6fpuCE4g nfhM2c3ZrrLQKZyfx+MPMAmcA19ElhXzKhBnEiG9IEEtHPpMlOHKwH/s3QbGRXbOXtT1 KvUeJmZdcnfJROaGh9dosBJC2ifD/KlWFQ4bhBgQnUYnBsckBEzufLdddDcQjnnf6A4T ZwSw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date; bh=L84/uRT+eM96PLhA/yDmTwGiKG/PLxNqkHBQ6+IEn9Y=; b=WqM+tEpxCW2DWFlEbSK0CyLHWnzNk5BjYpJQlTAFS2/QDrlsud0uc8a11oKDBQSG07 O7Z1cQv0U1uj0VO2r2/ep5qzJdrqMW2NCfYLMdIRIT9Jpaf9TH6MQ0U/x/44BgCBhFeb GbshrrCYH7nN0nl+v1NvdCT+L0o0DrNEyMV+CZM9sVRLwmlP4xuA/qXiNYCRgQ0fnk0Y YyluQzEDjJ7VfRR+6lrlVUDhc+4BZBk/+Zt6Uxpb4HKYR42fnVFJUOeQbPlgSB51gBT2 rSKHR+nxVlNRt9mP/AYt1RuwtgTLLmi2i80KOh6pfk0IVtb+s4xNgS8hm+BiOwu8c32y NljQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id p2si24754383pfe.161.2021.10.26.08.49.31; Tue, 26 Oct 2021 08:49:44 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235562AbhJZMDq convert rfc822-to-8bit (ORCPT + 99 others); Tue, 26 Oct 2021 08:03:46 -0400 Received: from mail.kernel.org ([198.145.29.99]:34966 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229786AbhJZMDp (ORCPT ); Tue, 26 Oct 2021 08:03:45 -0400 Received: from gandalf.local.home (cpe-66-24-58-225.stny.res.rr.com [66.24.58.225]) (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 425F3601FC; Tue, 26 Oct 2021 12:01:19 +0000 (UTC) Date: Tue, 26 Oct 2021 08:01:17 -0400 From: Steven Rostedt To: =?UTF-8?B?546L6LSH?= Cc: Miroslav Benes , Guo Ren , Ingo Molnar , "James E.J. Bottomley" , Helge Deller , Michael Ellerman , Benjamin Herrenschmidt , Paul Mackerras , Paul Walmsley , Palmer Dabbelt , Albert Ou , Thomas Gleixner , Borislav Petkov , x86@kernel.org, "H. Peter Anvin" , Josh Poimboeuf , Jiri Kosina , Petr Mladek , Joe Lawrence , Masami Hiramatsu , "Peter Zijlstra (Intel)" , Nicholas Piggin , Jisheng Zhang , linux-csky@vger.kernel.org, linux-kernel@vger.kernel.org, linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, live-patching@vger.kernel.org Subject: Re: [PATCH v5 1/2] ftrace: disable preemption when recursion locked Message-ID: <20211026080117.366137a5@gandalf.local.home> In-Reply-To: <18ba2a71-e12d-33f7-63fe-2857b2db022c@linux.alibaba.com> References: <3ca92dc9-ea04-ddc2-71cd-524bfa5a5721@linux.alibaba.com> <333cecfe-3045-8e0a-0c08-64ff590845ab@linux.alibaba.com> <18ba2a71-e12d-33f7-63fe-2857b2db022c@linux.alibaba.com> X-Mailer: Claws Mail 3.17.8 (GTK+ 2.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 26 Oct 2021 17:48:10 +0800 王贇 wrote: > > The two comments should be updated too since Steven removed the "bit == 0" > > trick. > > Could you please give more hint on how will it be correct? > > I get the point that bit will no longer be 0, there are only -1 or > 0 now > so trace_test_and_set_recursion() will disable preemption on bit > 0 and > trace_clear_recursion() will enabled it since it should only be called when > bit > 0 (I remember we could use a WARN_ON here now :-P). > > > > >> @@ -178,7 +187,7 @@ static __always_inline void trace_clear_recursion(int bit) > >> * tracing recursed in the same context (normal vs interrupt), > >> * > >> * Returns: -1 if a recursion happened. > >> - * >= 0 if no recursion > >> + * > 0 if no recursion. > >> */ > >> static __always_inline int ftrace_test_recursion_trylock(unsigned long ip, > >> unsigned long parent_ip) > > > > And this change would not be correct now. > > I thought it will no longer return 0 so I change it to > 0, isn't that correct? No it is not. I removed the bit + 1 return value, which means it returns the actual bit now. Which is 0 or more. -- Steve