History

lockdep: Refactor IRQ trace events fields into struct

Refactor the IRQ trace events fields, used for printing information about the IRQ trace events, into a separate struct 'irqtrace_events'. This improves readability by separating the information only used in reporting, as well as enables (simplified) storing/restoring of irqtrace_events snapshots. No functional change intended.

Marco Elver committed 6 years ago

Commit 0584df91 parent 859247d4 files · +50 −48Browse files

Showing the changes to include/linux (2 of 4 files). Show all

Unified · Split

2 files
  1. include/linux/irqflags.h +13 −0
  2. include/linux/sched.h +2 −9
include/linux/irqflags.h+13−0
@@ -33,6 +33,19 @@ · 32 unmodified lines
3333
3434 #ifdef CONFIG_TRACE_IRQFLAGS
3535
36+/* Per-task IRQ trace events information. */
37+struct irqtrace_events {
38+ unsigned int irq_events;
39+ unsigned long hardirq_enable_ip;
40+ unsigned long hardirq_disable_ip;
41+ unsigned int hardirq_enable_event;
42+ unsigned int hardirq_disable_event;
43+ unsigned long softirq_disable_ip;
44+ unsigned long softirq_enable_ip;
45+ unsigned int softirq_disable_event;
46+ unsigned int softirq_enable_event;
47+};
48+
3649 DECLARE_PER_CPU(int, hardirqs_enabled);
3750 DECLARE_PER_CPU(int, hardirq_context);
3851
include/linux/sched.h+2−9
@@ -18,6 +18,7 @@ · 17 unmodified lines
1818 #include <linux/mutex.h>
1919 #include <linux/plist.h>
2020 #include <linux/hrtimer.h>
21+#include <linux/irqflags.h>
2122 #include <linux/seccomp.h>
2223 #include <linux/nodemask.h>
2324 #include <linux/rcupdate.h>
@@ -980,17 +981,9 @@ struct task_struct { · 956 unmodified lines
980981 #endif
981982
982983 #ifdef CONFIG_TRACE_IRQFLAGS
983− unsigned int irq_events;
984+ struct irqtrace_events irqtrace;
984985 unsigned int hardirq_threaded;
985− unsigned long hardirq_enable_ip;
986− unsigned long hardirq_disable_ip;
987− unsigned int hardirq_enable_event;
988− unsigned int hardirq_disable_event;
989986 u64 hardirq_chain_key;
990− unsigned long softirq_disable_ip;
991− unsigned long softirq_enable_ip;
992− unsigned int softirq_disable_event;
993− unsigned int softirq_enable_event;
994987 int softirqs_enabled;
995988 int softirq_context;
996989 int irq_config;