Re: [PATCH] tracing: Create generic syscall TRACE_EVENTs

From: Ingo Molnar
Date: Wed Aug 19 2009 - 09:05:55 EST



* Josh Stone <jistone@xxxxxxxxxx> wrote:

> On 08/18/2009 06:32 PM, Li Zefan wrote:
> > It would be much better to see a sample output of these TRACE_EVENTs,
> > so we'll see the what's the output if a syscall has less than 6 args.
> >
> > And I guess it should be "(%lx, %lx, ..., %lx)"? Otherwise I think we'll
> > see some negative values.
>
> Thanks, you're right -- the args should be unsigned long. Whether they
> are hex or decimal doesn't matter to me, but I guess that does make
> pointers easier to spot.
>
> Here's some output that I get on x86_64:
>
> > # tail trace
> > tail-1106 [000] 113218.474657: syscall_enter: NR 2 (7f2d34dd38f0, 0, 7f2d35009010, 5, 4, ffffffffffffffb0)
> >
> > tail-1106 [000] 113218.474809: syscall_enter: NR 5 (3, 7f2d35009040, 7f2d35009040, 5, 4, ffffffffffffffb0)
> >
> > tail-1106 [000] 113218.474855: syscall_enter: NR 9 (0, 50d3ad0, 1, 2, 3, 0)
> >
> > tail-1106 [000] 113218.474946: syscall_enter: NR 3 (3, 7f2d2f9a0000, 5e22, 2, 3, 0)
> >
> > tail-1106 [000] 113218.475673: syscall_enter: NR 2 (7fff5e42a654, 0, 0, 7fff5e429600, 80, 3)
>
> It's very raw indeed, but that's what Ingo asked for. :) The
> extra args show up as whatever happened to be in those registers.

If the syscalls are handled as a single tracepoint, then they
cannot really have per syscall properties.

The per syscall tracepoints on the other hand give very finegrained
information.

Note that via the use of filters one can limit the generic
tracepoint to only output certain syscall NRs, and only with
certain parameters.

Ingo
--
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/