Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 650380

Summary: kernel 4.* slow IO due to -mlong-calls
Product: Gentoo Linux Reporter: Carlo <carlojpisani>
Component: Current packagesAssignee: HPPA Porters <hppa>
Status: RESOLVED UPSTREAM    
Severity: normal CC: tsmksubc
Priority: Normal    
Version: unspecified   
Hardware: HPPA   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Carlo 2018-03-13 12:05:18 UTC
hi
I am experiencing a very annoying behavior with HPPA: if I compile the 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

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"

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, 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
Comment 1 Carlo 2018-03-13 12:19:54 UTC
machine: HP C3600
disks: internal SCSI's
Comment 2 Carlo 2018-03-13 22:37:11 UTC
the kernel has been configured 
- to operate in the 64bit mode in order to access to 8Gbyte of ram
- without preemption
- without SMP (C3600 has only one physical CPU with one core)
Comment 3 Jeroen Roovers (RETIRED) gentoo-dev 2018-03-15 14:40:45 UTC
We distribute kernel sources. The linux-parisc people fix issues with what we distribute.
Comment 4 Carlo 2018-03-15 14:46:22 UTC
ah, ok, so I will readdress the issue to them
thanks :)