2008-10-22 21:40:08

by Steven Rostedt

[permalink] [raw]
Subject: [PATCH 00/13 v2] ftrace: clean ups and fixes

[
Changes since v1:

Tested CONFIG_FTRACE & CONFIG_DYNAMIC_FTRACE
CONFIG_FTRACE & !CONFIG_DYNAMIC_FTRACE
!CONFIG_FTRACE
on _both_ x86_64 and i386 kernels.

Fixed typo in recordmcount.pl script s/xi386/i386/

Used fault return codes for ftrace_modify_code return.

Added patch to use probe_kernel_read/write.

Better changelog on ftrace_kill change.

Use return code on WARN_ON*.

Removed "notrace" from arch/*/kernel/ftrace.c and instead
used the CFLAGS_REMOVE_ftrace.o = -pg in the Makefile.
This change cleans up the look of the code, and prevents
any further bugs from happening (forgetting a notrace).

Added sparc64 in the removal of ftrace_mcount_set (forgot the
quilt add in the first version)
]

This is a series of patches to make ftrace more robust and clean ups.

The first couple of patches fix the recordmount.pl script and changes
it to only record the .text section functions. This means that
the init sections will not be processed.

I still have a patch to add notrace to the init sections, and not for
safety reasons, but for perfomance. Since the init sections will not be
processed, they will still call mcount. Note, mcount is just a ret,
but why have the init code waste CPU cycles to call a stub function?

A FTRACE_WARN_ON is added to change all WARN_ONS to not only print a
warning, but also to disable ftrace as well.

The later patches are a bit more drastic. Since the daemon is error prone,
I stripped it out. In doing so, I have to disable dynamic ftrace from all
archs that use it. The archs can get dynamic ftrace reenabled when they
are ported to the recordmcount.pl method. (Arch maintainers, please contact
me if you want help. I can do it with some information about your arch).

Since the hash was created to work with the daemon, that too was stripped
out, making the remaining code smaller and cleaner. The kprobe hooks
in ftrace may need to be reworked.

-- Steve


2008-10-23 09:34:59

by tip-bot for Wenji Huang

[permalink] [raw]
Subject: Re: [PATCH 00/13 v2] ftrace: clean ups and fixes

Hi,
just several trivial things.

[PATCH 02/13 v2] ftrace: dynamic ftrace process only text section
+# Acceptible sections to record.

typo - Acceptible

[PATCH 03/13 v2] ftrace: return error on failed modified text.
+ * This is a very sensitive operatation and great care needs

typo - operatation
Why not put comments to function definition?

[PATCH 04/13 v2] ftrace: comment arch ftrace code
+ * as well as code changing. We do this by using the
+ * __copy_*_user functions.

According to [PATCH 05/13], change to using the proper API for reading
and writing, not __copy_*_user.


Regards,
Wenji

2008-10-23 10:50:17

by Steven Rostedt

[permalink] [raw]
Subject: Re: [PATCH 00/13 v2] ftrace: clean ups and fixes


On Thu, 23 Oct 2008, Wenji Huang wrote:

> Hi,
> just several trivial things.

Thanks,

>
> [PATCH 02/13 v2] ftrace: dynamic ftrace process only text section
> +# Acceptible sections to record.
>
> typo - Acceptible

Ah, it should be Acceptable.

>
> [PATCH 03/13 v2] ftrace: return error on failed modified text.
> + * This is a very sensitive operatation and great care needs
>
> typo - operatation

Sorry, I must have stuttered ;-)

> Why not put comments to function definition?

The function is arch dependent. And the comment here is also to help
the arch maintainers know what is needed of that function.

>
> [PATCH 04/13 v2] ftrace: comment arch ftrace code
> + * as well as code changing. We do this by using the
> + * __copy_*_user functions.
>
> According to [PATCH 05/13], change to using the proper API for reading and
> writing, not __copy_*_user.

Good catch. Thanks,

-- Steve