Messages in this thread | | | Date | Thu, 15 Nov 2007 15:54:24 -0800 | From | Mike Mason <> | Subject | Re: [RFC 4/7] LTTng instrumentation kernel |
| |
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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |