sh: Add ftrace syscall tracing support (was: Re: [ltt-dev] [PATCH]sh: added LTT_DUMP_TABLES support)

From: Mathieu Desnoyers
Date: Tue Aug 04 2009 - 09:35:36 EST


* Giuseppe CAVALLARO (peppe.cavallaro@xxxxxx) wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hi Mathieu,
>
> Mathieu Desnoyers wrote:
> > So now we only need to fix entry-common.S to get everything working.
>
> I've just noticed that this has been already done:
> http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Flethal%2Fsh-2.6.git;a=commitdiff_plain;h=c652d780c9cf7f860141de232b37160fe013feca;hp=c1340c053be7a43d837a3acb352d5008be865a55
> I think it will be necessary to to re-add the _TIF_KERNEL_TRACE against
> this modifications, only.
>

Hrm, I don't like the approach taken there. It extends the bitmasks for
_TIF_WORK_SYSCALL_MASK and _TIF_ALLWORK_MASK beyond 8 bits, and adds a &
0xff in the assembly whenever needed. This begs for a bug to be
introduced.

If we need something like that on SH, we should probably declare a 8-bit
only bitmask for those assembly sites which does not need the
FTRACE_SYSCALL thread flag, and another mask for sites which need to
test the 2 bytes.

I would also consider other instructions than 2 consecutive "tst" to
extend test with a 2 bytes mask. Something like loading an integer in a
register and testing with the register rather than doing 2 immediate
value tests.

Mathieu


> Regards,
> Peppe
>
> >
> > Mathieu
> >
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (GNU/Linux)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>
> iEYEARECAAYFAkp39YMACgkQ2Xo3j31MSSJWmQCeJfvmg3cUHsGGy5QNdRcOJbO9
> C1AAnR6gAuKZhaRt4+4UWiWDGucgD2DJ
> =9cBd
> -----END PGP SIGNATURE-----
>

--
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
--
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/