Re: 2.6.26-rc5-mm1

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Peter 1 Oberparleiter
Date: Tuesday, June 10, 2008 - 1:39 am

Andrew Morton <akpm@linux-foundation.org> wrote on 10.06.2008 07:01:49:
;)

Thanks for the report. These look like the "known architecture problems"
that I've hinted at in the gcov announcement post (I'm assuming this is
x86_64 as I've seem similar reports in the past).

Possible reasons:

1) initrd overwrites kernel: When kernel and initrd are loaded to static
addresses, the oversized gcov kernel may overlap with the initrd load
address. Solution: move initrd loading address.

2) out-of-memory: Kernel plus profiling code may just not fit into a
minimal memory configuration any more. Solution: add memory.

3) write-protection of kernel code: gcc keeps profiling code and data
close together in the .text section. Solution: any mechanism that
protects .text against writes should be disabled when running a
profiled kernel.

4) as of yet undiscovered incompatibilities between arch-dependent code
and gcc's -fprofile-arcs option. Examples would be:

 * code which is run before memory access preparations were made
 * hard coded section sizes
 * relative address displacements which are out of range

Unfortunately I neither have access to a machine nor the skill to debug
4) myself, so if 1)-3) can be ruled out, I'd like to ask for more help
on this one:

First off, someone needs to track down the offending file(s). This is
done by putting a line containing "GCOV := n" in all Makefiles below
arch/x86_64 (or go one step further back and set
CONFIG_GCOV_PROFILE_ALL=n). If my assumption is correct, then the
kernel should boot fine afterwards. In that case, remove the lines
again one-by-one, while compiling and booting after each change. If the
problem can be narrowed down to a single Makefile, replace the single
"GCOV := n" line with multiple "GCOV_file.o := n" lines, one for each
generated object file. Then again, same approach as before: remove
those lines, compile and boot until it breaks. Finally post your
results.

At this point we would need someone with x86_64 arch skills to look at
the file and find out why this code is broken with "-fprofile-arcs"
enabled (on s390 we discovered at least one actual code bug this way,
so the analysis might just be of general use). Alternatively we can
just keep these files from being profiled.


Regards,
  Peter
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
2.6.26-rc5-mm1, Andrew Morton, (Mon Jun 9, 5:39 am)
Re: 2.6.26-rc5-mm1, Balbir Singh, (Mon Jun 9, 10:27 am)
Re: 2.6.26-rc5-mm1, Mariusz Kozlowski, (Mon Jun 9, 12:14 pm)
[PATCH] Re: 2.6.26-rc5-mm1 - fix parenthesis in drivers/ne ..., Mariusz Kozlowski, (Mon Jun 9, 12:20 pm)
2.6.26-rc5-mm1: kernel BUG at mm/filemap.c:575!, Alexey Dobriyan, (Mon Jun 9, 1:45 pm)
Re: 2.6.26-rc5-mm1: kernel BUG at mm/filemap.c:575!, Alexey Dobriyan, (Mon Jun 9, 2:40 pm)
Re: 2.6.26-rc5-mm1, Andrew Morton, (Mon Jun 9, 2:48 pm)
Re: 2.6.26-rc5-mm1, Byron Bradley, (Mon Jun 9, 3:11 pm)
Re: 2.6.26-rc5-mm1: kernel BUG at mm/filemap.c:575!, Andrew Morton, (Mon Jun 9, 3:37 pm)
Re: 2.6.26-rc5-mm1: kernel BUG at mm/filemap.c:575!, Nick Piggin, (Mon Jun 9, 7:21 pm)
Re: 2.6.26-rc5-mm1, Mariusz Kozlowski, (Mon Jun 9, 9:57 pm)
Re: 2.6.26-rc5-mm1, Andrew Morton, (Mon Jun 9, 10:01 pm)
Re: 2.6.26-rc5-mm1, Peter 1 Oberparleiter, (Tue Jun 10, 1:39 am)
Re: [BUG] 2.6.26-rc5-mm1- kernel BUG at arch/x86/kernel/io ..., Kamalesh Babulal, (Sun Jun 15, 10:16 am)