Re: [RFC 4/7] LTTng instrumentation kernel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



snip

+void list_modules(void *call_data)
+{
+    /* Enumerate loaded modules */
+    struct list_head    *i;
+    struct module        *mod;
+    unsigned long refcount = 0;
+
+    mutex_lock(&module_mutex);
+    list_for_each(i, &modules) {
+        mod = list_entry(i, struct module, list);
+#ifdef CONFIG_MODULE_UNLOAD
+        refcount = local_read(&mod->ref[0].count);
+#endif
+        __trace_mark(0, list_module, call_data,
+                "name %s state %d refcount %lu",
+                mod->name, mod->state, refcount);
+    }
+    mutex_unlock(&module_mutex);
+}
+EXPORT_SYMBOL_GPL(list_modules);
+
/* Given an address, look for it in the module exception tables. */
const struct exception_table_entry *search_module_extables(unsigned long addr)
{

What is the purpose of list_modules() in this patch?  Seems outside the scope of the patches' intent.  I assume LTTng uses it for some purpose, but it's not required to use the markers added by the patch.

Also, if list_modules() remains, the 0 should be removed from "__trace_mark(0, ..."
Mike Mason
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux