Re: [patch 02/10] Linux Kernel Markers, architecture independent code.

Alexey Dobriyan
2007-05-10T05:10:48Z

On Wed, May 09, 2007 at 09:55:57PM -0400, Mathieu Desnoyers wrote:
> --- /dev/null
> +++ linux-2.6-lttng/include/linux/marker.h
> @@ -0,0 +1,124 @@

> +#ifdef __KERNEL__

Just don't add this file to include/linux/Kbuild and remove __KERNEL__
ifdef.

> --- linux-2.6-lttng.orig/include/linux/module.h
> +++ linux-2.6-lttng/include/linux/module.h
> @@ -356,6 +356,9 @@
> /* The command line arguments (may be mangled). People like
> keeping pointers to this stuff */
> char *args;
> +
> + const struct __mark_marker *markers;
> + unsigned int num_markers;

#ifdef CONFIG_MARKERS, please.

> --- linux-2.6-lttng.orig/kernel/module.c
> +++ linux-2.6-lttng/kernel/module.c

> @@ -1659,6 +1884,9 @@
> unsigned int unusedcrcindex;
> unsigned int unusedgplindex;
> unsigned int unusedgplcrcindex;
> + unsigned int markersindex;
> + unsigned int markersdataindex;
> + unsigned int markersstringsindex;

Bunch of underscores wouldn't hurt.

> +void list_modules(void)
> +{
> + /* 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);
^
Buy second CPU, already. ;-)

> +#endif //CONFIG_MODULE_UNLOAD
> + trace_mark(list_module, "%s %d %lu",
> + mod->name, mod->state, refcount);
> + }
> + mutex_unlock(&module_mutex);
> +}