History

Merge tag 'perf_urgent_for_v6.1_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull perf fixes from Borislav Petkov: - Fix raw data handling when perf events are used in bpf - Rework how SIGTRAPs get delivered to events to address a bunch of problems with it. Add a selftest for that too * tag 'perf_urgent_for_v6.1_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: bpf: Fix sample_flags for bpf_perf_event_output selftests/perf_events: Add a SIGTRAP stress test with disables perf: Fix missing SIGTRAPs

Linus Torvalds committed 4 years ago

Commit a7038522 parents c70055d 21da7475 files · +163 −46Browse files

Showing the changes to include/linux (1 of 5 files). Show all

Unified · Split

include/linux/perf_event.h+15−4
@@ -756,11 +756,14 @@ struct perf_event { · 755 unmodified lines
756756 struct fasync_struct *fasync;
757757
758758 /* delayed work for NMIs and such */
759− int pending_wakeup;
760− int pending_kill;
761− int pending_disable;
759+ unsigned int pending_wakeup;
760+ unsigned int pending_kill;
761+ unsigned int pending_disable;
762+ unsigned int pending_sigtrap;
762763 unsigned long pending_addr; /* SIGTRAP */
763− struct irq_work pending;
764+ struct irq_work pending_irq;
765+ struct callback_head pending_task;
766+ unsigned int pending_work;
764767
765768 atomic_t event_limit;
766769
@@ -877,6 +880,14 @@ struct perf_event_context { · 110 unmodified lines
877880 #endif
878881 void *task_ctx_data; /* pmu specific data */
879882 struct rcu_head rcu_head;
883+
884+ /*
885+ * Sum (event->pending_sigtrap + event->pending_work)
886+ *
887+ * The SIGTRAP is targeted at ctx->task, as such it won't do changing
888+ * that until the signal is delivered.
889+ */
890+ local_t nr_pending;
880891 };
881892
882893 /*

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t