Skip to content

[PW_SID:1067118] futex: Use runtime constants for futex_hash computation#1617

Open
linux-riscv-bot wants to merge 8 commits intoworkflowfrom
pw1067118
Open

[PW_SID:1067118] futex: Use runtime constants for futex_hash computation#1617
linux-riscv-bot wants to merge 8 commits intoworkflowfrom
pw1067118

Conversation

@linux-riscv-bot
Copy link

PR for series 1067118 applied to workflow

Name: futex: Use runtime constants for futex_hash computation
URL: https://patchwork.kernel.org/project/linux-riscv/list/?series=1067118
Version: 2

Linux RISC-V bot and others added 8 commits March 15, 2026 20:59
Futex hash computation requires a mask operation with read-only after
init data that will be converted to a runtime constant in the subsequent
commit.

Introduce runtime_const_mask_32 to further optimize the mask operation
in the futex hash computation hot path.

  [ prateek: Broke off the x86 chunk, commit message. ]

Link: https://patch.msgid.link/20260227161841.GH606826@noisy.programming.kicks-ass.net
Not-yet-signed-off-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: K Prateek Nayak <kprateek.nayak@amd.com>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Futex hash computation requires a mask operation with read-only after
init data that will be converted to a runtime constant in the subsequent
commit.

Introduce runtime_const_mask_32 to further optimize the mask operation
in the futex hash computation hot path. GCC generates a:

  movz  w1, #lo16, lsl #0     // w1 = bits [15:0]
  movk  w1, #hi16, lsl #16    // w1 = full 32-bit value
  and   w0, w0, w1	      // w0 = w0 & w1

pattern to tackle arbitrary 32-bit masks and the same was also suggested
by Claude which is implemented here. __runtime_fixup_ptr() already
patches a "movz, + movk lsl #16" sequence which has been reused to patch
the same sequence for __runtime_fixup_mask().

Assisted-by: Claude:claude-sonnet-4-5
Signed-off-by: K Prateek Nayak <kprateek.nayak@amd.com>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
The current scheme to directly patch the kernel text for runtime
constants runs into the following issue with futex adapted to using
runtime constants on arm64:

  Unable to handle kernel write to read-only memory at virtual address fff0000000378fc8
  Mem abort info:
    ESR = 0x000000009600004e
    EC = 0x25: DABT (current EL), IL = 32 bits
    SET = 0, FnV = 0
    EA = 0, S1PTW = 0
    FSC = 0x0e: level 2 permission fault
  Data abort info:
    ISV = 0, ISS = 0x0000004e, ISS2 = 0x00000000
    CM = 0, WnR = 1, TnD = 0, TagAccess = 0
    GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
  swapper pgtable: 4k pages, 52-bit VAs, pgdp=00000000420a7000
  [fff0000000378fc8] pgd=18000000bffff403, p4d=18000000bfffe403, pud=18000000bfffd403, pmd=0060000040200481
  Internal error: Oops: 000000009600004e [#1]  SMP
  Modules linked in:
  CPU: 1 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.19.0-rc6-00004-g7e6457d29e6a-dirty #291 PREEMPT
  Hardware name: linux,dummy-virt (DT)
  pstate: 81400009 (Nzcv daif +PAN -UAO -TCO +DIT -SSBS BTYPE=--)
  pc : futex_init+0x13c/0x348
  lr : futex_init+0xc8/0x348
  sp : ffff80008002bd40
  x29: ffff80008002bd40 x28: ffffa4b73ba0a160 x27: ffffa4b73bd10d74
  x26: ffffa4b73cb68b28 x25: ffffa4b73ba0b000 x24: ffffa4b73c66b000
  x23: 0000000000003fe0 x22: 0000000000000000 x21: ffffa4b73bd10d74
  x20: 0000000000008000 x19: 0000000000000000 x18: 00000000ffffffff
  x17: 000000007014db06 x16: ffffa4b73ca3ec08 x15: ffff80010002b937
  x14: 0000000000000006 x13: fff0000077200000 x12: 00000000000002b2
  x11: 00000000000000e6 x10: fff0000079e00000 x9 : fff0000077200000
  x8 : fff00000034df9e0 x7 : 0000000000000200 x6 : ffffa4b73ba0b000
  x5 : fff0000003510000 x4 : 0000000052803fe0 x3 : 0000000072a00000
  x2 : fff0000000378fc8 x1 : ffffa4b739d78fd0 x0 : ffffa4b739d78fc8
  Call trace:
   futex_init+0x13c/0x348 (P)
   do_one_initcall+0x6c/0x1b0
   kernel_init_freeable+0x204/0x2e0
   kernel_init+0x20/0x1d8
   ret_from_fork+0x10/0x20
  Code: 120b3c84 120b3c63 2a170084 2a130063 (29000c44)
  ---[ end trace 0000000000000000 ]---

The pc at "futex_init+0x13c/0x348" points to:

  futex_init()
    runtime_const_init(shift, __futex_shift)
      __runtime_fixup_shift()
        *p = cpu_to_le32(insn); /* <--- Here --- */

... which points to core_initcall() being too late to patch the kernel
text directly unlike the "d_hash_shift", "__names_cache" which are
initialized during start_kernel() before the protections are in place.

Use aarch64_insn_patch_text_nosync() to patch the runtime constants
instead of doing it directly to allow for running runtime_const_init()
slightly later into the boot.

Since aarch64_insn_patch_text_nosync() calls caches_clean_inval_pou()
internally, __runtime_fixup_caches() ends up being redundant.
runtime_const_init() are rare and the overheads of multiple calls to
caches_clean_inval_pou() instead of batching them together should be
negligible in practice.

At least one usage in kprobes.c suggests cpu_to_le32() conversion is not
necessary for aarch64_insn_patch_text_nosync() unlike in the current
scheme of patching *p directly.

Signed-off-by: K Prateek Nayak <kprateek.nayak@amd.com>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Futex hash computation requires a mask operation with read-only after
init data that will be converted to a runtime constant in the subsequent
commit.

Introduce runtime_const_mask_32 to further optimize the mask operation
in the futex hash computation hot path. GCC generates a:

  lui   a0, 0x12346       # upper; +0x800 then >>12 for correct rounding
  addi  a0, a0, 0x678     # lower 12 bits
  and   a1, a1, a0        # a1 = a1 & a0

pattern to tackle arbitrary 32-bit masks and the same was also suggested
by Claude which is implemented here. __runtime_fixup_ptr() already
patches a "lui + addi" sequence which has been reused to patch the same
sequence for __runtime_fixup_mask().

Assisted-by: Claude:claude-sonnet-4-5
Signed-off-by: K Prateek Nayak <kprateek.nayak@amd.com>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Futex hash computation requires a mask operation with read-only after
init data that will be converted to a runtime constant in the subsequent
commit.

Introduce runtime_const_mask_32 to further optimize the mask operation
in the futex hash computation hot path.

GCC generates a:

  nilf %r1,<imm32>

to tackle arbitrary 32-bit masks and the same is implemented here.
Immediate patching pattern for __runtime_fixup_mask() has been adopted
from __runtime_fixup_ptr().

Signed-off-by: K Prateek Nayak <kprateek.nayak@amd.com>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Add a dummy runtime_const_mask_32() for all the architectures that do
not support runtime-const.

Link: https://patch.msgid.link/20260227161841.GH606826@noisy.programming.kicks-ass.net
Not-yet-signed-off-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: K Prateek Nayak <kprateek.nayak@amd.com>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Runtime constify the read-only after init data  __futex_shift(shift_32),
__futex_mask(mask_32), and __futex_queues(ptr) used in __futex_hash()
hot path to avoid referencing global variable.

This also allows __futex_queues to be allocated dynamically to
"nr_node_ids" slots instead of reserving config dependent MAX_NUMNODES
(1 << CONFIG_NODES_SHIFT) worth of slots upfront.

No functional chages intended.

  [ prateek: Dynamically allocate __futex_queues, mark the global data
    __ro_after_init since they are constified after futex_init(). ]

Link: https://patch.msgid.link/20260227161841.GH606826@noisy.programming.kicks-ass.net
Reported-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> # MAX_NUMNODES bloat
Not-yet-signed-off-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: K Prateek Nayak <kprateek.nayak@amd.com>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
@linux-riscv-bot
Copy link
Author

Patch 1: "[RFC,v2,1/7] x86/runtime-const: Introduce runtime_const_mask_32()"
build-rv32-defconfig
Desc: Builds riscv32 defconfig
Duration: 134.78 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 1: "[RFC,v2,1/7] x86/runtime-const: Introduce runtime_const_mask_32()"
build-rv64-clang-allmodconfig
Desc: Builds riscv64 allmodconfig with Clang, and checks for errors and added warnings
Duration: 987.26 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 1: "[RFC,v2,1/7] x86/runtime-const: Introduce runtime_const_mask_32()"
build-rv64-gcc-allmodconfig
Desc: Builds riscv64 allmodconfig with GCC, and checks for errors and added warnings
Duration: 1333.62 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 1: "[RFC,v2,1/7] x86/runtime-const: Introduce runtime_const_mask_32()"
build-rv64-nommu-k210-defconfig
Desc: Builds riscv64 defconfig with NOMMU for K210
Duration: 24.69 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 1: "[RFC,v2,1/7] x86/runtime-const: Introduce runtime_const_mask_32()"
build-rv64-nommu-k210-virt
Desc: Builds riscv64 defconfig with NOMMU for the virt platform
Duration: 25.95 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 1: "[RFC,v2,1/7] x86/runtime-const: Introduce runtime_const_mask_32()"
checkpatch
Desc: Runs checkpatch.pl on the patch
Duration: 1.55 seconds
Result: WARNING
Output:

CHECK: spaces preferred around that '+' (ctx:VxV)
#32: FILE: arch/x86/include/asm/runtime-const.h:45:
+	typeof(0u+(val)) __ret = (val);				\
 	         ^

total: 0 errors, 0 warnings, 1 checks, 26 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

Commit d17b505d3af6 ("x86/runtime-const: Introduce runtime_const_mask_32()") has style problems, please review.

NOTE: Ignored message types: ALLOC_SIZEOF_STRUCT CAMELCASE COMMIT_LOG_LONG_LINE GIT_COMMIT_ID MACRO_ARG_REUSE NO_AUTHOR_SIGN_OFF

NOTE: If any of the errors are false positives, please report
      them to the maintainer, see CHECKPATCH in MAINTAINERS.
total: 0 errors, 0 warnings, 1 checks, 26 lines checked
CHECK: spaces preferred around that '+' (ctx:VxV)


@linux-riscv-bot
Copy link
Author

Patch 1: "[RFC,v2,1/7] x86/runtime-const: Introduce runtime_const_mask_32()"
dtb-warn-rv64
Desc: Checks for Device Tree warnings/errors
Duration: 82.71 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 1: "[RFC,v2,1/7] x86/runtime-const: Introduce runtime_const_mask_32()"
header-inline
Desc: Detects static functions without inline keyword in header files
Duration: 0.22 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 1: "[RFC,v2,1/7] x86/runtime-const: Introduce runtime_const_mask_32()"
kdoc
Desc: Detects for kdoc errors
Duration: 0.83 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 1: "[RFC,v2,1/7] x86/runtime-const: Introduce runtime_const_mask_32()"
module-param
Desc: Detect module_param changes
Duration: 0.23 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 1: "[RFC,v2,1/7] x86/runtime-const: Introduce runtime_const_mask_32()"
verify-fixes
Desc: Verifies that the Fixes: tags exist
Duration: 0.21 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 1: "[RFC,v2,1/7] x86/runtime-const: Introduce runtime_const_mask_32()"
verify-signedoff
Desc: Verifies that Signed-off-by: tags are correct
Duration: 1.18 seconds
Result: ERROR
Output:

Commit d17b505d3af6 ("x86/runtime-const: Introduce runtime_const_mask_32()")
	author Signed-off-by missing
	author email:    peterz@infradead.org
	committer email: linux.riscv.bot@gmail.com
	Signed-off-by: K Prateek Nayak <kprateek.nayak@amd.com>
	Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>

Errors in tree with Signed-off-by, please fix!


@linux-riscv-bot
Copy link
Author

Patch 2: "[RFC,v2,2/7] arm64/runtime-const: Introduce runtime_const_mask_32()"
build-rv32-defconfig
Desc: Builds riscv32 defconfig
Duration: 137.76 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 2: "[RFC,v2,2/7] arm64/runtime-const: Introduce runtime_const_mask_32()"
build-rv64-clang-allmodconfig
Desc: Builds riscv64 allmodconfig with Clang, and checks for errors and added warnings
Duration: 990.59 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 2: "[RFC,v2,2/7] arm64/runtime-const: Introduce runtime_const_mask_32()"
build-rv64-gcc-allmodconfig
Desc: Builds riscv64 allmodconfig with GCC, and checks for errors and added warnings
Duration: 1336.06 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 2: "[RFC,v2,2/7] arm64/runtime-const: Introduce runtime_const_mask_32()"
build-rv64-nommu-k210-defconfig
Desc: Builds riscv64 defconfig with NOMMU for K210
Duration: 24.89 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 2: "[RFC,v2,2/7] arm64/runtime-const: Introduce runtime_const_mask_32()"
build-rv64-nommu-k210-virt
Desc: Builds riscv64 defconfig with NOMMU for the virt platform
Duration: 26.19 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 2: "[RFC,v2,2/7] arm64/runtime-const: Introduce runtime_const_mask_32()"
checkpatch
Desc: Runs checkpatch.pl on the patch
Duration: 1.72 seconds
Result: ERROR
Output:

WARNING: Non-standard signature: Assisted-by:
#22: 
Assisted-by: Claude:claude-sonnet-4-5

ERROR: Unrecognized email address: 'Claude:claude-sonnet-4-5'
#22: 
Assisted-by: Claude:claude-sonnet-4-5

ERROR: spaces required around that ':' (ctx:ExV)
#46: FILE: arch/arm64/include/asm/runtime-const.h:47:
+		:"=r" (__ret)					\
 		^

ERROR: spaces required around that ':' (ctx:ExV)
#47: FILE: arch/arm64/include/asm/runtime-const.h:48:
+		:"r" (0u+(val)));				\
 		^

CHECK: spaces preferred around that '+' (ctx:VxV)
#47: FILE: arch/arm64/include/asm/runtime-const.h:48:
+		:"r" (0u+(val)));				\
 		        ^

WARNING: Missing a blank line after declarations
#61: FILE: arch/arm64/include/asm/runtime-const.h:100:
+	__le32 *p = lm_alias(where);
+	__runtime_fixup_16(p, val);

CHECK: spaces preferred around that '+' (ctx:VxV)
#62: FILE: arch/arm64/include/asm/runtime-const.h:101:
+	__runtime_fixup_16(p+1, val >> 16);
 	                    ^

total: 3 errors, 2 warnings, 2 checks, 34 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

Commit b236c19f8390 ("arm64/runtime-const: Introduce runtime_const_mask_32()") has style problems, please review.

NOTE: Ignored message types: ALLOC_SIZEOF_STRUCT CAMELCASE COMMIT_LOG_LONG_LINE GIT_COMMIT_ID MACRO_ARG_REUSE NO_AUTHOR_SIGN_OFF

NOTE: If any of the errors are false positives, please report
      them to the maintainer, see CHECKPATCH in MAINTAINERS.
CHECK: spaces preferred around that '+' (ctx:VxV)
ERROR: Unrecognized email address: 'Claude:claude-sonnet-4-5'
ERROR: spaces required around that ':' (ctx:ExV)
WARNING: Missing a blank line after declarations
WARNING: Non-standard signature: Assisted-by:


@linux-riscv-bot
Copy link
Author

Patch 2: "[RFC,v2,2/7] arm64/runtime-const: Introduce runtime_const_mask_32()"
dtb-warn-rv64
Desc: Checks for Device Tree warnings/errors
Duration: 82.78 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 2: "[RFC,v2,2/7] arm64/runtime-const: Introduce runtime_const_mask_32()"
header-inline
Desc: Detects static functions without inline keyword in header files
Duration: 0.23 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 2: "[RFC,v2,2/7] arm64/runtime-const: Introduce runtime_const_mask_32()"
kdoc
Desc: Detects for kdoc errors
Duration: 0.89 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 2: "[RFC,v2,2/7] arm64/runtime-const: Introduce runtime_const_mask_32()"
module-param
Desc: Detect module_param changes
Duration: 0.24 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 5: "[RFC,v2,5/7] s390/runtime-const: Introduce runtime_const_mask_32()"
verify-signedoff
Desc: Verifies that Signed-off-by: tags are correct
Duration: 0.29 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 6: "[RFC,v2,6/7] asm-generic/runtime-const: Add dummy runtime_const_mask_32()"
build-rv32-defconfig
Desc: Builds riscv32 defconfig
Duration: 134.32 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 6: "[RFC,v2,6/7] asm-generic/runtime-const: Add dummy runtime_const_mask_32()"
build-rv64-clang-allmodconfig
Desc: Builds riscv64 allmodconfig with Clang, and checks for errors and added warnings
Duration: 1036.76 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 6: "[RFC,v2,6/7] asm-generic/runtime-const: Add dummy runtime_const_mask_32()"
build-rv64-gcc-allmodconfig
Desc: Builds riscv64 allmodconfig with GCC, and checks for errors and added warnings
Duration: 1390.15 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 6: "[RFC,v2,6/7] asm-generic/runtime-const: Add dummy runtime_const_mask_32()"
build-rv64-nommu-k210-defconfig
Desc: Builds riscv64 defconfig with NOMMU for K210
Duration: 24.43 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 6: "[RFC,v2,6/7] asm-generic/runtime-const: Add dummy runtime_const_mask_32()"
build-rv64-nommu-k210-virt
Desc: Builds riscv64 defconfig with NOMMU for the virt platform
Duration: 25.80 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 6: "[RFC,v2,6/7] asm-generic/runtime-const: Add dummy runtime_const_mask_32()"
checkpatch
Desc: Runs checkpatch.pl on the patch
Duration: 1.72 seconds
Result: WARNING
Output:

CHECK: spaces preferred around that '&' (ctx:VxV)
#25: FILE: include/asm-generic/runtime-const.h:13:
+#define runtime_const_mask_32(val, sym) ((u32)(val)&(sym))
                                                    ^

total: 0 errors, 0 warnings, 1 checks, 7 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

Commit 6ca8173f2504 ("asm-generic/runtime-const: Add dummy runtime_const_mask_32()") has style problems, please review.

NOTE: Ignored message types: ALLOC_SIZEOF_STRUCT CAMELCASE COMMIT_LOG_LONG_LINE GIT_COMMIT_ID MACRO_ARG_REUSE NO_AUTHOR_SIGN_OFF

NOTE: If any of the errors are false positives, please report
      them to the maintainer, see CHECKPATCH in MAINTAINERS.
total: 0 errors, 0 warnings, 1 checks, 7 lines checked
CHECK: spaces preferred around that '&' (ctx:VxV)


@linux-riscv-bot
Copy link
Author

Patch 6: "[RFC,v2,6/7] asm-generic/runtime-const: Add dummy runtime_const_mask_32()"
dtb-warn-rv64
Desc: Checks for Device Tree warnings/errors
Duration: 82.36 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 6: "[RFC,v2,6/7] asm-generic/runtime-const: Add dummy runtime_const_mask_32()"
header-inline
Desc: Detects static functions without inline keyword in header files
Duration: 0.22 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 6: "[RFC,v2,6/7] asm-generic/runtime-const: Add dummy runtime_const_mask_32()"
kdoc
Desc: Detects for kdoc errors
Duration: 0.83 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 6: "[RFC,v2,6/7] asm-generic/runtime-const: Add dummy runtime_const_mask_32()"
module-param
Desc: Detect module_param changes
Duration: 0.23 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 6: "[RFC,v2,6/7] asm-generic/runtime-const: Add dummy runtime_const_mask_32()"
verify-fixes
Desc: Verifies that the Fixes: tags exist
Duration: 0.22 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 6: "[RFC,v2,6/7] asm-generic/runtime-const: Add dummy runtime_const_mask_32()"
verify-signedoff
Desc: Verifies that Signed-off-by: tags are correct
Duration: 1.30 seconds
Result: ERROR
Output:

Commit 6ca8173f2504 ("asm-generic/runtime-const: Add dummy runtime_const_mask_32()")
	author Signed-off-by missing
	author email:    peterz@infradead.org
	committer email: linux.riscv.bot@gmail.com
	Signed-off-by: K Prateek Nayak <kprateek.nayak@amd.com>
	Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>

Errors in tree with Signed-off-by, please fix!


@linux-riscv-bot
Copy link
Author

Patch 7: "[RFC,v2,7/7] futex: Use runtime constants for __futex_hash() hot path"
build-rv32-defconfig
Desc: Builds riscv32 defconfig
Duration: 135.51 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 7: "[RFC,v2,7/7] futex: Use runtime constants for __futex_hash() hot path"
build-rv64-clang-allmodconfig
Desc: Builds riscv64 allmodconfig with Clang, and checks for errors and added warnings
Duration: 1127.71 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 7: "[RFC,v2,7/7] futex: Use runtime constants for __futex_hash() hot path"
build-rv64-gcc-allmodconfig
Desc: Builds riscv64 allmodconfig with GCC, and checks for errors and added warnings
Duration: 1638.64 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 7: "[RFC,v2,7/7] futex: Use runtime constants for __futex_hash() hot path"
build-rv64-nommu-k210-defconfig
Desc: Builds riscv64 defconfig with NOMMU for K210
Duration: 24.70 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 7: "[RFC,v2,7/7] futex: Use runtime constants for __futex_hash() hot path"
build-rv64-nommu-k210-virt
Desc: Builds riscv64 defconfig with NOMMU for the virt platform
Duration: 25.84 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 7: "[RFC,v2,7/7] futex: Use runtime constants for __futex_hash() hot path"
checkpatch
Desc: Runs checkpatch.pl on the patch
Duration: 1.81 seconds
Result: WARNING
Output:

WARNING: Reported-by: should be immediately followed by Closes: with a URL to the report
#20: 
Reported-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> # MAX_NUMNODES bloat
Not-yet-signed-off-by: Peter Zijlstra <peterz@infradead.org>

WARNING: Do not crash the kernel unless it is absolutely unavoidable--use WARN_ON_ONCE() plus recovery code (if feasible) instead of BUG() or variants
#124: FILE: kernel/futex/core.c:1993:
+	BUG_ON(!futex_queues());

total: 0 errors, 2 warnings, 0 checks, 98 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

Commit a6591361edb6 ("futex: Use runtime constants for __futex_hash() hot path") has style problems, please review.

NOTE: Ignored message types: ALLOC_SIZEOF_STRUCT CAMELCASE COMMIT_LOG_LONG_LINE GIT_COMMIT_ID MACRO_ARG_REUSE NO_AUTHOR_SIGN_OFF

NOTE: If any of the errors are false positives, please report
      them to the maintainer, see CHECKPATCH in MAINTAINERS.
total: 0 errors, 2 warnings, 0 checks, 98 lines checked
WARNING: Do not crash the kernel unless it is absolutely unavoidable--use WARN_ON_ONCE() plus recovery code (if feasible) instead of BUG() or variants
WARNING: Reported-by: should be immediately followed by Closes: with a URL to the report


@linux-riscv-bot
Copy link
Author

Patch 7: "[RFC,v2,7/7] futex: Use runtime constants for __futex_hash() hot path"
dtb-warn-rv64
Desc: Checks for Device Tree warnings/errors
Duration: 82.48 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 7: "[RFC,v2,7/7] futex: Use runtime constants for __futex_hash() hot path"
header-inline
Desc: Detects static functions without inline keyword in header files
Duration: 0.23 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 7: "[RFC,v2,7/7] futex: Use runtime constants for __futex_hash() hot path"
kdoc
Desc: Detects for kdoc errors
Duration: 0.88 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 7: "[RFC,v2,7/7] futex: Use runtime constants for __futex_hash() hot path"
module-param
Desc: Detect module_param changes
Duration: 0.28 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 7: "[RFC,v2,7/7] futex: Use runtime constants for __futex_hash() hot path"
verify-fixes
Desc: Verifies that the Fixes: tags exist
Duration: 0.26 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 7: "[RFC,v2,7/7] futex: Use runtime constants for __futex_hash() hot path"
verify-signedoff
Desc: Verifies that Signed-off-by: tags are correct
Duration: 2.98 seconds
Result: ERROR
Output:

Commit a6591361edb6 ("futex: Use runtime constants for __futex_hash() hot path")
	author Signed-off-by missing
	author email:    peterz@infradead.org
	committer email: linux.riscv.bot@gmail.com
	Signed-off-by: K Prateek Nayak <kprateek.nayak@amd.com>
	Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>

Errors in tree with Signed-off-by, please fix!


@linux-riscv-bot linux-riscv-bot force-pushed the workflow branch 5 times, most recently from dd35e73 to da94c13 Compare March 18, 2026 23:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants