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