[PATCH v2 00/20] arm64: Preemptible this_cpu_*() operations
Lorenzo Stoakes (ARM)
ljs at kernel.org
Wed Sep 2 06:16:37 PDT 2026
On Wed, Sep 02, 2026 at 12:55:12PM +0100, Usama Anjum wrote:
> tl;dr
> Comparing this series with the page-table series [a] gives 8 improvements and 3
> regressions.
And the regressions are very small and importantly the improvements that
presumably form the basis of doing any of this at all (i.e. munmap, vmalloc)
perform _better_ with Mark's series, without requiring egregious core mm
changes + complexity.
>
> Fastpath is a Linux kernel performance benchmarking service. The table
> compares the both patched kernels: positive values are faster, negative
> values are slower, and (I)/(R) indicate statistically significant
> improvements/regressions. Unmarked differences are not significant after
> accounting for confidence and noise thresholds.
>
> +---------------------------------+--------------------+-----------------+-----------------------+
> | Benchmark | percpu-pgtable [2] | gpr-fixup [3] | gpr-fixup [3] |
> | | vs baseline [1] | vs baseline [1] | vs percpu-pgtable [2] |
> +=================================+====================+=================+=======================+
> | lmbench/lat-mem-rd | -0.26% | (I) 1.24% | (I) 1.50% |
> | micromm/fork | (I) 1.10% | (I) 2.46% | (I) 1.35% |
> | micromm/munmap | (I) 18.10% | (I) 19.78% | (I) 1.43% |
> | micromm/vmalloc | (I) 11.92% | (I) 14.68% | (I) 2.47% |
> | mmtests/hackbench | 0.27% | (I) 1.09% | 0.81% |
> | mmtests/kernbench | (I) 1.19% | (I) 1.18% | -0.01% |
> | mmtests/sysbench-cpu | 0.01% | 0.06% | 0.05% |
> | mmtests/sysbench-mutex | -0.85% | -0.14% | 0.72% |
> | mmtests/sysbench-thread | (R) -4.49% | (I) 3.02% | (I) 7.86% |
> | perf/futex | 0.55% | (R) -2.80% | (R) -3.34% |
> | perf/sched | (I) 1.61% | -0.39% | (R) -1.97% |
> | perf/syscall | (I) 1.54% | 0.98% | -0.55% |
> | pts/memtier-benchmark | (I) 2.37% | (I) 2.51% | 0.14% |
> | pts/nginx | 0.42% | 0.96% | 0.54% |
> | pts/perl-benchmark | (I) 1.83% | (I) 1.63% | -0.20% |
> | pts/pgbench | -0.09% | 0.55% | 0.65% |
> | pts/pybench | -0.05% | -0.07% | -0.02% |
> | pts/redis | -0.00% | -0.04% | -0.04% |
> | pts/sqlite-speedtest | 0.15% | 0.44% | 0.28% |
> | repro-collection/mysql-workload | 0.73% | 0.25% | -0.48% |
> | schbench/thread-contention | 0.42% | (I) 1.04% | 0.61% |
> | sockperf/echo-lat-tcp | (I) 2.88% | (I) 1.69% | (R) -1.16% |
> | sockperf/echo-lat-udp | (I) 3.93% | (I) 5.11% | (I) 1.14% |
> | sockperf/packet-tp-tcp | -0.41% | (I) 1.37% | (I) 1.79% |
> | sockperf/packet-tp-udp | (I) 1.45% | (I) 1.49% | 0.04% |
> | specjbb/composite | (I) 1.39% | (I) 1.65% | 0.26% |
> | speedometer/v2.0 | (R) -1.04% | (R) -1.04% | 0.00% |
> | speedometer/v2.1 | -0.10% | 0.10% | 0.20% |
> | syscall/getpid | -0.98% | 0.52% | (I) 1.51% |
> | syscall/getppid | -0.43% | 0.14% | 0.57% |
> | syscall/invalid | (I) 3.06% | (I) 3.56% | 0.48% |
> +---------------------------------+--------------------+-----------------+-----------------------+
Lovely :)
Well that settles the debate then!
--
Cheers, Lorenzo
More information about the linux-arm-kernel
mailing list