diff options
| -rw-r--r-- | meta/recipes-kernel/lttng/lttng-modules/0001-fix-compaction.patch | 68 | ||||
| -rw-r--r-- | meta/recipes-kernel/lttng/lttng-modules/0001-fix-mm-page_alloc-fix-tracepoint-mm_page_alloc_zone_.patch | 106 | ||||
| -rw-r--r-- | meta/recipes-kernel/lttng/lttng-modules/0001-fix-net-skb-introduce-kfree_skb_reason-v5.15.58.v5.1.patch | 53 | ||||
| -rw-r--r-- | meta/recipes-kernel/lttng/lttng-modules/0002-fix-fs-Remove-flags-parameter-from-aops-write_begin-.patch | 76 | ||||
| -rw-r--r-- | meta/recipes-kernel/lttng/lttng-modules/0003-fix-workqueue-Fix-type-of-cpu-in-trace-event-v5.19.patch | 124 | ||||
| -rw-r--r-- | meta/recipes-kernel/lttng/lttng-modules_2.13.5.bb (renamed from meta/recipes-kernel/lttng/lttng-modules_2.13.4.bb) | 7 |
6 files changed, 1 insertions, 433 deletions
diff --git a/meta/recipes-kernel/lttng/lttng-modules/0001-fix-compaction.patch b/meta/recipes-kernel/lttng/lttng-modules/0001-fix-compaction.patch deleted file mode 100644 index 21e27ffc5e..0000000000 --- a/meta/recipes-kernel/lttng/lttng-modules/0001-fix-compaction.patch +++ /dev/null | |||
| @@ -1,68 +0,0 @@ | |||
| 1 | From 8e42c4821fb5f5cb816b6ddf73d9a13ba3298a63 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Michael Jeanson <mjeanson@efficios.com> | ||
| 3 | Date: Wed, 10 Aug 2022 11:07:14 -0400 | ||
| 4 | Subject: [PATCH] fix: tie compaction probe build to CONFIG_COMPACTION | ||
| 5 | |||
| 6 | The definition of 'struct compact_control' in 'mm/internal.h' depends on | ||
| 7 | CONFIG_COMPACTION being defined. Only build the compaction probe when | ||
| 8 | this configuration option is enabled. | ||
| 9 | |||
| 10 | Thanks to Bruce Ashfield <bruce.ashfield@gmail.com> for reporting this | ||
| 11 | issue. | ||
| 12 | |||
| 13 | Upstream-Status: Backport [https://review.lttng.org/c/lttng-modules/+/8660] | ||
| 14 | |||
| 15 | Change-Id: I81e77aa9c1bf10452c152d432fe5224df0db42c9 | ||
| 16 | Signed-off-by: Michael Jeanson <mjeanson@efficios.com> | ||
| 17 | --- | ||
| 18 | src/probes/Kbuild | 34 ++++++++++++++++++---------------- | ||
| 19 | 1 file changed, 18 insertions(+), 16 deletions(-) | ||
| 20 | |||
| 21 | diff --git a/src/probes/Kbuild b/src/probes/Kbuild | ||
| 22 | index 2908cf75..3e556b8e 100644 | ||
| 23 | --- a/src/probes/Kbuild | ||
| 24 | +++ b/src/probes/Kbuild | ||
| 25 | @@ -167,22 +167,24 @@ ifneq ($(CONFIG_BTRFS_FS),) | ||
| 26 | endif # $(wildcard $(btrfs_dep)) | ||
| 27 | endif # CONFIG_BTRFS_FS | ||
| 28 | |||
| 29 | -# A dependency on internal header 'mm/internal.h' was introduced in v5.18 | ||
| 30 | -compaction_dep = $(srctree)/mm/internal.h | ||
| 31 | -compaction_dep_wildcard = $(wildcard $(compaction_dep)) | ||
| 32 | -compaction_dep_check = $(shell \ | ||
| 33 | -if [ \( $(VERSION) -ge 6 \ | ||
| 34 | - -o \( $(VERSION) -eq 5 -a $(PATCHLEVEL) -ge 18 \) \) -a \ | ||
| 35 | - -z "$(compaction_dep_wildcard)" ] ; then \ | ||
| 36 | - echo "warn" ; \ | ||
| 37 | -else \ | ||
| 38 | - echo "ok" ; \ | ||
| 39 | -fi ;) | ||
| 40 | -ifeq ($(compaction_dep_check),ok) | ||
| 41 | - obj-$(CONFIG_LTTNG) += lttng-probe-compaction.o | ||
| 42 | -else | ||
| 43 | - $(warning Files $(compaction_dep) not found. Probe "compaction" is disabled. Use full kernel source tree to enable it.) | ||
| 44 | -endif # $(wildcard $(compaction_dep)) | ||
| 45 | +ifneq ($(CONFIG_COMPACTION),) | ||
| 46 | + # A dependency on internal header 'mm/internal.h' was introduced in v5.18 | ||
| 47 | + compaction_dep = $(srctree)/mm/internal.h | ||
| 48 | + compaction_dep_wildcard = $(wildcard $(compaction_dep)) | ||
| 49 | + compaction_dep_check = $(shell \ | ||
| 50 | + if [ \( $(VERSION) -ge 6 \ | ||
| 51 | + -o \( $(VERSION) -eq 5 -a $(PATCHLEVEL) -ge 18 \) \) -a \ | ||
| 52 | + -z "$(compaction_dep_wildcard)" ] ; then \ | ||
| 53 | + echo "warn" ; \ | ||
| 54 | + else \ | ||
| 55 | + echo "ok" ; \ | ||
| 56 | + fi ;) | ||
| 57 | + ifeq ($(compaction_dep_check),ok) | ||
| 58 | + obj-$(CONFIG_LTTNG) += lttng-probe-compaction.o | ||
| 59 | + else | ||
| 60 | + $(warning Files $(compaction_dep) not found. Probe "compaction" is disabled. Use full kernel source tree to enable it.) | ||
| 61 | + endif # $(wildcard $(compaction_dep)) | ||
| 62 | +endif # CONFIG_COMPACTION | ||
| 63 | |||
| 64 | ifneq ($(CONFIG_EXT4_FS),) | ||
| 65 | ext4_dep = $(srctree)/fs/ext4/*.h | ||
| 66 | -- | ||
| 67 | 2.34.1 | ||
| 68 | |||
diff --git a/meta/recipes-kernel/lttng/lttng-modules/0001-fix-mm-page_alloc-fix-tracepoint-mm_page_alloc_zone_.patch b/meta/recipes-kernel/lttng/lttng-modules/0001-fix-mm-page_alloc-fix-tracepoint-mm_page_alloc_zone_.patch deleted file mode 100644 index 62376806c8..0000000000 --- a/meta/recipes-kernel/lttng/lttng-modules/0001-fix-mm-page_alloc-fix-tracepoint-mm_page_alloc_zone_.patch +++ /dev/null | |||
| @@ -1,106 +0,0 @@ | |||
| 1 | From 8d5da4d2a3d7d9173208f4e8dc7a709f0bfc9820 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Michael Jeanson <mjeanson@efficios.com> | ||
| 3 | Date: Wed, 8 Jun 2022 12:56:36 -0400 | ||
| 4 | Subject: [PATCH 1/3] fix: mm/page_alloc: fix tracepoint | ||
| 5 | mm_page_alloc_zone_locked() (v5.19) | ||
| 6 | |||
| 7 | See upstream commit : | ||
| 8 | |||
| 9 | commit 10e0f7530205799e7e971aba699a7cb3a47456de | ||
| 10 | Author: Wonhyuk Yang <vvghjk1234@gmail.com> | ||
| 11 | Date: Thu May 19 14:08:54 2022 -0700 | ||
| 12 | |||
| 13 | mm/page_alloc: fix tracepoint mm_page_alloc_zone_locked() | ||
| 14 | |||
| 15 | Currently, trace point mm_page_alloc_zone_locked() doesn't show correct | ||
| 16 | information. | ||
| 17 | |||
| 18 | First, when alloc_flag has ALLOC_HARDER/ALLOC_CMA, page can be allocated | ||
| 19 | from MIGRATE_HIGHATOMIC/MIGRATE_CMA. Nevertheless, tracepoint use | ||
| 20 | requested migration type not MIGRATE_HIGHATOMIC and MIGRATE_CMA. | ||
| 21 | |||
| 22 | Second, after commit 44042b4498728 ("mm/page_alloc: allow high-order pages | ||
| 23 | to be stored on the per-cpu lists") percpu-list can store high order | ||
| 24 | pages. But trace point determine whether it is a refiil of percpu-list by | ||
| 25 | comparing requested order and 0. | ||
| 26 | |||
| 27 | To handle these problems, make mm_page_alloc_zone_locked() only be called | ||
| 28 | by __rmqueue_smallest with correct migration type. With a new argument | ||
| 29 | called percpu_refill, it can show roughly whether it is a refill of | ||
| 30 | percpu-list. | ||
| 31 | |||
| 32 | Upstream-Status: Backport | ||
| 33 | |||
| 34 | Change-Id: I2e4a57393757f12b9c5a4566c4d1102ee2474a09 | ||
| 35 | Signed-off-by: Michael Jeanson <mjeanson@efficios.com> | ||
| 36 | Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> | ||
| 37 | --- | ||
| 38 | include/instrumentation/events/kmem.h | 45 +++++++++++++++++++++++++++ | ||
| 39 | 1 file changed, 45 insertions(+) | ||
| 40 | |||
| 41 | diff --git a/include/instrumentation/events/kmem.h b/include/instrumentation/events/kmem.h | ||
| 42 | index 29c0fb7f..8c19e962 100644 | ||
| 43 | --- a/include/instrumentation/events/kmem.h | ||
| 44 | +++ b/include/instrumentation/events/kmem.h | ||
| 45 | @@ -218,6 +218,50 @@ LTTNG_TRACEPOINT_EVENT_MAP(mm_page_alloc, kmem_mm_page_alloc, | ||
| 46 | ) | ||
| 47 | ) | ||
| 48 | |||
| 49 | +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,19,0)) | ||
| 50 | +LTTNG_TRACEPOINT_EVENT_CLASS(kmem_mm_page, | ||
| 51 | + | ||
| 52 | + TP_PROTO(struct page *page, unsigned int order, int migratetype, | ||
| 53 | + int percpu_refill), | ||
| 54 | + | ||
| 55 | + TP_ARGS(page, order, migratetype, percpu_refill), | ||
| 56 | + | ||
| 57 | + TP_FIELDS( | ||
| 58 | + ctf_integer_hex(struct page *, page, page) | ||
| 59 | + ctf_integer(unsigned long, pfn, | ||
| 60 | + page ? page_to_pfn(page) : -1UL) | ||
| 61 | + ctf_integer(unsigned int, order, order) | ||
| 62 | + ctf_integer(int, migratetype, migratetype) | ||
| 63 | + ctf_integer(int, percpu_refill, percpu_refill) | ||
| 64 | + ) | ||
| 65 | +) | ||
| 66 | + | ||
| 67 | +LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(kmem_mm_page, mm_page_alloc_zone_locked, | ||
| 68 | + | ||
| 69 | + kmem_mm_page_alloc_zone_locked, | ||
| 70 | + | ||
| 71 | + TP_PROTO(struct page *page, unsigned int order, int migratetype, | ||
| 72 | + int percpu_refill), | ||
| 73 | + | ||
| 74 | + TP_ARGS(page, order, migratetype, percpu_refill) | ||
| 75 | +) | ||
| 76 | + | ||
| 77 | +LTTNG_TRACEPOINT_EVENT_MAP(mm_page_pcpu_drain, | ||
| 78 | + | ||
| 79 | + kmem_mm_page_pcpu_drain, | ||
| 80 | + | ||
| 81 | + TP_PROTO(struct page *page, unsigned int order, int migratetype), | ||
| 82 | + | ||
| 83 | + TP_ARGS(page, order, migratetype), | ||
| 84 | + | ||
| 85 | + TP_FIELDS( | ||
| 86 | + ctf_integer(unsigned long, pfn, | ||
| 87 | + page ? page_to_pfn(page) : -1UL) | ||
| 88 | + ctf_integer(unsigned int, order, order) | ||
| 89 | + ctf_integer(int, migratetype, migratetype) | ||
| 90 | + ) | ||
| 91 | +) | ||
| 92 | +#else | ||
| 93 | LTTNG_TRACEPOINT_EVENT_CLASS(kmem_mm_page, | ||
| 94 | |||
| 95 | TP_PROTO(struct page *page, unsigned int order, int migratetype), | ||
| 96 | @@ -250,6 +294,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(kmem_mm_page, mm_page_pcpu_drain, | ||
| 97 | |||
| 98 | TP_ARGS(page, order, migratetype) | ||
| 99 | ) | ||
| 100 | +#endif | ||
| 101 | |||
| 102 | #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,19,2) \ | ||
| 103 | || LTTNG_KERNEL_RANGE(3,14,36, 3,15,0) \ | ||
| 104 | -- | ||
| 105 | 2.19.1 | ||
| 106 | |||
diff --git a/meta/recipes-kernel/lttng/lttng-modules/0001-fix-net-skb-introduce-kfree_skb_reason-v5.15.58.v5.1.patch b/meta/recipes-kernel/lttng/lttng-modules/0001-fix-net-skb-introduce-kfree_skb_reason-v5.15.58.v5.1.patch deleted file mode 100644 index ca6abea9c0..0000000000 --- a/meta/recipes-kernel/lttng/lttng-modules/0001-fix-net-skb-introduce-kfree_skb_reason-v5.15.58.v5.1.patch +++ /dev/null | |||
| @@ -1,53 +0,0 @@ | |||
| 1 | From d8254360c7f2ff9b3f945e9668d89c0b56b9bd91 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> | ||
| 3 | Date: Fri, 29 Jul 2022 15:37:43 -0400 | ||
| 4 | Subject: [PATCH] fix: net: skb: introduce kfree_skb_reason() (v5.15.58..v5.16) | ||
| 5 | |||
| 6 | See upstream commit : | ||
| 7 | |||
| 8 | commit c504e5c2f9648a1e5c2be01e8c3f59d394192bd3 | ||
| 9 | Author: Menglong Dong <imagedong@tencent.com> | ||
| 10 | Date: Sun Jan 9 14:36:26 2022 +0800 | ||
| 11 | |||
| 12 | net: skb: introduce kfree_skb_reason() | ||
| 13 | |||
| 14 | Introduce the interface kfree_skb_reason(), which is able to pass | ||
| 15 | the reason why the skb is dropped to 'kfree_skb' tracepoint. | ||
| 16 | |||
| 17 | Add the 'reason' field to 'trace_kfree_skb', therefor user can get | ||
| 18 | more detail information about abnormal skb with 'drop_monitor' or | ||
| 19 | eBPF. | ||
| 20 | |||
| 21 | All drop reasons are defined in the enum 'skb_drop_reason', and | ||
| 22 | they will be print as string in 'kfree_skb' tracepoint in format | ||
| 23 | of 'reason: XXX'. | ||
| 24 | |||
| 25 | ( Maybe the reasons should be defined in a uapi header file, so that | ||
| 26 | user space can use them? ) | ||
| 27 | |||
| 28 | Upstream-Status: Backport | ||
| 29 | |||
| 30 | Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> | ||
| 31 | Change-Id: Ib3c039207739dad10f097cf76474e0822e351273 | ||
| 32 | --- | ||
| 33 | include/instrumentation/events/skb.h | 4 +++- | ||
| 34 | 1 file changed, 3 insertions(+), 1 deletion(-) | ||
| 35 | |||
| 36 | diff --git a/include/instrumentation/events/skb.h b/include/instrumentation/events/skb.h | ||
| 37 | index 237e54ad..186732ea 100644 | ||
| 38 | --- a/include/instrumentation/events/skb.h | ||
| 39 | +++ b/include/instrumentation/events/skb.h | ||
| 40 | @@ -13,7 +13,9 @@ | ||
| 41 | /* | ||
| 42 | * Tracepoint for free an sk_buff: | ||
| 43 | */ | ||
| 44 | -#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0)) | ||
| 45 | +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0) \ | ||
| 46 | + || LTTNG_KERNEL_RANGE(5,15,58, 5,16,0)) | ||
| 47 | + | ||
| 48 | LTTNG_TRACEPOINT_ENUM(skb_drop_reason, | ||
| 49 | TP_ENUM_VALUES( | ||
| 50 | ctf_enum_value("NOT_SPECIFIED", SKB_DROP_REASON_NOT_SPECIFIED) | ||
| 51 | -- | ||
| 52 | 2.17.1 | ||
| 53 | |||
diff --git a/meta/recipes-kernel/lttng/lttng-modules/0002-fix-fs-Remove-flags-parameter-from-aops-write_begin-.patch b/meta/recipes-kernel/lttng/lttng-modules/0002-fix-fs-Remove-flags-parameter-from-aops-write_begin-.patch deleted file mode 100644 index 84c97d5f90..0000000000 --- a/meta/recipes-kernel/lttng/lttng-modules/0002-fix-fs-Remove-flags-parameter-from-aops-write_begin-.patch +++ /dev/null | |||
| @@ -1,76 +0,0 @@ | |||
| 1 | From b5d1c38665cd69d7d1c94231fe0609da5c8afbc3 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Michael Jeanson <mjeanson@efficios.com> | ||
| 3 | Date: Wed, 8 Jun 2022 13:07:59 -0400 | ||
| 4 | Subject: [PATCH 2/3] fix: fs: Remove flags parameter from aops->write_begin | ||
| 5 | (v5.19) | ||
| 6 | |||
| 7 | See upstream commit : | ||
| 8 | |||
| 9 | commit 9d6b0cd7579844761ed68926eb3073bab1dca87b | ||
| 10 | Author: Matthew Wilcox (Oracle) <willy@infradead.org> | ||
| 11 | Date: Tue Feb 22 14:31:43 2022 -0500 | ||
| 12 | |||
| 13 | fs: Remove flags parameter from aops->write_begin | ||
| 14 | |||
| 15 | There are no more aop flags left, so remove the parameter. | ||
| 16 | |||
| 17 | Upstream-Status: Backport | ||
| 18 | |||
| 19 | Change-Id: I82725b93e13d749f52a631b2ac60df81a5e839f8 | ||
| 20 | Signed-off-by: Michael Jeanson <mjeanson@efficios.com> | ||
| 21 | Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> | ||
| 22 | --- | ||
| 23 | include/instrumentation/events/ext4.h | 30 +++++++++++++++++++++++++++ | ||
| 24 | 1 file changed, 30 insertions(+) | ||
| 25 | |||
| 26 | diff --git a/include/instrumentation/events/ext4.h b/include/instrumentation/events/ext4.h | ||
| 27 | index 513762c0..222416ec 100644 | ||
| 28 | --- a/include/instrumentation/events/ext4.h | ||
| 29 | +++ b/include/instrumentation/events/ext4.h | ||
| 30 | @@ -122,6 +122,35 @@ LTTNG_TRACEPOINT_EVENT(ext4_begin_ordered_truncate, | ||
| 31 | ) | ||
| 32 | ) | ||
| 33 | |||
| 34 | +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,19,0)) | ||
| 35 | +LTTNG_TRACEPOINT_EVENT_CLASS(ext4__write_begin, | ||
| 36 | + | ||
| 37 | + TP_PROTO(struct inode *inode, loff_t pos, unsigned int len), | ||
| 38 | + | ||
| 39 | + TP_ARGS(inode, pos, len), | ||
| 40 | + | ||
| 41 | + TP_FIELDS( | ||
| 42 | + ctf_integer(dev_t, dev, inode->i_sb->s_dev) | ||
| 43 | + ctf_integer(ino_t, ino, inode->i_ino) | ||
| 44 | + ctf_integer(loff_t, pos, pos) | ||
| 45 | + ctf_integer(unsigned int, len, len) | ||
| 46 | + ) | ||
| 47 | +) | ||
| 48 | + | ||
| 49 | +LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__write_begin, ext4_write_begin, | ||
| 50 | + | ||
| 51 | + TP_PROTO(struct inode *inode, loff_t pos, unsigned int len), | ||
| 52 | + | ||
| 53 | + TP_ARGS(inode, pos, len) | ||
| 54 | +) | ||
| 55 | + | ||
| 56 | +LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__write_begin, ext4_da_write_begin, | ||
| 57 | + | ||
| 58 | + TP_PROTO(struct inode *inode, loff_t pos, unsigned int len), | ||
| 59 | + | ||
| 60 | + TP_ARGS(inode, pos, len) | ||
| 61 | +) | ||
| 62 | +#else | ||
| 63 | LTTNG_TRACEPOINT_EVENT_CLASS(ext4__write_begin, | ||
| 64 | |||
| 65 | TP_PROTO(struct inode *inode, loff_t pos, unsigned int len, | ||
| 66 | @@ -153,6 +182,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__write_begin, ext4_da_write_begin, | ||
| 67 | |||
| 68 | TP_ARGS(inode, pos, len, flags) | ||
| 69 | ) | ||
| 70 | +#endif | ||
| 71 | |||
| 72 | LTTNG_TRACEPOINT_EVENT_CLASS(ext4__write_end, | ||
| 73 | TP_PROTO(struct inode *inode, loff_t pos, unsigned int len, | ||
| 74 | -- | ||
| 75 | 2.19.1 | ||
| 76 | |||
diff --git a/meta/recipes-kernel/lttng/lttng-modules/0003-fix-workqueue-Fix-type-of-cpu-in-trace-event-v5.19.patch b/meta/recipes-kernel/lttng/lttng-modules/0003-fix-workqueue-Fix-type-of-cpu-in-trace-event-v5.19.patch deleted file mode 100644 index 63f9c40d92..0000000000 --- a/meta/recipes-kernel/lttng/lttng-modules/0003-fix-workqueue-Fix-type-of-cpu-in-trace-event-v5.19.patch +++ /dev/null | |||
| @@ -1,124 +0,0 @@ | |||
| 1 | From 526f13c844cd29f89bd3e924867d9ddfe3c40ade Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Michael Jeanson <mjeanson@efficios.com> | ||
| 3 | Date: Wed, 15 Jun 2022 12:07:16 -0400 | ||
| 4 | Subject: [PATCH 3/3] fix: workqueue: Fix type of cpu in trace event (v5.19) | ||
| 5 | |||
| 6 | See upstream commit : | ||
| 7 | |||
| 8 | commit 873a400938b31a1e443c4d94b560b78300787540 | ||
| 9 | Author: Wonhyuk Yang <vvghjk1234@gmail.com> | ||
| 10 | Date: Wed May 4 11:32:03 2022 +0900 | ||
| 11 | |||
| 12 | workqueue: Fix type of cpu in trace event | ||
| 13 | |||
| 14 | The trace event "workqueue_queue_work" use unsigned int type for | ||
| 15 | req_cpu, cpu. This casue confusing cpu number like below log. | ||
| 16 | |||
| 17 | $ cat /sys/kernel/debug/tracing/trace | ||
| 18 | cat-317 [001] ...: workqueue_queue_work: ... req_cpu=8192 cpu=4294967295 | ||
| 19 | |||
| 20 | So, change unsigned type to signed type in the trace event. After | ||
| 21 | applying this patch, cpu number will be printed as -1 instead of | ||
| 22 | 4294967295 as folllows. | ||
| 23 | |||
| 24 | $ cat /sys/kernel/debug/tracing/trace | ||
| 25 | cat-1338 [002] ...: workqueue_queue_work: ... req_cpu=8192 cpu=-1 | ||
| 26 | |||
| 27 | Upstream-Status: Backport | ||
| 28 | |||
| 29 | Change-Id: I478083c350b6ec314d87e9159dc5b342b96daed7 | ||
| 30 | Signed-off-by: Michael Jeanson <mjeanson@efficios.com> | ||
| 31 | Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> | ||
| 32 | --- | ||
| 33 | include/instrumentation/events/workqueue.h | 49 ++++++++++++++++++++-- | ||
| 34 | 1 file changed, 46 insertions(+), 3 deletions(-) | ||
| 35 | |||
| 36 | diff --git a/include/instrumentation/events/workqueue.h b/include/instrumentation/events/workqueue.h | ||
| 37 | index 023b65a8..5693cf89 100644 | ||
| 38 | --- a/include/instrumentation/events/workqueue.h | ||
| 39 | +++ b/include/instrumentation/events/workqueue.h | ||
| 40 | @@ -28,10 +28,35 @@ LTTNG_TRACEPOINT_EVENT_CLASS(workqueue_work, | ||
| 41 | ) | ||
| 42 | ) | ||
| 43 | |||
| 44 | +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,19,0)) | ||
| 45 | /** | ||
| 46 | * workqueue_queue_work - called when a work gets queued | ||
| 47 | * @req_cpu: the requested cpu | ||
| 48 | - * @cwq: pointer to struct cpu_workqueue_struct | ||
| 49 | + * @pwq: pointer to struct pool_workqueue | ||
| 50 | + * @work: pointer to struct work_struct | ||
| 51 | + * | ||
| 52 | + * This event occurs when a work is queued immediately or once a | ||
| 53 | + * delayed work is actually queued on a workqueue (ie: once the delay | ||
| 54 | + * has been reached). | ||
| 55 | + */ | ||
| 56 | +LTTNG_TRACEPOINT_EVENT(workqueue_queue_work, | ||
| 57 | + | ||
| 58 | + TP_PROTO(int req_cpu, struct pool_workqueue *pwq, | ||
| 59 | + struct work_struct *work), | ||
| 60 | + | ||
| 61 | + TP_ARGS(req_cpu, pwq, work), | ||
| 62 | + | ||
| 63 | + TP_FIELDS( | ||
| 64 | + ctf_integer_hex(void *, work, work) | ||
| 65 | + ctf_integer_hex(void *, function, work->func) | ||
| 66 | + ctf_integer(int, req_cpu, req_cpu) | ||
| 67 | + ) | ||
| 68 | +) | ||
| 69 | +#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,9,0)) | ||
| 70 | +/** | ||
| 71 | + * workqueue_queue_work - called when a work gets queued | ||
| 72 | + * @req_cpu: the requested cpu | ||
| 73 | + * @pwq: pointer to struct pool_workqueue | ||
| 74 | * @work: pointer to struct work_struct | ||
| 75 | * | ||
| 76 | * This event occurs when a work is queued immediately or once a | ||
| 77 | @@ -40,17 +65,34 @@ LTTNG_TRACEPOINT_EVENT_CLASS(workqueue_work, | ||
| 78 | */ | ||
| 79 | LTTNG_TRACEPOINT_EVENT(workqueue_queue_work, | ||
| 80 | |||
| 81 | -#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,9,0)) | ||
| 82 | TP_PROTO(unsigned int req_cpu, struct pool_workqueue *pwq, | ||
| 83 | struct work_struct *work), | ||
| 84 | |||
| 85 | TP_ARGS(req_cpu, pwq, work), | ||
| 86 | + | ||
| 87 | + TP_FIELDS( | ||
| 88 | + ctf_integer_hex(void *, work, work) | ||
| 89 | + ctf_integer_hex(void *, function, work->func) | ||
| 90 | + ctf_integer(unsigned int, req_cpu, req_cpu) | ||
| 91 | + ) | ||
| 92 | +) | ||
| 93 | #else | ||
| 94 | +/** | ||
| 95 | + * workqueue_queue_work - called when a work gets queued | ||
| 96 | + * @req_cpu: the requested cpu | ||
| 97 | + * @cwq: pointer to struct cpu_workqueue_struct | ||
| 98 | + * @work: pointer to struct work_struct | ||
| 99 | + * | ||
| 100 | + * This event occurs when a work is queued immediately or once a | ||
| 101 | + * delayed work is actually queued on a workqueue (ie: once the delay | ||
| 102 | + * has been reached). | ||
| 103 | + */ | ||
| 104 | +LTTNG_TRACEPOINT_EVENT(workqueue_queue_work, | ||
| 105 | + | ||
| 106 | TP_PROTO(unsigned int req_cpu, struct cpu_workqueue_struct *cwq, | ||
| 107 | struct work_struct *work), | ||
| 108 | |||
| 109 | TP_ARGS(req_cpu, cwq, work), | ||
| 110 | -#endif | ||
| 111 | |||
| 112 | TP_FIELDS( | ||
| 113 | ctf_integer_hex(void *, work, work) | ||
| 114 | @@ -58,6 +100,7 @@ LTTNG_TRACEPOINT_EVENT(workqueue_queue_work, | ||
| 115 | ctf_integer(unsigned int, req_cpu, req_cpu) | ||
| 116 | ) | ||
| 117 | ) | ||
| 118 | +#endif | ||
| 119 | |||
| 120 | /** | ||
| 121 | * workqueue_activate_work - called when a work gets activated | ||
| 122 | -- | ||
| 123 | 2.19.1 | ||
| 124 | |||
diff --git a/meta/recipes-kernel/lttng/lttng-modules_2.13.4.bb b/meta/recipes-kernel/lttng/lttng-modules_2.13.5.bb index ad4063bed3..307fb912cf 100644 --- a/meta/recipes-kernel/lttng/lttng-modules_2.13.4.bb +++ b/meta/recipes-kernel/lttng/lttng-modules_2.13.5.bb | |||
| @@ -11,11 +11,6 @@ include lttng-platforms.inc | |||
| 11 | 11 | ||
| 12 | SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \ | 12 | SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \ |
| 13 | file://0009-Rename-genhd-wrapper-to-blkdev.patch \ | 13 | file://0009-Rename-genhd-wrapper-to-blkdev.patch \ |
| 14 | file://0001-fix-mm-page_alloc-fix-tracepoint-mm_page_alloc_zone_.patch \ | ||
| 15 | file://0002-fix-fs-Remove-flags-parameter-from-aops-write_begin-.patch \ | ||
| 16 | file://0003-fix-workqueue-Fix-type-of-cpu-in-trace-event-v5.19.patch \ | ||
| 17 | file://0001-fix-net-skb-introduce-kfree_skb_reason-v5.15.58.v5.1.patch \ | ||
| 18 | file://0001-fix-compaction.patch \ | ||
| 19 | file://0001-fix-adjust-range-v5.10.137-in-block-probe.patch \ | 14 | file://0001-fix-adjust-range-v5.10.137-in-block-probe.patch \ |
| 20 | file://0001-wrapper-powerpc64-fix-kernel-crash-caused-by-do_get_.patch \ | 15 | file://0001-wrapper-powerpc64-fix-kernel-crash-caused-by-do_get_.patch \ |
| 21 | " | 16 | " |
| @@ -23,7 +18,7 @@ SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \ | |||
| 23 | # Use :append here so that the patch is applied also when using devupstream | 18 | # Use :append here so that the patch is applied also when using devupstream |
| 24 | SRC_URI:append = " file://0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch" | 19 | SRC_URI:append = " file://0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch" |
| 25 | 20 | ||
| 26 | SRC_URI[sha256sum] = "6159d00e4e1d59546eec8d4a67e1aa39c1084ceb5e5afeb666eab4b8a5b5a9ee" | 21 | SRC_URI[sha256sum] = "eceb3428d80e85a9f008425beb9526195c9f7f02b302f28add56df53aef3e708" |
| 27 | 22 | ||
| 28 | export INSTALL_MOD_DIR="kernel/lttng-modules" | 23 | export INSTALL_MOD_DIR="kernel/lttng-modules" |
| 29 | 24 | ||
