[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