> Hi Andrew, > > Commit: > > commit b87700e318c27267890cbd6fb5e50b687279131b > Author: Andrew Gabbasov <[email protected]> > Date: Mon Dec 10 11:14:52 2012 -0500 > > Add new kernel probes instrumentation > > Add kernel probes for btrfs, compaction, ext4, printk, random, rcu, > regmap, rpm, sunrpc, workqueue, writeback. > > Signed-off-by: Andrew Gabbasov <[email protected]> > Signed-off-by: Mathieu Desnoyers <[email protected]> > > has 2 issues: > > 1) it implements a wrapper around global_dirty_limit() in probes/. All > wrappers should be in /wrapper/, without exception, otherwise the > code will quickly become unmaintainable (we need to know what > wrappers we can eventually remove if we remove support for older > kernels in the future, and we need to be aware of those wrappers for > complete testing coverage). I have no problem with having a > probes/Makefile using a relative path (e.g. ../wrapper/somefile.o) as > input if needed. > > 2) It fills my dmesg log output with: > "LTTng: global_dirty_limit symbol lookup failed." > messages. .config follows. > > Can you look into those issues ? > > Thanks, > > Mathieu
Hi Mathieu, Sorry for a late response. I'm sending a separate e-mail with the patch to fix these issues. Here are some details: 1) I moved the wrapper to a separate file wrapper/writeback.h. Since it is supposed to be used in writeback probe only, I think, using static variable will be harmless. 2) Since global_dirty_limit is not a function, but a global variable, its address is available to kallsyms lookup only if CONFIG_KALLSYMS_ALL is set. In order not to introduce wrapper related checks of this config into tracepoint definition include file, I decided not to exclude separate tracepoints in case of this config absence, but to omit the whole probe from building. So, writeback probe will be available only if CONFIG_KALLSYMS_ALL is set. 3) Additional issue that I noticed: in case of CONFIG_THUMB2_KERNEL setting for ARM, kallsyms_lookup_funcptr modifies the address found for the symbol. In order to avoid it for data addresses, I introduced a new kallsyms_lookup_dataptr function, that does not do any address modifications. And this new function is used for global_dirty_limit wrapper. Thanks. Best regards, Andrew _______________________________________________ lttng-dev mailing list [email protected] http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
