[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