this_cpu_cmpxchg_double support
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v3 Latest5 patches 11 repliesIn review
- v24 patches 39 repliesSuperseded
- v14 patches 24 repliesSuperseded
Changes in v3 from the cover letter
- 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
Patches in v3 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/5 | slub: min_partial needs to be in first cachelineinclude/ | +1 | 0 replies | |
| 2/5 | slub: Get rid of slab_free_hook_irq()mm/ | +17 | 1 reply | |
| 3/5 | Generic support for this_cpu_cmpxchg_doubleinclude/ | +130 | 7 replies | |
| 4/5 | Lockless (and preemptless) fastpaths for slubinclude/ mm/ | +207 | 3 replies | |
| 5/5 | x86: this_cpu_cmpxchg_double() supportarch/ arch/ arch/ | +111 | 1 reply |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v3 yet.
Cover letter [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