* [PATCH] lttng-modules: Fix build with older kernels
@ 2014-05-15 12:09 Martin Jansa
2014-05-20 13:42 ` Richard Purdie
0 siblings, 1 reply; 4+ messages in thread
From: Martin Jansa @ 2014-05-15 12:09 UTC (permalink / raw)
To: openembedded-core
* forward port this patch from daisy:
commit c11b29ff4f24af0445c3c6a694b8dc2037dcd7e4
Author: Tom Zanussi <tom.zanussi@intel.com>
Date: Thu Mar 6 22:26:20 2014 -0600
lttng-modules: Fix 3.14 bio tracepoints
* how is it possible that it's in daisy but not in master?
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
.../lttng/lttng-modules/bio-bvec-iter.patch | 156 +++++++++++++++++++++
.../lttng/lttng-modules/fixup_block_driver.patch | 122 ----------------
meta/recipes-kernel/lttng/lttng-modules_2.3.3.bb | 2 +-
3 files changed, 157 insertions(+), 123 deletions(-)
create mode 100644 meta/recipes-kernel/lttng/lttng-modules/bio-bvec-iter.patch
delete mode 100644 meta/recipes-kernel/lttng/lttng-modules/fixup_block_driver.patch
diff --git a/meta/recipes-kernel/lttng/lttng-modules/bio-bvec-iter.patch b/meta/recipes-kernel/lttng/lttng-modules/bio-bvec-iter.patch
new file mode 100644
index 0000000..d6c66e4
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-modules/bio-bvec-iter.patch
@@ -0,0 +1,156 @@
+Upstream-Status: Pending
+
+In 3.14, bi_sector and bi_size were moved into an iterator, thus
+breaking any tracepoints that still expect them in the bio. Fix up
+the lttng-module tracepoints to use the new scheme when the kernel
+version is >= 3.14.
+
+Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
+
+diff --git a/instrumentation/events/lttng-module/block.h b/instrumentation/events/lttng-module/block.h
+index f3b8bff..0a61543 100644
+--- a/instrumentation/events/lttng-module/block.h
++++ b/instrumentation/events/lttng-module/block.h
+@@ -341,9 +341,15 @@ TRACE_EVENT(block_bio_bounce,
+ TP_fast_assign(
+ tp_assign(dev, bio->bi_bdev ?
+ bio->bi_bdev->bd_dev : 0)
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0))
++ tp_assign(sector, bio->bi_iter.bi_sector)
++ tp_assign(nr_sector, bio->bi_iter.bi_size >> 9)
++ blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_iter.bi_size)
++#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
+ tp_assign(sector, bio->bi_sector)
+ tp_assign(nr_sector, bio->bi_size >> 9)
+ blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_size)
++#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
+ tp_memcpy(comm, current->comm, TASK_COMM_LEN)
+ ),
+
+@@ -385,14 +391,24 @@ TRACE_EVENT(block_bio_complete,
+
+ TP_fast_assign(
+ tp_assign(dev, bio->bi_bdev->bd_dev)
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0))
++ tp_assign(sector, bio->bi_iter.bi_sector)
++ tp_assign(nr_sector, bio->bi_iter.bi_size >> 9)
++#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
+ tp_assign(sector, bio->bi_sector)
+ tp_assign(nr_sector, bio->bi_size >> 9)
++#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
++
+ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38))
+ tp_assign(error, error)
+ #else
+ tp_assign(error, 0)
+ #endif
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0))
++ blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_iter.bi_size)
++#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
+ blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_size)
++#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
+ ),
+
+ TP_printk("%d,%d %s %llu + %u [%d]",
+@@ -419,9 +435,15 @@ DECLARE_EVENT_CLASS(block_bio_merge,
+
+ TP_fast_assign(
+ tp_assign(dev, bio->bi_bdev->bd_dev)
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0))
++ tp_assign(sector, bio->bi_iter.bi_sector)
++ tp_assign(nr_sector, bio->bi_iter.bi_size >> 9)
++ blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_iter.bi_size)
++#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
+ tp_assign(sector, bio->bi_sector)
+ tp_assign(nr_sector, bio->bi_size >> 9)
+ blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_size)
++#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
+ tp_memcpy(comm, current->comm, TASK_COMM_LEN)
+ ),
+
+@@ -485,9 +507,15 @@ TRACE_EVENT(block_bio_queue,
+
+ TP_fast_assign(
+ tp_assign(dev, bio->bi_bdev->bd_dev)
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0))
++ tp_assign(sector, bio->bi_iter.bi_sector)
++ tp_assign(nr_sector, bio->bi_iter.bi_size >> 9)
++ blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_iter.bi_size)
++#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
+ tp_assign(sector, bio->bi_sector)
+ tp_assign(nr_sector, bio->bi_size >> 9)
+ blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_size)
++#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
+ tp_memcpy(comm, current->comm, TASK_COMM_LEN)
+ ),
+
+@@ -513,9 +541,15 @@ DECLARE_EVENT_CLASS(block_bio,
+
+ TP_fast_assign(
+ tp_assign(dev, bio->bi_bdev ? bio->bi_bdev->bd_dev : 0)
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0))
++ tp_assign(sector, bio->bi_iter.bi_sector)
++ tp_assign(nr_sector, bio->bi_iter.bi_size >> 9)
++ blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_iter.bi_size)
++#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
+ tp_assign(sector, bio->bi_sector)
+ tp_assign(nr_sector, bio->bi_size >> 9)
+ blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_size)
++#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
+ tp_memcpy(comm, current->comm, TASK_COMM_LEN)
+ ),
+
+@@ -587,10 +621,17 @@ DECLARE_EVENT_CLASS(block_get_rq,
+
+ TP_fast_assign(
+ tp_assign(dev, bio ? bio->bi_bdev->bd_dev : 0)
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0))
++ tp_assign(sector, bio ? bio->bi_iter.bi_sector : 0)
++ tp_assign(nr_sector, bio ? bio->bi_iter.bi_size >> 9 : 0)
++ blk_fill_rwbs(rwbs, bio ? bio->bi_rw : 0,
++ bio ? bio->bi_iter.bi_size >> 9 : 0)
++#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
+ tp_assign(sector, bio ? bio->bi_sector : 0)
+ tp_assign(nr_sector, bio ? bio->bi_size >> 9 : 0)
+ blk_fill_rwbs(rwbs, bio ? bio->bi_rw : 0,
+ bio ? bio->bi_size >> 9 : 0)
++#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
+ tp_memcpy(comm, current->comm, TASK_COMM_LEN)
+ ),
+
+@@ -759,9 +800,15 @@ TRACE_EVENT(block_split,
+
+ TP_fast_assign(
+ tp_assign(dev, bio->bi_bdev->bd_dev)
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0))
++ tp_assign(sector, bio->bi_iter.bi_sector)
++ tp_assign(new_sector, new_sector)
++ blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_iter.bi_size)
++#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
+ tp_assign(sector, bio->bi_sector)
+ tp_assign(new_sector, new_sector)
+ blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_size)
++#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
+ tp_memcpy(comm, current->comm, TASK_COMM_LEN)
+ ),
+
+@@ -805,11 +852,19 @@ TRACE_EVENT(block_remap,
+
+ TP_fast_assign(
+ tp_assign(dev, bio->bi_bdev->bd_dev)
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0))
++ tp_assign(sector, bio->bi_iter.bi_sector)
++ tp_assign(nr_sector, bio->bi_iter.bi_size >> 9)
++ tp_assign(old_dev, dev)
++ tp_assign(old_sector, from)
++ blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_iter.bi_size)
++#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
+ tp_assign(sector, bio->bi_sector)
+ tp_assign(nr_sector, bio->bi_size >> 9)
+ tp_assign(old_dev, dev)
+ tp_assign(old_sector, from)
+ blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_size)
++#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
+ ),
+
+ TP_printk("%d,%d %s %llu + %u <- (%d,%d) %llu",
diff --git a/meta/recipes-kernel/lttng/lttng-modules/fixup_block_driver.patch b/meta/recipes-kernel/lttng/lttng-modules/fixup_block_driver.patch
deleted file mode 100644
index 3644a47..0000000
--- a/meta/recipes-kernel/lttng/lttng-modules/fixup_block_driver.patch
+++ /dev/null
@@ -1,122 +0,0 @@
-Fix errors like
-
-block.h:344:24: error: 'struct bio' has no member named 'bi_sector'
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-
-Index: git/instrumentation/events/lttng-module/block.h
-===================================================================
---- git.orig/instrumentation/events/lttng-module/block.h 2014-05-02 22:20:01.814125429 -0700
-+++ git/instrumentation/events/lttng-module/block.h 2014-05-02 22:28:48.927455709 -0700
-@@ -341,9 +341,9 @@
- TP_fast_assign(
- tp_assign(dev, bio->bi_bdev ?
- bio->bi_bdev->bd_dev : 0)
-- tp_assign(sector, bio->bi_sector)
-- tp_assign(nr_sector, bio->bi_size >> 9)
-- blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_size)
-+ tp_assign(sector, bio->bi_iter.bi_sector)
-+ tp_assign(nr_sector, bio->bi_iter.bi_size >> 9)
-+ blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_iter.bi_size)
- tp_memcpy(comm, current->comm, TASK_COMM_LEN)
- ),
-
-@@ -385,14 +385,14 @@
-
- TP_fast_assign(
- tp_assign(dev, bio->bi_bdev->bd_dev)
-- tp_assign(sector, bio->bi_sector)
-- tp_assign(nr_sector, bio->bi_size >> 9)
-+ tp_assign(sector, bio->bi_iter.bi_sector)
-+ tp_assign(nr_sector, bio->bi_iter.bi_size >> 9)
- #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38))
- tp_assign(error, error)
- #else
- tp_assign(error, 0)
- #endif
-- blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_size)
-+ blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_iter.bi_size)
- ),
-
- TP_printk("%d,%d %s %llu + %u [%d]",
-@@ -419,9 +419,9 @@
-
- TP_fast_assign(
- tp_assign(dev, bio->bi_bdev->bd_dev)
-- tp_assign(sector, bio->bi_sector)
-- tp_assign(nr_sector, bio->bi_size >> 9)
-- blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_size)
-+ tp_assign(sector, bio->bi_iter.bi_sector)
-+ tp_assign(nr_sector, bio->bi_iter.bi_size >> 9)
-+ blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_iter.bi_size)
- tp_memcpy(comm, current->comm, TASK_COMM_LEN)
- ),
-
-@@ -485,9 +485,9 @@
-
- TP_fast_assign(
- tp_assign(dev, bio->bi_bdev->bd_dev)
-- tp_assign(sector, bio->bi_sector)
-- tp_assign(nr_sector, bio->bi_size >> 9)
-- blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_size)
-+ tp_assign(sector, bio->bi_iter.bi_sector)
-+ tp_assign(nr_sector, bio->bi_iter.bi_size >> 9)
-+ blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_iter.bi_size)
- tp_memcpy(comm, current->comm, TASK_COMM_LEN)
- ),
-
-@@ -513,9 +513,9 @@
-
- TP_fast_assign(
- tp_assign(dev, bio->bi_bdev ? bio->bi_bdev->bd_dev : 0)
-- tp_assign(sector, bio->bi_sector)
-- tp_assign(nr_sector, bio->bi_size >> 9)
-- blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_size)
-+ tp_assign(sector, bio->bi_iter.bi_sector)
-+ tp_assign(nr_sector, bio->bi_iter.bi_size >> 9)
-+ blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_iter.bi_size)
- tp_memcpy(comm, current->comm, TASK_COMM_LEN)
- ),
-
-@@ -587,10 +587,10 @@
-
- TP_fast_assign(
- tp_assign(dev, bio ? bio->bi_bdev->bd_dev : 0)
-- tp_assign(sector, bio ? bio->bi_sector : 0)
-- tp_assign(nr_sector, bio ? bio->bi_size >> 9 : 0)
-+ tp_assign(sector, bio ? bio->bi_iter.bi_sector : 0)
-+ tp_assign(nr_sector, bio ? bio->bi_iter.bi_size >> 9 : 0)
- blk_fill_rwbs(rwbs, bio ? bio->bi_rw : 0,
-- bio ? bio->bi_size >> 9 : 0)
-+ bio ? bio->bi_iter.bi_size >> 9 : 0)
- tp_memcpy(comm, current->comm, TASK_COMM_LEN)
- ),
-
-@@ -759,9 +759,9 @@
-
- TP_fast_assign(
- tp_assign(dev, bio->bi_bdev->bd_dev)
-- tp_assign(sector, bio->bi_sector)
-+ tp_assign(sector, bio->bi_iter.bi_sector)
- tp_assign(new_sector, new_sector)
-- blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_size)
-+ blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_iter.bi_size)
- tp_memcpy(comm, current->comm, TASK_COMM_LEN)
- ),
-
-@@ -805,11 +805,11 @@
-
- TP_fast_assign(
- tp_assign(dev, bio->bi_bdev->bd_dev)
-- tp_assign(sector, bio->bi_sector)
-- tp_assign(nr_sector, bio->bi_size >> 9)
-+ tp_assign(sector, bio->bi_iter.bi_sector)
-+ tp_assign(nr_sector, bio->bi_iter.bi_size >> 9)
- tp_assign(old_dev, dev)
- tp_assign(old_sector, from)
-- blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_size)
-+ blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_iter.bi_size)
- ),
-
- TP_printk("%d,%d %s %llu + %u <- (%d,%d) %llu",
diff --git a/meta/recipes-kernel/lttng/lttng-modules_2.3.3.bb b/meta/recipes-kernel/lttng/lttng-modules_2.3.3.bb
index 94e18b2..81a3983 100644
--- a/meta/recipes-kernel/lttng/lttng-modules_2.3.3.bb
+++ b/meta/recipes-kernel/lttng/lttng-modules_2.3.3.bb
@@ -15,7 +15,7 @@ PV = "2.3.3"
SRC_URI = "git://git.lttng.org/lttng-modules.git;branch=stable-2.3 \
file://lttng-modules-replace-KERNELDIR-with-KERNEL_SRC.patch \
- file://fixup_block_driver.patch \
+ file://bio-bvec-iter.patch \
"
export INSTALL_MOD_DIR="kernel/lttng-modules"
--
1.9.3
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH] lttng-modules: Fix build with older kernels
2014-05-15 12:09 [PATCH] lttng-modules: Fix build with older kernels Martin Jansa
@ 2014-05-20 13:42 ` Richard Purdie
2014-05-20 14:01 ` Tom Zanussi
2014-05-20 15:25 ` Martin Jansa
0 siblings, 2 replies; 4+ messages in thread
From: Richard Purdie @ 2014-05-20 13:42 UTC (permalink / raw)
To: Martin Jansa; +Cc: openembedded-core
On Thu, 2014-05-15 at 14:09 +0200, Martin Jansa wrote:
> * forward port this patch from daisy:
> commit c11b29ff4f24af0445c3c6a694b8dc2037dcd7e4
> Author: Tom Zanussi <tom.zanussi@intel.com>
> Date: Thu Mar 6 22:26:20 2014 -0600
>
> lttng-modules: Fix 3.14 bio tracepoints
>
> * how is it possible that it's in daisy but not in master?
It looks like we have two versions of lttng-modules and friends. The
patch was applied in master and daisy to 2.4.0 but not to 2.3.3.
Why do we have two versions of the lttng pieces? :( One works on arm and
the other doesn't?
Anyhow, the change was in master and daisy.
Cheers,
Richard
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] lttng-modules: Fix build with older kernels
2014-05-20 13:42 ` Richard Purdie
@ 2014-05-20 14:01 ` Tom Zanussi
2014-05-20 15:25 ` Martin Jansa
1 sibling, 0 replies; 4+ messages in thread
From: Tom Zanussi @ 2014-05-20 14:01 UTC (permalink / raw)
To: Richard Purdie; +Cc: openembedded-core
On Tue, 2014-05-20 at 14:42 +0100, Richard Purdie wrote:
> On Thu, 2014-05-15 at 14:09 +0200, Martin Jansa wrote:
> > * forward port this patch from daisy:
> > commit c11b29ff4f24af0445c3c6a694b8dc2037dcd7e4
> > Author: Tom Zanussi <tom.zanussi@intel.com>
> > Date: Thu Mar 6 22:26:20 2014 -0600
> >
> > lttng-modules: Fix 3.14 bio tracepoints
> >
> > * how is it possible that it's in daisy but not in master?
>
> It looks like we have two versions of lttng-modules and friends. The
> patch was applied in master and daisy to 2.4.0 but not to 2.3.3.
>
> Why do we have two versions of the lttng pieces? :( One works on arm and
> the other doesn't?
>
Right, rather than completely pulling the rug out from under arm users,
the 2.3.3 pieces that didn't have arm blacklisted was left in place as
an option for them.
Tom
> Anyhow, the change was in master and daisy.
>
> Cheers,
>
> Richard
>
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] lttng-modules: Fix build with older kernels
2014-05-20 13:42 ` Richard Purdie
2014-05-20 14:01 ` Tom Zanussi
@ 2014-05-20 15:25 ` Martin Jansa
1 sibling, 0 replies; 4+ messages in thread
From: Martin Jansa @ 2014-05-20 15:25 UTC (permalink / raw)
To: Richard Purdie; +Cc: openembedded-core
[-- Attachment #1: Type: text/plain, Size: 1019 bytes --]
On Tue, May 20, 2014 at 02:42:45PM +0100, Richard Purdie wrote:
> On Thu, 2014-05-15 at 14:09 +0200, Martin Jansa wrote:
> > * forward port this patch from daisy:
> > commit c11b29ff4f24af0445c3c6a694b8dc2037dcd7e4
> > Author: Tom Zanussi <tom.zanussi@intel.com>
> > Date: Thu Mar 6 22:26:20 2014 -0600
> >
> > lttng-modules: Fix 3.14 bio tracepoints
> >
> > * how is it possible that it's in daisy but not in master?
>
> It looks like we have two versions of lttng-modules and friends. The
> patch was applied in master and daisy to 2.4.0 but not to 2.3.3.
>
> Why do we have two versions of the lttng pieces? :( One works on arm and
> the other doesn't?
>
> Anyhow, the change was in master and daisy.
Yes, in the end I've discovered it as well and sent separate patch for
daisy to apply the same patch in 2nd lttng-modules version:
http://lists.openembedded.org/pipermail/openembedded-core/2014-May/092593.html
--
Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-05-20 15:25 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-15 12:09 [PATCH] lttng-modules: Fix build with older kernels Martin Jansa
2014-05-20 13:42 ` Richard Purdie
2014-05-20 14:01 ` Tom Zanussi
2014-05-20 15:25 ` Martin Jansa
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox