Le jeudi 21 octobre 2010 à 09:45 +0200, Hans Schillstrom a écrit :
> I do have this (and some debuging)
> __rcu_read_lock()
> => 0xffffffff8108bcf3 <+0>: push %rbp
> 0xffffffff8108bcf4 <+1>: mov %rsp,%rbp
> 0xffffffff8108bcf7 <+4>: nopl 0x0(%rax,%rax,1)
> 0xffffffff8108bcfc <+9>: mov %gs:0xb540,%rax
> 0xffffffff8108bd05 <+18>: mov 0x108(%rax),%edx
> 0xffffffff8108bd0b <+24>: inc %edx
> 0xffffffff8108bd0d <+26>: mov %edx,0x108(%rax)
> 0xffffffff8108bd13 <+32>: leaveq
> 0xffffffff8108bd14 <+33>: retq
>
> which is not that many, actually imprerssing few instructions :-)
nopl 0x0(%rax,%rax,1) is a filler because of extra instrumentation in
your kernel.
Maybe you could find out why your compiler dont use
incl 0x108(%rax)
instead of
mov 0x108(%rax),%edx
inc %edx
mov %edx,0x108(%rax)
So rcu_read_lock() is really _two_ instructions.
I agree with Paul with the "few" qualification... :-)
--
To unsubscribe from this list: send the line "unsubscribe lvs-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
|