[ltt-dev] [PATCH] Add dup tracepoint

Mathieu Desnoyers compudj at krystal.dyndns.org
Wed May 18 18:43:36 EDT 2011


Those fixes/additions are released as LTTng 0.249/lttng-modules 0.19.10.

Thanks,

Mathieu

* Mathieu Desnoyers (compudj at krystal.dyndns.org) wrote:
> Merged, thanks! Will push a new lttng-stable (0.19) version soon.
> 
> Mathieu
> 
> * Francis Giraldeau (francis.giraldeau at usherbrooke.ca) wrote:
> > This patch provides instrumentation for dup system call. It records the oldfd
> > and newfd if the operation succeed. This is required to recover in the trace
> > tre fd that newfd reference to.
> > 
> > Signed-off-by: Francis Giraldeau <francis.giraldeau at usherbrooke.ca>
> > ---
> >  fs/fcntl.c         |   11 +++++++++--
> >  include/trace/fs.h |    3 +++
> >  2 files changed, 12 insertions(+), 2 deletions(-)
> > 
> > diff --git a/fs/fcntl.c b/fs/fcntl.c
> > index cb10261..3d3b3ac 100644
> > --- a/fs/fcntl.c
> > +++ b/fs/fcntl.c
> > @@ -20,11 +20,14 @@
> >  #include <linux/signal.h>
> >  #include <linux/rcupdate.h>
> >  #include <linux/pid_namespace.h>
> > +#include <trace/fs.h>
> >  
> >  #include <asm/poll.h>
> >  #include <asm/siginfo.h>
> >  #include <asm/uaccess.h>
> >  
> > +DEFINE_TRACE(fs_dup);
> > +
> >  void set_close_on_exec(unsigned int fd, int flag)
> >  {
> >  	struct files_struct *files = current->files;
> > @@ -104,6 +107,7 @@ SYSCALL_DEFINE3(dup3, unsigned int, oldfd, unsigned int, newfd, int, flags)
> >  	if (tofree)
> >  		filp_close(tofree, files);
> >  
> > +	trace_fs_dup(oldfd, newfd);
> >  	return newfd;
> >  
> >  Ebadf:
> > @@ -135,11 +139,14 @@ SYSCALL_DEFINE1(dup, unsigned int, fildes)
> >  
> >  	if (file) {
> >  		ret = get_unused_fd();
> > -		if (ret >= 0)
> > +		if (ret >= 0) {
> >  			fd_install(ret, file);
> > -		else
> > +			trace_fs_dup(fildes, (unsigned int) ret);
> > +		} else {
> >  			fput(file);
> > +		}
> >  	}
> > +
> >  	return ret;
> >  }
> >  
> > diff --git a/include/trace/fs.h b/include/trace/fs.h
> > index efe7e47..7712331 100644
> > --- a/include/trace/fs.h
> > +++ b/include/trace/fs.h
> > @@ -63,4 +63,7 @@ DECLARE_TRACE(fs_select,
> >  DECLARE_TRACE(fs_poll,
> >  	TP_PROTO(int fd),
> >  	TP_ARGS(fd));
> > +DECLARE_TRACE(fs_dup,
> > +	TP_PROTO(unsigned int oldfd, unsigned int newfd),
> > +	TP_ARGS(oldfd, newfd));
> >  #endif
> > -- 
> > 1.7.1
> > 
> > 
> > _______________________________________________
> > ltt-dev mailing list
> > ltt-dev at lists.casi.polymtl.ca
> > http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
> > 
> 
> -- 
> Mathieu Desnoyers
> Operating System Efficiency R&D Consultant
> EfficiOS Inc.
> http://www.efficios.com
> 
> _______________________________________________
> ltt-dev mailing list
> ltt-dev at lists.casi.polymtl.ca
> http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
> 

-- 
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com




More information about the lttng-dev mailing list