• Andrew Morton's avatar
    [PATCH] swiotlb uninlinings · be6b0267
    Andrew Morton authored
    Optimise swiotlb.c for size.
    
       text    data     bss     dec     hex filename
       5009      89      64    5162    142a lib/swiotlb.o-before
       4666      89      64    4819    12d3 lib/swiotlb.o-after
    
    For some reason my gcc (4.0.2) doesn't want to tailcall these things.
    
    swiotlb_sync_sg_for_device:
    	pushq	%rbp	#
    	movl	$1, %r8d	#,
    	movq	%rsp, %rbp	#,
    	call	swiotlb_sync_sg	#
    	leave
    	ret
    	.size	swiotlb_sync_sg_for_device, .-swiotlb_sync_sg_for_device
    	.section	.text.swiotlb_sync_sg_for_cpu,"ax",@progbits
    .globl swiotlb_sync_sg_for_cpu
    	.type	swiotlb_sync_sg_for_cpu, @function
    swiotlb_sync_sg_for_cpu:
    	pushq	%rbp	#
    	xorl	%r8d, %r8d	#
    	movq	%rsp, %rbp	#,
    	call	swiotlb_sync_sg	#
    	leave
    	ret
    
    Cc: Jan Beulich <jbeulich@novell.com>
    Cc: Andi Kleen <ak@suse.de>
    Cc: "Luck, Tony" <tony.luck@intel.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    be6b0267
swiotlb.c 25 KB