Re: [PATCH] ftrace/x86: Use kernel identity mapping only when CONFIG_DEBUG_RODATA enabled

From: Steven Rostedt
Date: Wed Jun 04 2014 - 14:37:35 EST


On Wed, 4 Jun 2014 17:42:46 +0200
Petr Mladek <pmladek@xxxxxxx> wrote:

> This is just a tiny optimization. The remapping is not needed when the
> kernel text mapping is read write all the time.

This is true, but I think I rather have it still do it the same. The
less variables in the code modification the better. The more changes
per config option, the less things tend to get tested.

This is a micro optimization to something that is hardly a fast path.

-- Steve

>
> Suggested-by: Jan Beulich <jbeulich@xxxxxxxx>
> Signed-off-by: Petr Mladek <pmladek@xxxxxxx>
> ---
> arch/x86/kernel/ftrace.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/arch/x86/kernel/ftrace.c b/arch/x86/kernel/ftrace.c
> index cbc4a91b131e..a7a517bb793e 100644
> --- a/arch/x86/kernel/ftrace.c
> +++ b/arch/x86/kernel/ftrace.c
> @@ -79,6 +79,7 @@ within(unsigned long addr, unsigned long start, unsigned long end)
>
> static unsigned long text_ip_addr(unsigned long ip)
> {
> +#ifdef CONFIG_DEBUG_RODATA
> /*
> * On x86_64, kernel text mappings are mapped read-only with
> * CONFIG_DEBUG_RODATA. So we use the kernel identity mapping instead
> @@ -89,7 +90,7 @@ static unsigned long text_ip_addr(unsigned long ip)
> */
> if (within(ip, (unsigned long)_text, (unsigned long)_etext))
> ip = (unsigned long)__va(__pa_symbol(ip));
> -
> +#endif
> return ip;
> }
>

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