On terminal run sudo perf record -e cycles -ag and then perf report iov_iter_init /proc/kcore │ │ │ │ Disassembly of section load0: │ │ ffffffff813fbae0 <load0>: │ push %rbp │ mov %gs:0x14204,%rax │ cmpq $0xffffffffffffffff,-0x3fe8(%rax) 100,00 │ mov %rsp,%rbp │ ↓ je 2f │ mov %esi,(%rdi) │ mov %rdx,0x18(%rdi) │1d: mov %rcx,0x20(%rdi) │ movq $0x0,0x8(%rdi) │ mov %r8,0x10(%rdi) │ pop %rbp │ ← retq │2f: or $0x2,%esi │ mov %rdx,0x18(%rdi) │ mov %esi,(%rdi) │ ↑ jmp 1d
Under function iov_iter_init loose 100 cycles!
On terminal run sudo perf record -e cycles -ag and then perf report ffff,-0x3fe8( %rax)
iov_iter_init /proc/kcore
│
│
│
│ Disassembly of section load0:
│
│ ffffffff813fbae0 <load0>:
│ push %rbp
│ mov %gs:0x14204,%rax
│ cmpq $0xffffffffffff
100,00 │ mov %rsp,%rbp
│ ↓ je 2f
│ mov %esi,(%rdi)
│ mov %rdx,0x18(%rdi)
│1d: mov %rcx,0x20(%rdi)
│ movq $0x0,0x8(%rdi)
│ mov %r8,0x10(%rdi)
│ pop %rbp
│ ← retq
│2f: or $0x2,%esi
│ mov %rdx,0x18(%rdi)
│ mov %esi,(%rdi)
│ ↑ jmp 1d
Under function iov_iter_init loose 100 cycles!