[RFC] Refactor kenter/kleave/kdebug macros

David Howells dhowells at redhat.com
Mon May 18 08:20:36 PDT 2015


Leon Romanovsky <leon at leon.nu> 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



More information about the linux-afs mailing list