Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp4184162yba; Tue, 23 Apr 2019 17:02:47 -0700 (PDT) X-Google-Smtp-Source: APXvYqxnrxXJYXga9kkWNnUKXrO9rL+AMuK8G73wvxbTfTEwjGAKbanfSkzNB+BL1k57rjH3VqXp X-Received: by 2002:a62:b612:: with SMTP id j18mr30440578pff.124.1556064167666; Tue, 23 Apr 2019 17:02:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1556064167; cv=none; d=google.com; s=arc-20160816; b=NKUH7SCJPn0/6cZ7FXLlOnyWZk4Md7f/uXlh3chpXMK0IEW6B2b8LqqUmqnUfF/t5O 7CqjzLShGKuOzYEph4tPE/ngdKYztAiLGRqZOY+FLU5XXRe/H2RLf5Ny6/1RRg6fqwFD V81u9qPqauSJPIb04ML4nAcPtotJMVpVX/84biPLmGiG/2Kn9v+W2yUH8aiXtJY3TMvS pmJdzNt7xAhok5rwrnypt8FKzaianMUWfyNGHtkpzHhrctBFrwQrARB09gfk5P7VsMvj R6gamgohYAvxQk+H0dxk6dCVrjmcWxA3Jj/FFP/yQiCKI5jh1hsgBYEkz4fe6cI91zHx R3Ag== 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; bh=dov3NC8kIhTAMy6lrTGKyGCMBZMiQOmBwM6DZhm5jKw=; b=Wbruh8RjerzIFeYkmmGovhRfDm8KmOW4B3UfWmosv8jYfz47Uok45ShA3RJMdVzzXi b4TGBjMcfeaf1E3pAita/Gi0Ewk7hU3hjMGOOlLe+uFTpkyOsXS0n91X2EXjpG5yNuBu OiQ/qG5BX9z4Vsd0vJArwXjjT7J0DobcKfAklftvZhIdG4FZomZO5RRXra3NE51fYQNH unpZsl9g1L62SCtvmiyV7EKclD8eHmcRRnTkm68fZlfJPWYQFh84V43De6zBsDW2s9Q9 lkqlPtHJvIvmZ34Wp3jiaJjapjhitnSz527i9zCwIXLj76k+zvyQCmbOlkEDFQg2cT3A uiYQ== 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 e193si16255785pgc.339.2019.04.23.17.02.31; Tue, 23 Apr 2019 17:02:47 -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 S1728794AbfDWX6x (ORCPT + 99 others); Tue, 23 Apr 2019 19:58:53 -0400 Received: from mail.kernel.org ([198.145.29.99]:46978 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726339AbfDWX6x (ORCPT ); Tue, 23 Apr 2019 19:58:53 -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 C722921738; Tue, 23 Apr 2019 23:58:51 +0000 (UTC) Date: Tue, 23 Apr 2019 19:58:50 -0400 From: Steven Rostedt To: Peter Zijlstra Cc: Waiman Long , Linus Torvalds , Ingo Molnar , Will Deacon , Thomas Gleixner , Linux List Kernel Mailing , the arch/x86 maintainers , Davidlohr Bueso , Tim Chen , huang ying , Roman Gushchin , Alexei Starovoitov , Daniel Borkmann Subject: Re: [PATCH] trace: Fix preempt_enable_no_resched() abuse Message-ID: <20190423195850.6ea5b13e@gandalf.local.home> In-Reply-To: <20190423200318.GY14281@hirez.programming.kicks-ass.net> References: <20190419130304.GV14281@hirez.programming.kicks-ass.net> <20190419131522.GW14281@hirez.programming.kicks-ass.net> <57620139-92a3-4a21-56bd-5d6fff23214f@redhat.com> <7b1bfc26-6e90-bd65-ab46-08413acd80e9@redhat.com> <20190423141714.GO11158@hirez.programming.kicks-ass.net> <4f62d7f2-e5f6-500e-3e70-b1d1978f7140@redhat.com> <20190423193435.GX4038@hirez.programming.kicks-ass.net> <88ba7be0-9ec5-941e-1b3f-80fbe05fe3a0@redhat.com> <20190423195559.GY4038@hirez.programming.kicks-ass.net> <20190423200318.GY14281@hirez.programming.kicks-ass.net> X-Mailer: Claws Mail 3.17.3 (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 Tue, 23 Apr 2019 22:03:18 +0200 Peter Zijlstra wrote: > On Tue, Apr 23, 2019 at 09:55:59PM +0200, Peter Zijlstra wrote: > > On Tue, Apr 23, 2019 at 03:41:32PM -0400, Waiman Long wrote: > > > > I saw a number of instances of > > > preempt_enable_no_resched() without right next a schedule(). > > > > Look more closely.. and let me know, if true, those are bugs that need > > fixing. > > > > Argghhh.. BPF... > > /me shakes head, Steve... /me points finger to Frederic ;-) > > --- > Subject: trace: Fix preempt_enable_no_resched() abuse > > Unless the very next line is schedule(), or implies it, one must not use > preempt_enable_no_resched(). It can cause a preemption to go missing and > thereby cause arbitrary delays, breaking the PREEMPT=y invariant. > > Cc: Steven Rostedt > Fixes: 37886f6a9f62 ("ring-buffer: add api to allow a tracer to change clock source") That commit just moved the buggy code. That tag should be: Fixes: 2c2d7329d8af ("tracing/ftrace: use preempt_enable_no_resched_notrace in ring_buffer_time_stamp()") OK, this isn't quite fair to point all the blame on Frederic, because it did fix a bug. But the real fix for that bug was your fix here: 499d79559ffe4b ("sched/core: More notrace annotations") -- Steve > Signed-off-by: Peter Zijlstra (Intel) > --- > kernel/trace/ring_buffer.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c > index 41b6f96e5366..4ee8d8aa3d0f 100644 > --- a/kernel/trace/ring_buffer.c > +++ b/kernel/trace/ring_buffer.c > @@ -762,7 +762,7 @@ u64 ring_buffer_time_stamp(struct ring_buffer > *buffer, int cpu) > preempt_disable_notrace(); > time = rb_time_stamp(buffer); > - preempt_enable_no_resched_notrace(); > + preempt_enable_notrace(); > > return time; > }