Upgrade of this_cpu_ops V3
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest18 patches 17 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/18 | percpucounter: Optimize __percpu_counter_add a bit through the use of this_cpu() options.lib/ | +3 | 0 replies | |
| 2/18 | vmstat: Optimize zone counter modifications through the use of this cpu operationsmm/ | +32 | 0 replies | |
| 3/18 | percpu: Generic support for this_cpu_add,sub,dec,inc_returninclude/ | +77 | 0 replies | |
| 4/18 | x86: Support for this_cpu_add,sub,dec,inc_returnarch/ | +46 | 0 replies | |
| 5/18 | x86: Use this_cpu_inc_return for nmi counterarch/ | +1 | 0 replies | |
| 6/18 | vmstat: Use this_cpu_inc_return for vm statisticsmm/ | +2 | 0 replies | |
| 7/18 | highmem: Use this_cpu_xx_return() operationsinclude/ | +4 | 6 replies | |
| 8/18 | Taskstats: Use this_cpu_opskernel/ | +2 | 4 replies | |
| 9/18 | fs: Use this_cpu_xx operations in buffer.cfs/ | +18 | 0 replies | |
| 10/18 | x86: Use this_cpu_ops to optimize codearch/ arch/ arch/ +12 more | +58 | 0 replies | |
| 11/18 | x86: Use this_cpu_ops for current_cpu_data accessesarch/ arch/ arch/ | +7 | 0 replies | |
| 12/18 | Core: Replace __get_cpu_var with __this_cpu_read if not used for an address.include/ include/ include/ +10 more | +61 | 0 replies | |
| 13/18 | drivers: Replace __get_cpu_var with __this_cpu_read if not used for an address.drivers/ drivers/ drivers/ +2 more | +8 | 0 replies | |
| 14/18 | lguest: Use this_cpu_opsarch/ drivers/ drivers/ | +4 | 3 replies | |
| 15/18 | Xen: Use this_cpu_opsarch/ arch/ arch/ +2 more | +18 | 2 replies | |
| 16/18 | kprobes: Use this_cpu_opsarch/ include/ kernel/ | +13 | 0 replies | |
| 17/18 | Connector: Use this_cpu operationsdrivers/ | +3 | 0 replies | |
| 18/18 | Fakekey: Simplify speakup_fake_key_pressed through this_cpu_opsdrivers/ | +1 | 0 replies |
Reviews trailers per patch
6 of 18 patches have a Reviewed-by or Acked-by.
| Patch | Tejun Heo | Mathieu Desnoyers | Pekka Enberg | Rik van Riel |
|---|---|---|---|---|
| 1/18 | R-b | R-b | R-b | |
| 2/18 | R-b | |||
| 3/18 | R-b | R-b | ||
| 4/18 | ||||
| 5/18 | R-b | R-b | R-b | |
| 6/18 | R-b | |||
| 7/18 | A-b | |||
| 8/18 | ||||
| 9/18 | ||||
| 10/18 | ||||
| 11/18 | ||||
| 12/18 | ||||
| 13/18 | ||||
| 14/18 | ||||
| 15/18 | ||||
| 16/18 | ||||
| 17/18 | ||||
| 18/18 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 4 reviewers.
Cover letter [thisops uV3 00/18] Upgrade of this_cpu_ops V3
A patchset that adds more this_cpu operations and in particular RMV operations that can be used in various places to avoid address calculations and memory accesses by the user of fast cpu local operations with segment prefixes.
V2 has several enhancements and bugfixes that were suggested after V1
V3 removes the cmpxchg patches and focuses on the first extensions of cpu ops that were generally an improvement.
For V3 I scanned through the kernel code for obvious cases in which a __get_cpu_var or get_cpu_var can be converted to this_cpu_ops. That is often not possible because addresses of per cpu variables are needed. However, the accesses that could become converted became very cheap because this_cpu_ops typically only generate a single instruction using a segment prefix to perform the relocation to the correct per cpu area.
Cpu ops perform implied address calculations. It is therefore not possible to take the address of the result of a this_cpu_xx operation.