1. 13 Nov, 2012 1 commit
    • Shan Wei's avatar
      net: xfrm: use __this_cpu_read per-cpu helper · f7c83bcb
      Shan Wei authored
      this_cpu_ptr/this_cpu_read is faster than per_cpu_ptr(p, smp_processor_id())
      and can reduce  memory accesses.
      The latter helper needs to find the offset for current cpu,
      and needs more assembler instructions which objdump shows in following.
      
      this_cpu_ptr relocates and address. this_cpu_read() relocates the address
      and performs the fetch. this_cpu_read() saves you more instructions
      since it can do the relocation and the fetch in one instruction.
      
      per_cpu_ptr(p, smp_processor_id()):
        1e:   65 8b 04 25 00 00 00 00         mov    %gs:0x0,%eax
        26:   48 98                           cltq
        28:   31 f6                           xor    %esi,%esi
        2a:   48 c7 c7 00 00 00 00            mov    $0x0,%rdi
        31:   48 8b 04 c5 00 00 00 00         mov    0x0(,%rax,8),%rax
        39:   c7 44 10 04 14 00 00 00         movl   $0x14,0x4(%rax,%rdx,1)
      
      this_cpu_ptr(p)
        1e:   65 48 03 14 25 00 00 00 00      add    %gs:0x0,%rdx
        27:   31 f6                           xor    %esi,%esi
        29:   c7 42 04 14 00 00 00            movl   $0x14,0x4(%rdx)
        30:   48 c7 c7 00 00 00 00            mov    $0x0,%rdi
      Signed-off-by: default avatarShan Wei <davidshan@tencent.com>
      Signed-off-by: default avatarSteffen Klassert <steffen.klassert@secunet.com>
      f7c83bcb
  2. 08 Nov, 2012 4 commits
  3. 07 Nov, 2012 35 commits