[#5286] NFS root fs mount fails with CONFIG_CC_OPTIMIZE_FOR_SIZE
Submitted By: Peter Meerwald
Open Date
2009-06-21 14:42:48 Close Date
2009-06-28 17:31:49
Priority:
Medium Assignee:
Jie Zhang
Status:
Closed Fixed In Release:
N/A
Found In Release:
snaps Release:
Category:
Kernel Functions Board:
Custom
Processor:
BF537 Silicon Revision:
Is this bug repeatable?:
Yes Resolution:
Fixed
Uboot version or rev.:
Toolchain version or rev.:
svn rev. 6816
App binary format:
N/A
Summary: NFS root fs mount fails with CONFIG_CC_OPTIMIZE_FOR_SIZE
Details:
kernel fails to mount NFS root filesystem when compiled with CONFIG_CC_OPTIMIZE_FOR_SIZE
no kernel message is shown, last kernel output is
dma_alloc_init: dma_page @ 0x00172000 - 256 pages at 0x00f00000
I've attached a packet trace summary to show where the kernel hangs
kernel is SVN rev. 6816
my kernel vmImage size (LZMA) difference is 633578 vs. 702857 bytes for latest toolchain
this happens reproducibly for all of these toolchains:
08r1.5-14
/opt/uClinux-stable/bfin-uclinux/bin/bfin-uclinux-gcc -v
Using built-in specs.
Target: bfin-uclinux
Configured with: /usr/src/packages/BUILD/blackfin-toolchain-08r1.5/../gcc-4.1/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=bfin-uclinux --prefix=/opt/uClinux/bfin-uclinux --enable-threads=posix --with-sysroot=/opt/uClinux/bfin-uclinux/bfin-uclinux/runtime --disable-libstdcxx-pch --disable-symvers --disable-libssp --disable-libffi --enable-clocale=generic --enable-version-specific-runtime-libs --enable-__cxa_atexit
Thread model: posix
gcc version 4.1.2 (ADI svn)
SVN (retrieved March)
/opt/uClinux-svn/bfin-uclinux/bin/bfin-uclinux-gcc -v
Using built-in specs.
Target: bfin-uclinux
Configured with: /usr/local/src/blackfin/git/toolchain/gcc-4.1/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=bfin-uclinux --prefix=/usr/local/src/blackfin/toolchains/20090307/bfin-uclinux --enable-threads=posix --with-sysroot=/usr/local/src/blackfin/toolchains/20090307/bfin-uclinux/bfin-uclinux/runtime --disable-libstdcxx-pch --disable-symvers --disable-libssp --disable-libffi --enable-clocale=generic --enable-version-specific-runtime-libs --enable-__cxa_atexit --with-bugurl=URL:http://blackfin.uclinux.org/gf/project/toolchain/tracker --with-pkgversion=ADI-trunk/git-76eefef
Thread model: posix
gcc version 4.1.2 (ADI svn)
SVN (retrieved June, today)
/opt/uClinux-svn-new/bfin-uclinux/bin/bfin-uclinux-gcc -v
Using built-in specs.
Target: bfin-uclinux
Configured with: /usr/local/src/blackfin/git/toolchain/gcc-4.1/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=bfin-uclinux --prefix=/usr/local/src/blackfin/toolchains/20090620/bfin-uclinux --enable-threads=posix --with-sysroot=/usr/local/src/blackfin/toolchains/20090620/bfin-uclinux/bfin-uclinux/runtime --disable-libstdcxx-pch --disable-symvers --disable-libssp --disable-libffi --enable-clocale=generic --enable-version-specific-runtime-libs --enable-__cxa_atexit --with-bugurl=URL:http://blackfin.uclinux.org/gf/project/toolchain/tracker --with-pkgversion=ADI-trunk/git-de2c61e
Thread model: posix
gcc version 4.1.2 (ADI svn)
Follow-ups
--- Peter Meerwald 2009-06-21 14:43:33
any idea?
known issue?
--- Robin Getz 2009-06-21 22:05:03
Peter:
Do you have a toolchain that it does work with? It might be easier to bisect
then.
-Robin
--- Peter Meerwald 2009-06-27 15:47:31
Robin, no, all toolchains I have produce the issue; with older toolchain (i.e.
stable 2008R1.5)
LZMA compression is not available with older toolchain, so it does not make
sense to aim for kernel of small size
any idea how to narrow down on this one?
--- Robin Getz 2009-06-27 19:14:10
Peter:
If you don't optimize for size - it works well? I'll start poking at things.
-Robin
--- Peter Meerwald 2009-06-27 19:27:16
Robin, without size optimization the kernel mount the NFS root filesystem and
boots OK
with size optimization the kernel hangs without message while mounting the NFS
root filesystem
100% reproducible here; just flipping the CONFIG_CC_OPTIMIZE_FOR_SIZE option,
rebuilding the kernel
--- Robin Getz 2009-06-27 20:17:14
Yeah, I can get it to fail too - no nfsmount needed - with 4.3 - Just turn on
optimize for size - and something hangs, until the watchdog kicks off...
Shouldn't be too hard to figure out.
Thanks for reporting.
--- Jie Zhang 2009-06-28 09:14:55
I'll soon commit a fix.
--- Jie Zhang 2009-06-28 09:39:50
Should be fixed now on linux kernel trunk r6861 and 2009R1 branch r6862. Please
verify.
--- Robin Getz 2009-06-28 17:31:49
That fixes it for me too.
Closing.
Peter - if it doesn't fix it for you - let us know, and we can re-open.
-Robin
--- Peter Meerwald 2009-06-29 08:32:15
Robin, I can confirm that the fix is working; mounting rootfs over NFS works
with CONFIG_CC_OPTIMIZE_FOR_SIZE
thx, p.
Files
Changes
Commits
Dependencies
Duplicates
Associations
Tags
File Name File Type File Size Posted By
packet_dump.txt text/plain 2489 Peter Meerwald