Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp1184932yba; Thu, 9 May 2019 12:09:37 -0700 (PDT) X-Google-Smtp-Source: APXvYqz3y2QpWhHXEOrZURu1R7ydsiCljGQ4CzLYPK8T78CcuYPuK1umDNQT04iqhB7jdAHRE0jZ X-Received: by 2002:a62:d286:: with SMTP id c128mr7844329pfg.159.1557428976990; Thu, 09 May 2019 12:09:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557428976; cv=none; d=google.com; s=arc-20160816; b=aZcJgC1oBNfvUwIPo4iFjD0kcKHU27cH9y1UWUSFvJBXmXLd1FE97FLAiXZKZ3BLKK w7101rL+Y53E9hw7QLPrEwahGmLT1z8x5S2YbxlSKez82yYEMdQscBFkUr45TC/bA4Mq uTSLuaA23S0FuGIQCPAhZx4S2gY2Ej/MhJ5TCjDEXkgejyyF49oXzC11509PZLDKp/yZ ipM7DEsNlzPbNpJqrqD1BK3A/TiCBje7C1fLSCg6iFCDuPl5h6uXvYrn6dJSBweP9l3s /fBTkuDPjsZ3zA577ftUR9D5VAfnhLQPrbpLg2Q+WrfZppWPE1IqyhZdYTSqgnZYrhtv g/ng== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=BDeAMTU6UuNCNaCNUWv1lxLA22725LIPLeFHC5Vy/eg=; b=m0Ordob/TsMDwb/FOIBF2wb2GCsLSIgcGEXqUuzuo7rJsNJgDDoS5QRIOpMbjgozw4 p3fId19WWBEb5D57xrux1U0tZzdOywjvESucqrpDVzSshJiBU+PI1E+qoHELVaZ/Rb0G uFRwUUBmkOsFggXXqpuKAznzyzC06IAkZ3UKoTEG9ZWgD0lXK2gDFndXmCEa4kEEKvo+ 3lk5nlKLcGXGZHWV3PmMeEx8Iyd+oi1+J+302/m/wBhJomAqWyMtMkAK0/TGSPpMnrQ7 bteRyKW7HauM0kEo9mLVJa8gc4l3NlNDSGWhF7lgKCk/NcTmlz9n1kimuH1RlQX1DXHS YvDQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=qXgSPziI; 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 o15si4146775pgv.316.2019.05.09.12.09.20; Thu, 09 May 2019 12:09:36 -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; dkim=pass header.i=@kernel.org header.s=default header.b=qXgSPziI; 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 S1727341AbfEISpc (ORCPT + 99 others); Thu, 9 May 2019 14:45:32 -0400 Received: from mail.kernel.org ([198.145.29.99]:37326 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726839AbfEISp3 (ORCPT ); Thu, 9 May 2019 14:45:29 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (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 BBA3321848; Thu, 9 May 2019 18:45:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1557427528; bh=Xry9IfgzGkS4bZ5D/hLEPBwmFk/dQBWrJQXjqNhVEks=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=qXgSPziISeSfmysPO+1kyKKF37iU1qa+m5qvabgFntAqibc9p0MMvbAEXk2dY5wgD XPkkNSzF1k6W3cP/A1hIa77ekbp1RiZMdf3TdLFN8/c8kAedlAl6cSObclN/dt94S6 12zEUHDoq09dAmJAOCt6IhvvqrLcr4NfaBdV6o4A= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Stephane Eranian , "Peter Zijlstra (Intel)" , Andi Kleen , Alexander Shishkin , Arnaldo Carvalho de Melo , Jiri Olsa , Linus Torvalds , Thomas Gleixner , Vince Weaver , kan.liang@intel.com, Ingo Molnar , Sasha Levin Subject: [PATCH 4.14 16/42] perf/x86/intel: Fix handling of wakeup_events for multi-entry PEBS Date: Thu, 9 May 2019 20:42:05 +0200 Message-Id: <20190509181255.900971671@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190509181252.616018683@linuxfoundation.org> References: <20190509181252.616018683@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org [ Upstream commit 583feb08e7f7ac9d533b446882eb3a54737a6dbb ] When an event is programmed with attr.wakeup_events=N (N>0), it means the caller is interested in getting a user level notification after N samples have been recorded in the kernel sampling buffer. With precise events on Intel processors, the kernel uses PEBS. The kernel tries minimize sampling overhead by verifying if the event configuration is compatible with multi-entry PEBS mode. If so, the kernel is notified only when the buffer has reached its threshold. Other PEBS operates in single-entry mode, the kenrel is notified for each PEBS sample. The problem is that the current implementation look at frequency mode and event sample_type but ignores the wakeup_events field. Thus, it may not be possible to receive a notification after each precise event. This patch fixes this problem by disabling multi-entry PEBS if wakeup_events is non-zero. Signed-off-by: Stephane Eranian Signed-off-by: Peter Zijlstra (Intel) Reviewed-by: Andi Kleen Cc: Alexander Shishkin Cc: Arnaldo Carvalho de Melo Cc: Jiri Olsa Cc: Linus Torvalds Cc: Peter Zijlstra Cc: Thomas Gleixner Cc: Vince Weaver Cc: kan.liang@intel.com Link: https://lkml.kernel.org/r/20190306195048.189514-1-eranian@google.com Signed-off-by: Ingo Molnar Signed-off-by: Sasha Levin --- arch/x86/events/intel/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/events/intel/core.c b/arch/x86/events/intel/core.c index 99d45660242e3..74e26803be5dd 100644 --- a/arch/x86/events/intel/core.c +++ b/arch/x86/events/intel/core.c @@ -3051,7 +3051,7 @@ static int intel_pmu_hw_config(struct perf_event *event) return ret; if (event->attr.precise_ip) { - if (!event->attr.freq) { + if (!(event->attr.freq || event->attr.wakeup_events)) { event->hw.flags |= PERF_X86_EVENT_AUTO_RELOAD; if (!(event->attr.sample_type & ~intel_pmu_free_running_flags(event))) -- 2.20.1