CKI KWF Bot 406e208e0c Merge: futex: Optimize futex hash bucket access patterns
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/8401

JIRA: https://redhat.atlassian.net/browse/RHEL-212733
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/8401
Omitted-fix: fa188edc671d ("linux/bitfield.h: replace __auto_type with auto")
Omitted-fix: 8fedac321fb0 ("mm/mempolicy: fix weighted interleave auto sysfs name")
        Not needed because RHEL9 doesn't have commit e341f9c3c841
        ("mm/mempolicy: Weighted Interleave Auto-tuning") which
        introduces the "auto" sysfs file.

This MR backports commit a734d9fca84e ("futex: Optimize futex hash
bucket access patterns") to improve the futex hashing performance as
measured by the "perf bench futex hash" benchmark to a level comparable
with that of RHEL 9.7.

Patch 1 is a dependency that is used to simplify the backport.

When running the “perf bench futex hash” benchmark on a 2-sock 96-thread
CascadeLake test system, the test results before and after the patch are
as follows:

```
                Baseline        Patched         Delta
  -b 16           143,724         158,095       +10.0%
  -b 64           214,471         282,900       +32.0%
  -b 256          540,852         716,517       +32.5%
  -b 512          768,584       1,041,867       +35.6%
  -b 1024         964,341       1,277,484       +32.5%
  -b 4096       1,625,843       1,671,285       + 2.8%
  -b 16384      1,663,403       1,710,355       + 2.8%
  -b 65536      1,747,447       1,819,797       + 4.1%
```

Signed-off-by: Waiman Long <longman@redhat.com>

Approved-by: Rafael Aquini <raquini@redhat.com>
Approved-by: Phil Auld <pauld@redhat.com>
Approved-by: CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com>

Merged-by: CKI GitLab Kmaint Pipeline Bot <26919896-cki-kmaint-pipeline-bot@users.noreply.gitlab.com>
2026-08-10 08:11:27 +00:00
2026-08-06 08:13:03 +00:00

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.
S
Description
No description provided
Readme
2.8 GiB
Languages
C 97.6%
Assembly 1%
Shell 0.5%
Python 0.3%
Makefile 0.3%
Other 0.1%