From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Stephane Eranian <eranian@google.com>,
Linus Torvalds <torvalds@linux-foundation.org>,
Peter Zijlstra <peterz@infradead.org>,
Thomas Gleixner <tglx@linutronix.de>,
jolsa@redhat.com, kan.liang@intel.com, vincent.weaver@maine.edu,
Ingo Molnar <mingo@kernel.org>, Sasha Levin <sashal@kernel.org>
Subject: [PATCH AUTOSEL 5.0 028/173] perf/x86/intel: Allow PEBS multi-entry in watermark mode
Date: Sat, 1 Jun 2019 09:17:00 -0400 [thread overview]
Message-ID: <20190601131934.25053-28-sashal@kernel.org> (raw)
In-Reply-To: <20190601131934.25053-1-sashal@kernel.org>
From: Stephane Eranian <eranian@google.com>
[ Upstream commit c7a286577d7592720c2f179aadfb325a1ff48c95 ]
This patch fixes a restriction/bug introduced by:
583feb08e7f7 ("perf/x86/intel: Fix handling of wakeup_events for multi-entry PEBS")
The original patch prevented using multi-entry PEBS when wakeup_events != 0.
However given that wakeup_events is part of a union with wakeup_watermark, it
means that in watermark mode, PEBS multi-entry is also disabled which is not the
intent. This patch fixes this by checking is watermark mode is enabled.
Signed-off-by: Stephane Eranian <eranian@google.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: jolsa@redhat.com
Cc: kan.liang@intel.com
Cc: vincent.weaver@maine.edu
Fixes: 583feb08e7f7 ("perf/x86/intel: Fix handling of wakeup_events for multi-entry PEBS")
Link: http://lkml.kernel.org/r/20190514003400.224340-1-eranian@google.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
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 71fb8b7b29545..e7bb4572a89fe 100644
--- a/arch/x86/events/intel/core.c
+++ b/arch/x86/events/intel/core.c
@@ -3184,7 +3184,7 @@ static int intel_pmu_hw_config(struct perf_event *event)
return ret;
if (event->attr.precise_ip) {
- if (!(event->attr.freq || event->attr.wakeup_events)) {
+ if (!(event->attr.freq || (event->attr.wakeup_events && !event->attr.watermark))) {
event->hw.flags |= PERF_X86_EVENT_AUTO_RELOAD;
if (!(event->attr.sample_type &
~intel_pmu_large_pebs_flags(event)))
--
2.20.1
next prev parent reply other threads:[~2019-06-01 13:21 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-01 13:16 [PATCH AUTOSEL 5.0 001/173] media: rockchip/vpu: Fix/re-order probe-error/remove path Sasha Levin
2019-06-01 13:16 ` [PATCH AUTOSEL 5.0 002/173] media: rockchip/vpu: Add missing dont_use_autosuspend() calls Sasha Levin
2019-06-01 13:16 ` [PATCH AUTOSEL 5.0 003/173] rapidio: fix a NULL pointer dereference when create_workqueue() fails Sasha Levin
2019-06-01 13:16 ` [PATCH AUTOSEL 5.0 004/173] fs/fat/file.c: issue flush after the writeback of FAT Sasha Levin
2019-06-01 13:16 ` [PATCH AUTOSEL 5.0 005/173] sysctl: return -EINVAL if val violates minmax Sasha Levin
2019-06-01 13:16 ` [PATCH AUTOSEL 5.0 006/173] ipc: prevent lockup on alloc_msg and free_msg Sasha Levin
2019-06-01 13:16 ` [PATCH AUTOSEL 5.0 007/173] drm/msm: correct attempted NULL pointer dereference in debugfs Sasha Levin
2019-06-01 13:16 ` [PATCH AUTOSEL 5.0 008/173] drm/pl111: Initialize clock spinlock early Sasha Levin
2019-06-01 13:16 ` [PATCH AUTOSEL 5.0 009/173] ARM: prevent tracing IPI_CPU_BACKTRACE Sasha Levin
2019-06-01 13:16 ` [PATCH AUTOSEL 5.0 010/173] mm/hmm: select mmu notifier when selecting HMM Sasha Levin
2019-06-01 13:16 ` [PATCH AUTOSEL 5.0 011/173] hugetlbfs: on restore reserve error path retain subpool reservation Sasha Levin
2019-06-01 13:16 ` [PATCH AUTOSEL 5.0 012/173] mm/memory_hotplug: release memory resource after arch_remove_memory() Sasha Levin
2019-06-01 13:16 ` [PATCH AUTOSEL 5.0 013/173] mem-hotplug: fix node spanned pages when we have a node with only ZONE_MOVABLE Sasha Levin
2019-06-01 13:16 ` [PATCH AUTOSEL 5.0 014/173] mm/cma.c: fix crash on CMA allocation if bitmap allocation fails Sasha Levin
2019-06-01 13:16 ` [PATCH AUTOSEL 5.0 015/173] initramfs: free initrd memory if opening /initrd.image fails Sasha Levin
2019-06-01 13:16 ` [PATCH AUTOSEL 5.0 016/173] mm/memory_hotplug.c: fix the wrong usage of N_HIGH_MEMORY Sasha Levin
2019-06-01 13:16 ` [PATCH AUTOSEL 5.0 017/173] mm/cma.c: fix the bitmap status to show failed allocation reason Sasha Levin
2019-06-01 13:16 ` [PATCH AUTOSEL 5.0 018/173] mm: page_mkclean vs MADV_DONTNEED race Sasha Levin
2019-06-01 13:16 ` [PATCH AUTOSEL 5.0 019/173] mm/cma_debug.c: fix the break condition in cma_maxchunk_get() Sasha Levin
2019-06-01 13:16 ` [PATCH AUTOSEL 5.0 020/173] mm/slab.c: fix an infinite loop in leaks_show() Sasha Levin
2019-06-01 13:16 ` [PATCH AUTOSEL 5.0 021/173] kernel/sys.c: prctl: fix false positive in validate_prctl_map() Sasha Levin
2019-06-01 13:16 ` [PATCH AUTOSEL 5.0 022/173] thermal: rcar_gen3_thermal: disable interrupt in .remove Sasha Levin
2019-06-01 13:16 ` [PATCH AUTOSEL 5.0 023/173] drivers: thermal: tsens: Don't print error message on -EPROBE_DEFER Sasha Levin
2019-06-01 13:16 ` [PATCH AUTOSEL 5.0 024/173] mfd: tps65912-spi: Add missing of table registration Sasha Levin
2019-06-01 13:16 ` [PATCH AUTOSEL 5.0 025/173] mfd: intel-lpss: Set the device in reset state when init Sasha Levin
2019-06-01 13:16 ` [PATCH AUTOSEL 5.0 026/173] drm/nouveau/disp/dp: respect sink limits when selecting failsafe link configuration Sasha Levin
2019-06-01 13:16 ` [PATCH AUTOSEL 5.0 027/173] mfd: twl6040: Fix device init errors for ACCCTL register Sasha Levin
2019-06-01 13:17 ` Sasha Levin [this message]
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 029/173] drm/nouveau/kms/gf119-gp10x: push HeadSetControlOutputResource() mthd when encoders change Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 030/173] drm/bridge: adv7511: Fix low refresh rate selection Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 031/173] objtool: Don't use ignore flag for fake jumps Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 032/173] drm/nouveau/kms/gv100-: fix spurious window immediate interlocks Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 033/173] bpf: fix undefined behavior in narrow load handling Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 034/173] gcc-plugins: arm_ssp_per_task_plugin: Fix for older GCC < 6 Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 035/173] EDAC/mpc85xx: Prevent building as a module Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 036/173] NFS4: Fix v4.0 client state corruption when mount Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 037/173] pwm: meson: Use the spin-lock only to protect register modifications Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 038/173] mailbox: stm32-ipcc: check invalid irq Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 039/173] ntp: Allow TAI-UTC offset to be set to zero Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 040/173] f2fs: fix to avoid panic in do_recover_data() Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 041/173] f2fs: fix to avoid panic in f2fs_inplace_write_data() Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 042/173] f2fs: fix error path of recovery Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 043/173] f2fs: fix to avoid panic in f2fs_remove_inode_page() Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 044/173] f2fs: fix to do sanity check on free nid Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 045/173] f2fs: fix to clear dirty inode in error path of f2fs_iget() Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 046/173] f2fs: fix to avoid panic in dec_valid_block_count() Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 047/173] f2fs: fix to use inline space only if inline_xattr is enable Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 048/173] f2fs: fix to avoid panic in dec_valid_node_count() Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 049/173] f2fs: fix to do sanity check on valid block count of segment Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 050/173] f2fs: fix to avoid deadloop in foreground GC Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 051/173] f2fs: fix to retrieve inline xattr space Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 052/173] f2fs: fix to do checksum even if inode page is uptodate Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 053/173] media: atmel: atmel-isc: fix asd memory allocation Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 054/173] percpu: remove spurious lock dependency between percpu and sched Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 055/173] tracing: probeevent: Fix to make the type of $comm string Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 056/173] tracing: Fix partial reading of trace event's id file Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 057/173] configfs: fix possible use-after-free in configfs_register_group Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 058/173] uml: fix a boot splat wrt use of cpu_all_mask Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 059/173] PCI: dwc: Free MSI in dw_pcie_host_init() error path Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 060/173] PCI: dwc: Free MSI IRQ page in dw_pcie_free_msi() Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 061/173] netfilter: ctnetlink: Resolve conntrack L3-protocol flush regression Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 062/173] ovl: do not generate duplicate fsnotify events for "fake" path Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 063/173] mmc: mmci: Prevent polling for busy detection in IRQ context Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 064/173] netfilter: nf_flow_table: fix missing error check for rhashtable_insert_fast Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 065/173] netfilter: nf_conntrack_h323: restore boundary check correctness Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 066/173] mips: Make sure dt memory regions are valid Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 067/173] netfilter: nf_tables: fix base chain stat rcu_dereference usage Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 068/173] watchdog: Use depends instead of select for pretimeout governors Sasha Levin
2019-06-01 13:17 ` [PATCH AUTOSEL 5.0 069/173] watchdog: imx2_wdt: Fix set_timeout for big timeout values Sasha Levin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190601131934.25053-28-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=eranian@google.com \
--cc=jolsa@redhat.com \
--cc=kan.liang@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=stable@vger.kernel.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=vincent.weaver@maine.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox