[dm-devel] [PATCH 05/11] block: get rid of the trace rq insert wrapper

Chaitanya Kulkarni Chaitanya.Kulkarni at wdc.com
Fri Jul 3 23:29:25 UTC 2020


Christoph,

On 6/29/20 4:44 PM, Chaitanya Kulkarni wrote:
> Get rid of the wrapper for trace_block_rq_insert() and call the function
> directly.
> 
> Signed-off-by: Chaitanya Kulkarni<chaitanya.kulkarni at wdc.com>
> ---

Can we re-consider adding this patch ? here are couple of reasons:-

1. Increase in the size of the text region of the object file:-

    By adding the trace header #include <trace/events/block.h>
    in io-scheduler where it is calling trace_block_rq_insert()
    increases the size of the text region of the object file
    kyber(+215) & bfq (+317) [1].

2. Mandatory io-sched built-in kernel compilation:-

    When testing with a different io-sched KConfig options ("*" vs "M"),
    when kyber and bfq compilation option set to "M" having this patch
    reports error[2].

If I've not missed something here then can we drop this patch ?

In case we really want to do this change it will need to have KConfig
separate patch such that if tracing is selected it will force * 
selection (built-in KConfig) for schedulers in question and etc.

Do we want to do this ?

Regards,
Chaitanya


[1] Scheduler IO object size comparison :-

    Without this patch :-
    ---------------------
    # size block/bfq-iosched.o
     text	   data	    bss	    dec	    hex	filename
    62204	   1011	     32	  63247	   f70f	block/bfq-iosched.o
    # size block/kyber-iosched.o
     text	   data	    bss	    dec	    hex	filename
    14808	   2699	     48	  17555	   4493	block/kyber-iosched.o
    With this patch :-
    ------------------
    # size block/bfq-iosched.o
     text	   data	    bss	    dec	    hex	filename
    62521	   1028	     32	  63581	   f85d	block/bfq-iosched.o
    # size block/kyber-iosched.o
     text	   data	    bss	    dec	    hex	filename
    15023	   2716	     48	  17787	   457b	block/kyber-iosched.o

[2] Error with selecting M for io-sched kyber & bfq :-

ERROR: modpost: "__tracepoint_block_rq_insert" [block/bfq.ko] undefined!
ERROR: modpost: "__tracepoint_block_rq_insert" [block/kyber-iosched.ko] 
undefined!
make[2]: *** [Module.symvers] Error 1
make[2]: *** Deleting file `Module.symvers'
make[1]: *** [modules] Error 2
make[1]: *** Waiting for unfinished jobs....
arch/x86/tools/insn_decoder_test: success: Decoded and checked 4932572 
instructions
   TEST    posttest
   arch/x86/tools/insn_sanity: Success: decoded and checked 1000000 
random instructions with 0 errors (seed:0x4c6e1a40)
	CC      arch/x86/boot/version.o
	VOFFSET arch/x86/boot/compressed/../voffset.h
	OBJCOPY arch/x86/boot/compressed/vmlinux.bin
	RELOCS  arch/x86/boot/compressed/vmlinux.relocs
	CC      arch/x86/boot/compressed/kaslr.o
	CC      arch/x86/boot/compressed/misc.o
	GZIP    arch/x86/boot/compressed/vmlinux.bin.gz
	MKPIGGY arch/x86/boot/compressed/piggy.S
	AS      arch/x86/boot/compressed/piggy.o
	LD      arch/x86/boot/compressed/vmlinux
	ZOFFSET arch/x86/boot/zoffset.h
	OBJCOPY arch/x86/boot/vmlinux.bin
	AS      arch/x86/boot/header.o
	LD      arch/x86/boot/setup.elf
	OBJCOPY arch/x86/boot/setup.bin
	BUILD   arch/x86/boot/bzImage
	Setup is 15132 bytes (padded to 15360 bytes).
	System is 8951 kB
	CRC ff6eac72
Kernel: arch/x86/boot/bzImage is ready  (#59)
	make: *** [__sub-make] Error 2






More information about the dm-devel mailing list