On Fri, 2014-05-02 at 13:30 -0400, gregkh wrote: > On Fri, May 02, 2014 at 10:07:33AM -0700, Kamal Mostafa wrote: > > Dirk Behme points out that this "Cc: stable" commit breaks the > > lttng-modules userspace API when applied to stable kernels. Stable > > versions 3.2, 3.8, 3.11, and 3.13 (at least) have all queued it: > > > > af5040da01ef980670b3741b3e10733ee3e33566 > > blktrace: fix accounting of partially completed requests > > > > > > On Thu, 2014-05-01 at 10:28 +0200, Dirk Behme wrote: > > > [...] might break the build of the user space lttng-modules > > > (lttng-probe-block.c) due the the API change of > > > trace_block_rq_complete(). > > > > > [...] On the other hand, looking into the lttng-modules git > > > http://git.lttng.org/?p=lttng-modules.git;a=commitdiff;h=1c53e689434a6bdd7dc3f54c07bfb72750d1d24c > > > looks like this is the necessary user space adaption to the kernel > > > change? So this looks like that lttng-modules expects a KERNEL_VERSION > > > >= (3,15,0) to have this commit? > > > > > > My inclination is that we probably need to revert/drop "af5040d > > blktrace: fix accounting..." from the stable kernels to unbreak the > > userspace API. > > Then you will run into this issue with 3.15, when it is released. No, I think "#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,15,0))" in the lttng-modules commit referenced above guards against that. Apparently, lttng-modules expects to see the new API in >= 3.15 and the old API in the stable kernels. > So > might as well be consistant here. > > Are tracepoints, and the data within them, being considered as a "user > api" that we can never change / break anymore? As the current > implementation is obviously broken (see the patch for details), why > would it make sense to even keep it around in that state? lttng, by > using that existing api, is reporting incorrect data, wouldn't it make > more sense to fix it up too? > > thanks, > > greg k-h Mathieu Desnoyers (author of the lttng-modules patch), can you shed any more light on this topic? Thanks, -Kamal
Attachment:
signature.asc
Description: This is a digitally signed message part