Re: [RFC] Refactor kenter/kleave/kdebug macros

From: David Howells
Date: Mon May 18 2015 - 11:21:20 EST


Leon Romanovsky <leon@xxxxxxx> wrote:

> >> Additionally, It looks like the output of these macros can be viewed by
> >> ftrace mechanism.
> >
> > *blink* It can?
> I was under strong impression that "function" and "function_graph"
> tracers will give similar kenter/kleave information. Do I miss
> anything important, except the difference in output format?
>
> >
> >> Maybe we should delete them from mm/nommu.c as was pointed by Joe?
> >
> > Why?
> If ftrace is sufficient to get the debug information, there will no
> need to duplicate it.

It isn't sufficient. It doesn't store the parameters or the return value, it
doesn't distinguish the return path in a function when there's more than one,
eg.:

kleave(" = %d [val]", ret);

vs:

kleave(" = %lx", result);

in do_mmap_pgoff() and it doesn't permit you to retrieve data from where the
argument pointers that you don't have pointed to, eg.:

kenter("%p{%d}", region, region->vm_usage);

David
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/