Re: C3600 kernel/64bit 4.* slow IO due to -mlong-calls
Hi Carlo,
On 15.03.2018 16:36, Carlo Pisani wrote:
> I am experiencing a very annoying behavior with my HPPA C3600: if I
> compile the (linux) kernel with -mlong-calls then the IO (e.g. file
> copy) becomes very slow, and the PCI becomes unstable (i.e. it crashes
> the machine)
>
> kernel gcc binutils with mlong without mlong
> 4.15.7 4.9.3 2.25.1 13.4 MB/s 27.0 MB/s
> 4.15.7 6.4.0 2.25.1 13.4 MB/s 27.0 MB/s
> 4.15.7 6.4.0 2.29.1 14.4 MB/s 25.0 MB/s
Interesting bad results!
> these tests were performed with
>
> dd if=/dev/zero of=here bs=1k count=100000
>
> -mlong-calls is enabled in the kernel by "CONFIG_MLONGCALLS"
I think nobody else noticed the bad performance due to CONFIG_MLONGCALLS yet.
I've now started some testing if we can disable that option on the debian
kernels...
> the help-guide says "If you configure the kernel to include many
> drivers built-in instead as modules, the kernel executable may become
> too big, so that the linker will not be able to resolve some long
> branches and fails to link your vmlinux kernel. In that case enabling
> this option will help you to overcome this limit by using the
> -mlong-calls compiler option. Usually you want to say N here, unless
> you e.g. want to build a kernel which includes all necessary drivers
> built-in and which can be used for TFTP booting without the need to
> have an initrd ramdisk. Enabling this option will probably slow down
> your kernel"
>
> I need -mlong-calls because I need to compile the kernel without
> kernel-modules
Why?
> all built-in, that makes the size of the kernel of
> about 23Mbytes, thus without -mlong-calls the linker fails to "link"
> objects
>
> let me know
I'm not sure what kind of help you expect here?
The only option I see is that you try to disable some options (modules) you won't
need and thus reduce the kernel size. xfs, ipv6 and such are good candidates.
Or use a 32bit kernel ?
Helge
Reply to: