select: core_sys_select add unlikely branch hint on return path
authorColin Ian King <colin.i.king@gmail.com>
Mon, 14 Apr 2025 09:24:26 +0000 (10:24 +0100)
committerChristian Brauner <brauner@kernel.org>
Mon, 21 Apr 2025 08:27:58 +0000 (10:27 +0200)
commit6b24a702ecf167ab61456276bb72133d84ccca45
tree2eb8cfeeb2452e6f17e70b6667045685ccb41a94
parent1363c134ade81e425873b410566e957fecebb261
select: core_sys_select add unlikely branch hint on return path

Adding an unlikely() hint on the n < 0 comparison return path improves
run-time performance of the select() system call, the negative
value of n is very uncommon in normal select usage.

Benchmarking on an Debian based Intel(R) Core(TM) Ultra 9 285K with
a 6.15-rc1 kernel built with 14.2.0 using a select of 1000 file
descriptors with zero timeout shows a consistent call reduction from
258 ns down to 254 ns, which is a ~1.5% performance improvement.

Results based on running 25 tests with turbo disabled (to reduce clock
freq turbo changes), with 30 second run per test and comparing the number
of select() calls per second. The % standard deviation of the 25 tests
was 0.24%, so results are reliable.

Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
Link: https://lore.kernel.org/20250414092426.53529-1-colin.i.king@gmail.com
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/select.c