[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080619091337.GA15228@elte.hu>
Date: Thu, 19 Jun 2008 11:13:37 +0200
From: Ingo Molnar <mingo@...e.hu>
To: Daniel Walker <dwalker@...sta.com>
Cc: Byron Bradley <byron.bbradley@...il.com>,
Andrew Morton <akpm@...ux-foundation.org>,
linux-kernel@...r.kernel.org, kernel-testers@...r.kernel.org,
linux-mm@...ck.org, Hua Zhong <hzhong@...il.com>
Subject: Re: 2.6.26-rc5-mm3
* Daniel Walker <dwalker@...sta.com> wrote:
>
> On Fri, 2008-06-13 at 00:32 +0100, Byron Bradley wrote:
> > Looks like x86 and ARM both fail to boot if PROFILE_LIKELY, FTRACE and
> > DYNAMIC_FTRACE are selected. If any one of those three are disabled it
> > boots (or fails in some other way which I'm looking at now). The serial
> > console output from both machines when they fail to boot is below, let me
> > know if there is any other information I can provide.
>
> I was able to reproduce a hang on x86 with those options. The patch
> below is a potential fix. I think we don't want to trace
> do_check_likely(), since the ftrace internals might use likely/unlikely
> macro's which will just cause recursion back to do_check_likely()..
>
> Signed-off-by: Daniel Walker <dwalker@...sta.com>
>
> ---
> lib/likely_prof.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> Index: linux-2.6.25/lib/likely_prof.c
> ===================================================================
> --- linux-2.6.25.orig/lib/likely_prof.c
> +++ linux-2.6.25/lib/likely_prof.c
> @@ -22,7 +22,7 @@
>
> static struct likeliness *likeliness_head;
>
> -int do_check_likely(struct likeliness *likeliness, unsigned int ret)
> +int notrace do_check_likely(struct likeliness *likeliness, unsigned int ret)
the better fix would be to add likely_prof.o to this list of exceptions
in lib/Makefile:
ifdef CONFIG_FTRACE
# Do not profile string.o, since it may be used in early boot or vdso
CFLAGS_REMOVE_string.o = -pg
# Also do not profile any debug utilities
CFLAGS_REMOVE_spinlock_debug.o = -pg
CFLAGS_REMOVE_list_debug.o = -pg
CFLAGS_REMOVE_debugobjects.o = -pg
endif
instead of adding notrace to the source.
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists