Messages in this thread |  | | Date | Mon, 8 Jun 2009 22:40:56 +0200 | From | Ingo Molnar <> | Subject | Re: [PATCH 2/2] convert to syscall tracepoints |
| |
* Jason Baron <jbaron@redhat.com> wrote:
> +#ifdef __NR_time > +trace_event_syscall(1, time, time_t __user *, tloc); > +#endif > + > +#ifdef __NR_stime > +trace_event_syscall(1, stime, time_t __user *, tptr); > +#endif > + > +#ifdef __NR_gettimeofday > +trace_event_syscall(2, gettimeofday, struct timeval __user *, tv, struct timezone __user *, tz); > +#endif
This could be reduced to a single line: just add a Kconfig entry (say TRACE_SYSCALL_TRACEPOINTS) wether an arch supports syscall tracepoints, enable it on a sane arch, make sure it has all the syscalls and list them ...
As more architectures turn on SYSCALL_TRACEPOINTS, they'll have to resolve any deviations in syscall entry points. Ideally we'd have one generic table that covers 95% of all syscalls, and the remaining 5% in some architecture specific #ifdef section.
But, more generally, i'm not at all convinced that we need _any_ of this enumeration. Look how much the above lines duplicate DEFINE_SYSCALL macros. Why arent those macros re-used?
We dont need too smart pretty-printing i think - we only want to know the field size and the field name - nothing else. Duplicating all those definitions looks outright wrong to me. Do we really, really, really have to do it?
Ingo
|  |