lkml.org 
[lkml]   [2011]   [Feb]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subject[cpuops cmpxchg double V3 0/5] this_cpu_cmpxchg_double support
This patch series introduces this_cpu_cmpxchg_double().

x86 cpus support cmpxchg16b and cmpxchg8b instuction which are capable of
switching two words instead of one during a cmpxchg.
Two words allow to swap more state in an atomic instruction.

this_cpu_cmpxchg_double() is used in the slub allocator to avoid
interrupt disable/enable in both alloc and free fastpath.
Using the new operation significantly speeds up the fastpaths.

V1->V2
- Change parameter convention for this_cpu_cmpxchg_double. Specify both
percpu variables in same way as the two old and new values.
- Do not require a per cpu pointer but a variable to conform to the
convention used in other this_cpu_ops.

V2->V3:
- Do not use CONFIG_DEBUG_VM to enable cmpxchg diagnostics. Use
custom SLUB define instead.
- Add patch to move min_partial into a different cacheline.
- Rediff



\
 
 \ /
  Last update: 2011-02-25 18:45    [W:0.142 / U:0.272 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site