Skip to content

[PW_SID:973204] [RFC,1/2] riscv: remove irqflags.h inclusion in asm/bitops.h#548

Closed
linux-riscv-bot wants to merge 3 commits into
workflow__riscv__fixesfrom
pw973204
Closed

[PW_SID:973204] [RFC,1/2] riscv: remove irqflags.h inclusion in asm/bitops.h#548
linux-riscv-bot wants to merge 3 commits into
workflow__riscv__fixesfrom
pw973204

Conversation

@linux-riscv-bot
Copy link
Copy Markdown

PR for series 973204 applied to workflow__riscv__fixes

Name: [RFC,1/2] riscv: remove irqflags.h inclusion in asm/bitops.h
URL: https://patchwork.kernel.org/project/linux-riscv/list/?series=973204
Version: 1

Linux RISC-V bot and others added 3 commits June 12, 2025 20:20
The arch/riscv/include/asm/bitops.h does not functionally require
including /linux/irqflags.h. Additionally, adding
arch/riscv/include/asm/percpu.h causes a circular inclusion:
kernel/bounds.c
->include/linux/log2.h
->include/linux/bitops.h
->arch/riscv/include/asm/bitops.h
->include/linux/irqflags.h
->include/linux/find.h
->return val ? __ffs(val) : size;
->arch/riscv/include/asm/bitops.h

The compilation log is as follows:
CC      kernel/bounds.s
In file included from ./include/linux/bitmap.h:11,
               from ./include/linux/cpumask.h:12,
               from ./arch/riscv/include/asm/processor.h:55,
               from ./arch/riscv/include/asm/thread_info.h:42,
               from ./include/linux/thread_info.h:60,
               from ./include/asm-generic/preempt.h:5,
               from ./arch/riscv/include/generated/asm/preempt.h:1,
               from ./include/linux/preempt.h:79,
               from ./arch/riscv/include/asm/percpu.h:8,
               from ./include/linux/irqflags.h:19,
               from ./arch/riscv/include/asm/bitops.h:14,
               from ./include/linux/bitops.h:68,
               from ./include/linux/log2.h:12,
               from kernel/bounds.c:13:
./include/linux/find.h: In function 'find_next_bit':
./include/linux/find.h:66:30: error: implicit declaration of function '__ffs' [-Wimplicit-function-declaration]
   66 |                 return val ? __ffs(val) : size;
      |                              ^~~~~

Signed-off-by: Yunhui Cui <cuiyunhui@bytedance.com>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Current percpu operations rely on generic implementations, where
raw_local_irq_save() introduces substantial overhead. Optimization
is achieved through atomic operations and preemption disabling.

Signed-off-by: Yunhui Cui <cuiyunhui@bytedance.com>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[RFC,1/2] riscv: remove irqflags.h inclusion in asm/bitops.h"
build-rv32-defconfig
Desc: Builds riscv32 defconfig
Duration: 102.80 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[RFC,1/2] riscv: remove irqflags.h inclusion in asm/bitops.h"
build-rv64-clang-allmodconfig
Desc: Builds riscv64 allmodconfig with Clang, and checks for errors and added warnings
Duration: 2051.40 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[RFC,1/2] riscv: remove irqflags.h inclusion in asm/bitops.h"
build-rv64-gcc-allmodconfig
Desc: Builds riscv64 allmodconfig with GCC, and checks for errors and added warnings
Duration: 2911.57 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[RFC,1/2] riscv: remove irqflags.h inclusion in asm/bitops.h"
build-rv64-nommu-k210-defconfig
Desc: Builds riscv64 defconfig with NOMMU for K210
Duration: 20.71 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[RFC,1/2] riscv: remove irqflags.h inclusion in asm/bitops.h"
build-rv64-nommu-k210-virt
Desc: Builds riscv64 defconfig with NOMMU for the virt platform
Duration: 21.66 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[RFC,1/2] riscv: remove irqflags.h inclusion in asm/bitops.h"
checkpatch
Desc: Runs checkpatch.pl on the patch
Duration: 0.68 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[RFC,1/2] riscv: remove irqflags.h inclusion in asm/bitops.h"
dtb-warn-rv64
Desc: Checks for Device Tree warnings/errors
Duration: 71.16 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[RFC,1/2] riscv: remove irqflags.h inclusion in asm/bitops.h"
header-inline
Desc: Detects static functions without inline keyword in header files
Duration: 0.23 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[RFC,1/2] riscv: remove irqflags.h inclusion in asm/bitops.h"
kdoc
Desc: Detects for kdoc errors
Duration: 0.93 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[RFC,1/2] riscv: remove irqflags.h inclusion in asm/bitops.h"
module-param
Desc: Detect module_param changes
Duration: 0.25 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[RFC,1/2] riscv: remove irqflags.h inclusion in asm/bitops.h"
verify-fixes
Desc: Verifies that the Fixes: tags exist
Duration: 0.22 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[RFC,1/2] riscv: remove irqflags.h inclusion in asm/bitops.h"
verify-signedoff
Desc: Verifies that Signed-off-by: tags are correct
Duration: 0.30 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[RFC,2/2] riscv: introduce percpu.h into include/asm"
build-rv32-defconfig
Desc: Builds riscv32 defconfig
Duration: 88.57 seconds
Result: ERROR
Output:

Full log:
W: Support for running offline not available (unshare: unshare failed: Operation not permitted)
tuxmake --download-all-korg-gcc-toolchains --target-arch=riscv --kconfig=rv32_defconfig --toolchain=llvm --wrapper=ccache --environment=KBUILD_BUILD_TIMESTAMP=@1621270510 --environment=KBUILD_BUILD_USER=tuxmake --environment=KBUILD_BUILD_HOST=tuxmake --environment=KCFLAGS=-ffile-prefix-map=/build/tmp.txXuBpCPM3/build/= --runtime=null --image=docker.io/tuxmake/riscv_clang CROSS_COMPILE=riscv64-linux- config default kernel xipkernel modules dtbs dtbs-legacy debugkernel headers
make --silent --keep-going --jobs=48 O=/build/tmp.txXuBpCPM3/build ARCH=riscv CROSS_COMPILE=riscv64-linux- LLVM=1 'CC=ccache clang' 'HOSTCC=ccache clang' rv32_defconfig
make --silent --keep-going --jobs=48 O=/build/tmp.txXuBpCPM3/build ARCH=riscv CROSS_COMPILE=riscv64-linux- LLVM=1 'CC=ccache clang' 'HOSTCC=ccache clang'
In file included from /build/tmp1a2c9r02/net/ipv6/ip6_output.c:28:
In file included from /build/tmp1a2c9r02/include/linux/socket.h:8:
In file included from /build/tmp1a2c9r02/include/linux/uio.h:9:
In file included from /build/tmp1a2c9r02/include/linux/mm_types.h:8:
In file included from /build/tmp1a2c9r02/include/linux/kref.h:16:
In file included from /build/tmp1a2c9r02/include/linux/spinlock.h:59:
In file included from /build/tmp1a2c9r02/include/linux/irqflags.h:19:
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
   62 | PERCPU_OP(add, add)
      | ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:49:2: note: expanded from macro 'PERCPU_OP'
   49 |         __PERCPU_AMO_OP_CASE(.d, name, 64, amo_insn)                    \
      |         ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:24:2: note: expanded from macro '__PERCPU_AMO_OP_CASE'
   24 |         "amo" #amo_insn #sfx " zero, %[val], %[ptr]"                    \
      |         ^
<inline asm>:1:2: note: instantiated into assembly here
    1 |         amoadd.d zero, a4, 0(a3)
      |         ^
In file included from /build/tmp1a2c9r02/net/ipv6/ip6_output.c:28:
In file included from /build/tmp1a2c9r02/include/linux/socket.h:8:
In file included from /build/tmp1a2c9r02/include/linux/uio.h:9:
In file included from /build/tmp1a2c9r02/include/linux/mm_types.h:8:
In file included from /build/tmp1a2c9r02/include/linux/kref.h:16:
In file included from /build/tmp1a2c9r02/include/linux/spinlock.h:59:
In file included from /build/tmp1a2c9r02/include/linux/irqflags.h:19:
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
   62 | PERCPU_OP(add, add)
      | ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:49:2: note: expanded from macro 'PERCPU_OP'
   49 |         __PERCPU_AMO_OP_CASE(.d, name, 64, amo_insn)                    \
      |         ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:24:2: note: expanded from macro '__PERCPU_AMO_OP_CASE'
   24 |         "amo" #amo_insn #sfx " zero, %[val], %[ptr]"                    \
      |         ^
<inline asm>:1:2: note: instantiated into assembly here
    1 |         amoadd.d zero, a0, 0(a2)
      |         ^
In file included from /build/tmp1a2c9r02/net/ipv6/ip6_output.c:28:
In file included from /build/tmp1a2c9r02/include/linux/socket.h:8:
In file included from /build/tmp1a2c9r02/include/linux/uio.h:9:
In file included from /build/tmp1a2c9r02/include/linux/mm_types.h:8:
In file included from /build/tmp1a2c9r02/include/linux/kref.h:16:
In file included from /build/tmp1a2c9r02/include/linux/spinlock.h:59:
In file included from /build/tmp1a2c9r02/include/linux/irqflags.h:19:
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
   62 | PERCPU_OP(add, add)
      | ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:49:2: note: expanded from macro 'PERCPU_OP'
   49 |         __PERCPU_AMO_OP_CASE(.d, name, 64, amo_insn)                    \
      |         ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:24:2: note: expanded from macro '__PERCPU_AMO_OP_CASE'
   24 |         "amo" #amo_insn #sfx " zero, %[val], %[ptr]"                    \
      |         ^
<inline asm>:1:2: note: instantiated into assembly here
    1 |         amoadd.d zero, a5, 0(a4)
      |         ^
In file included from /build/tmp1a2c9r02/net/ipv6/ip6_output.c:28:
In file included from /build/tmp1a2c9r02/include/linux/socket.h:8:
In file included from /build/tmp1a2c9r02/include/linux/uio.h:9:
In file included from /build/tmp1a2c9r02/include/linux/mm_types.h:8:
In file included from /build/tmp1a2c9r02/include/linux/kref.h:16:
In file included from /build/tmp1a2c9r02/include/linux/spinlock.h:59:
In file included from /build/tmp1a2c9r02/include/linux/irqflags.h:19:
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
   62 | PERCPU_OP(add, add)
      | ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:49:2: note: expanded from macro 'PERCPU_OP'
   49 |         __PERCPU_AMO_OP_CASE(.d, name, 64, amo_insn)                    \
      |         ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:24:2: note: expanded from macro '__PERCPU_AMO_OP_CASE'
   24 |         "amo" #amo_insn #sfx " zero, %[val], %[ptr]"                    \
      |         ^
<inline asm>:1:2: note: instantiated into assembly here
    1 |         amoadd.d zero, a0, 0(a2)
      |         ^
In file included from /build/tmp1a2c9r02/net/ipv6/ip6_output.c:28:
In file included from /build/tmp1a2c9r02/include/linux/socket.h:8:
In file included from /build/tmp1a2c9r02/include/linux/uio.h:9:
In file included from /build/tmp1a2c9r02/include/linux/mm_types.h:8:
In file included from /build/tmp1a2c9r02/include/linux/kref.h:16:
In file included from /build/tmp1a2c9r02/include/linux/spinlock.h:59:
In file included from /build/tmp1a2c9r02/include/linux/irqflags.h:19:
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
   62 | PERCPU_OP(add, add)
      | ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:49:2: note: expanded from macro 'PERCPU_OP'
   49 |         __PERCPU_AMO_OP_CASE(.d, name, 64, amo_insn)                    \
      |         ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:24:2: note: expanded from macro '__PERCPU_AMO_OP_CASE'
   24 |         "amo" #amo_insn #sfx " zero, %[val], %[ptr]"                    \
      |         ^
<inline asm>:1:2: note: instantiated into assembly here
    1 |         amoadd.d zero, a4, 0(a3)
      |         ^
In file included from /build/tmp1a2c9r02/net/ipv6/ip6_output.c:28:
In file included from /build/tmp1a2c9r02/include/linux/socket.h:8:
In file included from /build/tmp1a2c9r02/include/linux/uio.h:9:
In file included from /build/tmp1a2c9r02/include/linux/mm_types.h:8:
In file included from /build/tmp1a2c9r02/include/linux/kref.h:16:
In file included from /build/tmp1a2c9r02/include/linux/spinlock.h:59:
In file included from /build/tmp1a2c9r02/include/linux/irqflags.h:19:
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
   62 | PERCPU_OP(add, add)
      | ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:49:2: note: expanded from macro 'PERCPU_OP'
   49 |         __PERCPU_AMO_OP_CASE(.d, name, 64, amo_insn)                    \
      |         ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:24:2: note: expanded from macro '__PERCPU_AMO_OP_CASE'
   24 |         "amo" #amo_insn #sfx " zero, %[val], %[ptr]"                    \
      |         ^
<inline asm>:1:2: note: instantiated into assembly here
    1 |         amoadd.d zero, a0, 0(a2)
      |         ^
In file included from /build/tmp1a2c9r02/net/ipv6/ip6_output.c:28:
In file included from /build/tmp1a2c9r02/include/linux/socket.h:8:
In file included from /build/tmp1a2c9r02/include/linux/uio.h:9:
In file included from /build/tmp1a2c9r02/include/linux/mm_types.h:8:
In file included from /build/tmp1a2c9r02/include/linux/kref.h:16:
In file included from /build/tmp1a2c9r02/include/linux/spinlock.h:59:
In file included from /build/tmp1a2c9r02/include/linux/irqflags.h:19:
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
   62 | PERCPU_OP(add, add)
      | ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:49:2: note: expanded from macro 'PERCPU_OP'
   49 |         __PERCPU_AMO_OP_CASE(.d, name, 64, amo_insn)                    \
      |         ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:24:2: note: expanded from macro '__PERCPU_AMO_OP_CASE'
   24 |         "amo" #amo_insn #sfx " zero, %[val], %[ptr]"                    \
      |         ^
<inline asm>:1:2: note: instantiated into assembly here
    1 |         amoadd.d zero, a5, 0(a4)
      |         ^
In file included from /build/tmp1a2c9r02/net/ipv6/ip6_output.c:28:
In file included from /build/tmp1a2c9r02/include/linux/socket.h:8:
In file included from /build/tmp1a2c9r02/include/linux/uio.h:9:
In file included from /build/tmp1a2c9r02/include/linux/mm_types.h:8:
In file included from /build/tmp1a2c9r02/include/linux/kref.h:16:
In file included from /build/tmp1a2c9r02/include/linux/spinlock.h:59:
In file included from /build/tmp1a2c9r02/include/linux/irqflags.h:19:
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
   62 | PERCPU_OP(add, add)
      | ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:49:2: note: expanded from macro 'PERCPU_OP'
   49 |         __PERCPU_AMO_OP_CASE(.d, name, 64, amo_insn)                    \
      |         ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:24:2: note: expanded from macro '__PERCPU_AMO_OP_CASE'
   24 |         "amo" #amo_insn #sfx " zero, %[val], %[ptr]"                    \
      |         ^
<inline asm>:1:2: note: instantiated into assembly here
    1 |         amoadd.d zero, a0, 0(a2)
      |         ^
8 errors generated.
make[5]: *** [/build/tmp1a2c9r02/scripts/Makefile.build:287: net/ipv6/ip6_output.o] Error 1
In file included from /build/tmp1a2c9r02/fs/nfs/file.c:20:
In file included from /build/tmp1a2c9r02/include/linux/module.h:17:
In file included from /build/tmp1a2c9r02/include/linux/kmod.h:9:
In file included from /build/tmp1a2c9r02/include/linux/umh.h:4:
In file included from /build/tmp1a2c9r02/include/linux/gfp.h:7:
In file included from /build/tmp1a2c9r02/include/linux/mmzone.h:8:
In file included from /build/tmp1a2c9r02/include/linux/spinlock.h:59:
In file included from /build/tmp1a2c9r02/include/linux/irqflags.h:19:
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
   62 | PERCPU_OP(add, add)
      | ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:49:2: note: expanded from macro 'PERCPU_OP'
   49 |         __PERCPU_AMO_OP_CASE(.d, name, 64, amo_insn)                    \
      |         ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:24:2: note: expanded from macro '__PERCPU_AMO_OP_CASE'
   24 |         "amo" #amo_insn #sfx " zero, %[val], %[ptr]"                    \
      |         ^
<inline asm>:1:2: note: instantiated into assembly here
    1 |         amoadd.d zero, a0, 0(a2)
      |         ^
In file included from /build/tmp1a2c9r02/fs/nfs/file.c:20:
In file included from /build/tmp1a2c9r02/include/linux/module.h:17:
In file included from /build/tmp1a2c9r02/include/linux/kmod.h:9:
In file included from /build/tmp1a2c9r02/include/linux/umh.h:4:
In file included from /build/tmp1a2c9r02/include/linux/gfp.h:7:
In file included from /build/tmp1a2c9r02/include/linux/mmzone.h:8:
In file included from /build/tmp1a2c9r02/include/linux/spinlock.h:59:
In file included from /build/tmp1a2c9r02/include/linux/irqflags.h:19:
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
   62 | PERCPU_OP(add, add)
      | ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:49:2: note: expanded from macro 'PERCPU_OP'
   49 |         __PERCPU_AMO_OP_CASE(.d, name, 64, amo_insn)                    \
      |         ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:24:2: note: expanded from macro '__PERCPU_AMO_OP_CASE'
   24 |         "amo" #amo_insn #sfx " zero, %[val], %[ptr]"                    \
      |         ^
<inline asm>:1:2: note: instantiated into assembly here
    1 |         amoadd.d zero, a0, 0(a2)
      |         ^
In file included from /build/tmp1a2c9r02/fs/nfs/file.c:20:
In file included from /build/tmp1a2c9r02/include/linux/module.h:17:
In file included from /build/tmp1a2c9r02/include/linux/kmod.h:9:
In file included from /build/tmp1a2c9r02/include/linux/umh.h:4:
In file included from /build/tmp1a2c9r02/include/linux/gfp.h:7:
In file included from /build/tmp1a2c9r02/include/linux/mmzone.h:8:
In file included from /build/tmp1a2c9r02/include/linux/spinlock.h:59:
In file included from /build/tmp1a2c9r02/include/linux/irqflags.h:19:
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
   62 | PERCPU_OP(add, add)
      | ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:49:2: note: expanded from macro 'PERCPU_OP'
   49 |         __PERCPU_AMO_OP_CASE(.d, name, 64, amo_insn)                    \
      |         ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:24:2: note: expanded from macro '__PERCPU_AMO_OP_CASE'
   24 |         "amo" #amo_insn #sfx " zero, %[val], %[ptr]"                    \
      |         ^
<inline asm>:1:2: note: instantiated into assembly here
    1 |         amoadd.d zero, a0, 0(a2)
      |         ^
3 errors generated.
make[5]: *** [/build/tmp1a2c9r02/scripts/Makefile.build:287: fs/nfs/file.o] Error 1
In file included from /build/tmp1a2c9r02/fs/nfs/direct.c:43:
In file included from /build/tmp1a2c9r02/include/linux/sched.h:2209:
In file included from /build/tmp1a2c9r02/include/linux/spinlock.h:59:
In file included from /build/tmp1a2c9r02/include/linux/irqflags.h:19:
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
   62 | PERCPU_OP(add, add)
      | ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:49:2: note: expanded from macro 'PERCPU_OP'
   49 |         __PERCPU_AMO_OP_CASE(.d, name, 64, amo_insn)                    \
      |         ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:24:2: note: expanded from macro '__PERCPU_AMO_OP_CASE'
   24 |         "amo" #amo_insn #sfx " zero, %[val], %[ptr]"                    \
      |         ^
<inline asm>:1:2: note: instantiated into assembly here
    1 |         amoadd.d zero, s1, 0(a1)
      |         ^
In file included from /build/tmp1a2c9r02/fs/nfs/direct.c:43:
In file included from /build/tmp1a2c9r02/include/linux/sched.h:2209:
In file included from /build/tmp1a2c9r02/include/linux/spinlock.h:59:
In file included from /build/tmp1a2c9r02/include/linux/irqflags.h:19:
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
   62 | PERCPU_OP(add, add)
      | ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:49:2: note: expanded from macro 'PERCPU_OP'
   49 |         __PERCPU_AMO_OP_CASE(.d, name, 64, amo_insn)                    \
      |         ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:24:2: note: expanded from macro '__PERCPU_AMO_OP_CASE'
   24 |         "amo" #amo_insn #sfx " zero, %[val], %[ptr]"                    \
      |         ^
<inline asm>:1:2: note: instantiated into assembly here
    1 |         amoadd.d zero, s3, 0(a1)
      |         ^
2 errors generated.
make[5]: *** [/build/tmp1a2c9r02/scripts/Makefile.build:287: fs/nfs/direct.o] Error 1
In file included from /build/tmp1a2c9r02/fs/nfs/read.c:16:
In file included from /build/tmp1a2c9r02/include/linux/mm.h:7:
In file included from /build/tmp1a2c9r02/include/linux/gfp.h:7:
In file included from /build/tmp1a2c9r02/include/linux/mmzone.h:8:
In file included from /build/tmp1a2c9r02/include/linux/spinlock.h:59:
In file included from /build/tmp1a2c9r02/include/linux/irqflags.h:19:
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
   62 | PERCPU_OP(add, add)
      | ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:49:2: note: expanded from macro 'PERCPU_OP'
   49 |         __PERCPU_AMO_OP_CASE(.d, name, 64, amo_insn)                    \
      |         ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:24:2: note: expanded from macro '__PERCPU_AMO_OP_CASE'
   24 |         "amo" #amo_insn #sfx " zero, %[val], %[ptr]"                    \
      |         ^
<inline asm>:1:2: note: instantiated into assembly here
    1 |         amoadd.d zero, a1, 0(a2)
      |         ^
In file included from /build/tmp1a2c9r02/fs/nfs/read.c:16:
In file included from /build/tmp1a2c9r02/include/linux/mm.h:7:
In file included from /build/tmp1a2c9r02/include/linux/gfp.h:7:
In file included from /build/tmp1a2c9r02/include/linux/mmzone.h:8:
In file included from /build/tmp1a2c9r02/include/linux/spinlock.h:59:
In file included from /build/tmp1a2c9r02/include/linux/irqflags.h:19:
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
   62 | PERCPU_OP(add, add)
      | ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:49:2: note: expanded from macro 'PERCPU_OP'
   49 |         __PERCPU_AMO_OP_CASE(.d, name, 64, amo_insn)                    \
      |         ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:24:2: note: expanded from macro '__PERCPU_AMO_OP_CASE'
   24 |         "amo" #amo_insn #sfx " zero, %[val], %[ptr]"                    \
      |         ^
<inline asm>:1:2: note: instantiated into assembly here
    1 |         amoadd.d zero, a1, 0(a2)
      |         ^
In file included from /build/tmp1a2c9r02/fs/nfs/read.c:16:
In file included from /build/tmp1a2c9r02/include/linux/mm.h:7:
In file included from /build/tmp1a2c9r02/include/linux/gfp.h:7:
In file included from /build/tmp1a2c9r02/include/linux/mmzone.h:8:
In file included from /build/tmp1a2c9r02/include/linux/spinlock.h:59:
In file included from /build/tmp1a2c9r02/include/linux/irqflags.h:19:
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
   62 | PERCPU_OP(add, add)
      | ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:49:2: note: expanded from macro 'PERCPU_OP'
   49 |         __PERCPU_AMO_OP_CASE(.d, name, 64, amo_insn)                    \
      |         ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:24:2: note: expanded from macro '__PERCPU_AMO_OP_CASE'
   24 |         "amo" #amo_insn #sfx " zero, %[val], %[ptr]"                    \
      |         ^
<inline asm>:1:2: note: instantiated into assembly here
    1 |         amoadd.d zero, a1, 0(a2)
      |         ^
In file included from /build/tmp1a2c9r02/fs/nfs/read.c:16:
In file included from /build/tmp1a2c9r02/include/linux/mm.h:7:
In file included from /build/tmp1a2c9r02/include/linux/gfp.h:7:
In file included from /build/tmp1a2c9r02/include/linux/mmzone.h:8:
In file included from /build/tmp1a2c9r02/include/linux/spinlock.h:59:
In file included from /build/tmp1a2c9r02/include/linux/irqflags.h:19:
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
   62 | PERCPU_OP(add, add)
      | ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:49:2: note: expanded from macro 'PERCPU_OP'
   49 |         __PERCPU_AMO_OP_CASE(.d, name, 64, amo_insn)                    \
      |         ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:24:2: note: expanded from macro '__PERCPU_AMO_OP_CASE'
   24 |         "amo" #amo_insn #sfx " zero, %[val], %[ptr]"                    \
      |         ^
<inline asm>:1:2: note: instantiated into assembly here
    1 |         amoadd.d zero, a3, 0(a2)
      |         ^
4 errors generated.
make[5]: *** [/build/tmp1a2c9r02/scripts/Makefile.build:287: fs/nfs/read.o] Error 1
make[5]: Target 'net/ipv6/' not remade because of errors.
make[4]: *** [/build/tmp1a2c9r02/scripts/Makefile.build:554: net/ipv6] Error 2
In file included from /build/tmp1a2c9r02/fs/nfs/write.c:11:
In file included from /build/tmp1a2c9r02/include/linux/slab.h:16:
In file included from /build/tmp1a2c9r02/include/linux/gfp.h:7:
In file included from /build/tmp1a2c9r02/include/linux/mmzone.h:8:
In file included from /build/tmp1a2c9r02/include/linux/spinlock.h:59:
In file included from /build/tmp1a2c9r02/include/linux/irqflags.h:19:
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
   62 | PERCPU_OP(add, add)
      | ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:49:2: note: expanded from macro 'PERCPU_OP'
   49 |         __PERCPU_AMO_OP_CASE(.d, name, 64, amo_insn)                    \
      |         ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:24:2: note: expanded from macro '__PERCPU_AMO_OP_CASE'
   24 |         "amo" #amo_insn #sfx " zero, %[val], %[ptr]"                    \
      |         ^
<inline asm>:1:2: note: instantiated into assembly here
    1 |         amoadd.d zero, a2, 0(a1)
      |         ^
In file included from /build/tmp1a2c9r02/fs/nfs/write.c:11:
In file included from /build/tmp1a2c9r02/include/linux/slab.h:16:
In file included from /build/tmp1a2c9r02/include/linux/gfp.h:7:
In file included from /build/tmp1a2c9r02/include/linux/mmzone.h:8:
In file included from /build/tmp1a2c9r02/include/linux/spinlock.h:59:
In file included from /build/tmp1a2c9r02/include/linux/irqflags.h:19:
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
   62 | PERCPU_OP(add, add)
      | ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:49:2: note: expanded from macro 'PERCPU_OP'
   49 |         __PERCPU_AMO_OP_CASE(.d, name, 64, amo_insn)                    \
      |         ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:24:2: note: expanded from macro '__PERCPU_AMO_OP_CASE'
   24 |         "amo" #amo_insn #sfx " zero, %[val], %[ptr]"                    \
      |         ^
<inline asm>:1:2: note: instantiated into assembly here
    1 |         amoadd.d zero, a3, 0(a2)
      |         ^
2 errors generated.
make[5]: *** [/build/tmp1a2c9r02/scripts/Makefile.build:287: fs/nfs/write.o] Error 1
In file included from /build/tmp1a2c9r02/fs/ext4/mballoc.c:12:
In file included from /build/tmp1a2c9r02/fs/ext4/ext4_jbd2.h:15:
In file included from /build/tmp1a2c9r02/include/linux/fs.h:7:
In file included from /build/tmp1a2c9r02/include/linux/wait_bit.h:8:
In file included from /build/tmp1a2c9r02/include/linux/wait.h:9:
In file included from /build/tmp1a2c9r02/include/linux/spinlock.h:59:
In file included from /build/tmp1a2c9r02/include/linux/irqflags.h:19:
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
   62 | PERCPU_OP(add, add)
      | ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:49:2: note: expanded from macro 'PERCPU_OP'
   49 |         __PERCPU_AMO_OP_CASE(.d, name, 64, amo_insn)                    \
      |         ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:24:2: note: expanded from macro '__PERCPU_AMO_OP_CASE'
   24 |         "amo" #amo_insn #sfx " zero, %[val], %[ptr]"                    \
      |         ^
<inline asm>:1:2: note: instantiated into assembly here
    1 |         amoadd.d zero, a3, 0(a2)
      |         ^
In file included from /build/tmp1a2c9r02/fs/ext4/mballoc.c:12:
In file included from /build/tmp1a2c9r02/fs/ext4/ext4_jbd2.h:15:
In file included from /build/tmp1a2c9r02/include/linux/fs.h:7:
In file included from /build/tmp1a2c9r02/include/linux/wait_bit.h:8:
In file included from /build/tmp1a2c9r02/include/linux/wait.h:9:
In file included from /build/tmp1a2c9r02/include/linux/spinlock.h:59:
In file included from /build/tmp1a2c9r02/include/linux/irqflags.h:19:
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
   62 | PERCPU_OP(add, add)
      | ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:49:2: note: expanded from macro 'PERCPU_OP'
   49 |         __PERCPU_AMO_OP_CASE(.d, name, 64, amo_insn)                    \
      |         ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:24:2: note: expanded from macro '__PERCPU_AMO_OP_CASE'
   24 |         "amo" #amo_insn #sfx " zero, %[val], %[ptr]"                    \
      |         ^
<inline asm>:1:2: note: instantiated into assembly here
    1 |         amoadd.d zero, a3, 0(a2)
      |         ^
In file included from /build/tmp1a2c9r02/fs/ext4/mballoc.c:12:
In file included from /build/tmp1a2c9r02/fs/ext4/ext4_jbd2.h:15:
In file included from /build/tmp1a2c9r02/include/linux/fs.h:7:
In file included from /build/tmp1a2c9r02/include/linux/wait_bit.h:8:
In file included from /build/tmp1a2c9r02/include/linux/wait.h:9:
In file included from /build/tmp1a2c9r02/include/linux/spinlock.h:59:
In file included from /build/tmp1a2c9r02/include/linux/irqflags.h:19:
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
   62 | PERCPU_OP(add, add)
      | ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:49:2: note: expanded from macro 'PERCPU_OP'
   49 |         __PERCPU_AMO_OP_CASE(.d, name, 64, amo_insn)                    \
      |         ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:24:2: note: expanded from macro '__PERCPU_AMO_OP_CASE'
   24 |         "amo" #amo_insn #sfx " zero, %[val], %[ptr]"                    \
      |         ^
<inline asm>:1:2: note: instantiated into assembly here
    1 |         amoadd.d zero, s7, 0(a0)
      |         ^
3 errors generated.
make[5]: *** [/build/tmp1a2c9r02/scripts/Makefile.build:287: fs/ext4/mballoc.o] Error 1
make[4]: Target 'net/' not remade because of errors.
make[3]: *** [/build/tmp1a2c9r02/scripts/Makefile.build:554: net] Error 2
make[5]: Target 'fs/ext4/' not remade because of errors.
make[4]: *** [/build/tmp1a2c9r02/scripts/Makefile.build:554: fs/ext4] Error 2
In file included from /build/tmp1a2c9r02/kernel/bpf/hashtab.c:5:
In file included from /build/tmp1a2c9r02/include/linux/bpf.h:10:
In file included from /build/tmp1a2c9r02/include/linux/workqueue.h:9:
In file included from /build/tmp1a2c9r02/include/linux/timer.h:8:
In file included from /build/tmp1a2c9r02/include/linux/debugobjects.h:6:
In file included from /build/tmp1a2c9r02/include/linux/spinlock.h:59:
In file included from /build/tmp1a2c9r02/include/linux/irqflags.h:19:
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
   62 | PERCPU_OP(add, add)
      | ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:49:2: note: expanded from macro 'PERCPU_OP'
   49 |         __PERCPU_AMO_OP_CASE(.d, name, 64, amo_insn)                    \
      |         ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:24:2: note: expanded from macro '__PERCPU_AMO_OP_CASE'
   24 |         "amo" #amo_insn #sfx " zero, %[val], %[ptr]"                    \
      |         ^
<inline asm>:1:2: note: instantiated into assembly here
    1 |         amoadd.d zero, a2, 0(a1)
      |         ^
In file included from /build/tmp1a2c9r02/kernel/bpf/hashtab.c:5:
In file included from /build/tmp1a2c9r02/include/linux/bpf.h:10:
In file included from /build/tmp1a2c9r02/include/linux/workqueue.h:9:
In file included from /build/tmp1a2c9r02/include/linux/timer.h:8:
In file included from /build/tmp1a2c9r02/include/linux/debugobjects.h:6:
In file included from /build/tmp1a2c9r02/include/linux/spinlock.h:59:
In file included from /build/tmp1a2c9r02/include/linux/irqflags.h:19:
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
   62 | PERCPU_OP(add, add)
      | ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:49:2: note: expanded from macro 'PERCPU_OP'
   49 |         __PERCPU_AMO_OP_CASE(.d, name, 64, amo_insn)                    \
      |         ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:24:2: note: expanded from macro '__PERCPU_AMO_OP_CASE'
   24 |         "amo" #amo_insn #sfx " zero, %[val], %[ptr]"                    \
      |         ^
<inline asm>:1:2: note: instantiated into assembly here
    1 |         amoadd.d zero, a2, 0(a1)
      |         ^
In file included from /build/tmp1a2c9r02/kernel/bpf/hashtab.c:5:
In file included from /build/tmp1a2c9r02/include/linux/bpf.h:10:
In file included from /build/tmp1a2c9r02/include/linux/workqueue.h:9:
In file included from /build/tmp1a2c9r02/include/linux/timer.h:8:
In file included from /build/tmp1a2c9r02/include/linux/debugobjects.h:6:
In file included from /build/tmp1a2c9r02/include/linux/spinlock.h:59:
In file included from /build/tmp1a2c9r02/include/linux/irqflags.h:19:
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
   62 | PERCPU_OP(add, add)
      | ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:49:2: note: expanded from macro 'PERCPU_OP'
   49 |         __PERCPU_AMO_OP_CASE(.d, name, 64, amo_insn)                    \
      |         ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:24:2: note: expanded from macro '__PERCPU_AMO_OP_CASE'
   24 |         "amo" #amo_insn #sfx " zero, %[val], %[ptr]"                    \
      |         ^
<inline asm>:1:2: note: instantiated into assembly here
    1 |         amoadd.d zero, a1, 0(a0)
      |         ^
In file included from /build/tmp1a2c9r02/kernel/bpf/hashtab.c:5:
In file included from /build/tmp1a2c9r02/include/linux/bpf.h:10:
In file included from /build/tmp1a2c9r02/include/linux/workqueue.h:9:
In file included from /build/tmp1a2c9r02/include/linux/timer.h:8:
In file included from /build/tmp1a2c9r02/include/linux/debugobjects.h:6:
In file included from /build/tmp1a2c9r02/include/linux/spinlock.h:59:
In file included from /build/tmp1a2c9r02/include/linux/irqflags.h:19:
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
   62 | PERCPU_OP(add, add)
      | ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:49:2: note: expanded from macro 'PERCPU_OP'
   49 |         __PERCPU_AMO_OP_CASE(.d, name, 64, amo_insn)                    \
      |         ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:24:2: note: expanded from macro '__PERCPU_AMO_OP_CASE'
   24 |         "amo" #amo_insn #sfx " zero, %[val], %[ptr]"                    \
      |         ^
<inline asm>:1:2: note: instantiated into assembly here
    1 |         amoadd.d zero, a2, 0(a1)
      |         ^
In file included from /build/tmp1a2c9r02/kernel/bpf/hashtab.c:5:
In file included from /build/tmp1a2c9r02/include/linux/bpf.h:10:
In file included from /build/tmp1a2c9r02/include/linux/workqueue.h:9:
In file included from /build/tmp1a2c9r02/include/linux/timer.h:8:
In file included from /build/tmp1a2c9r02/include/linux/debugobjects.h:6:
In file included from /build/tmp1a2c9r02/include/linux/spinlock.h:59:
In file included from /build/tmp1a2c9r02/include/linux/irqflags.h:19:
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
   62 | PERCPU_OP(add, add)
      | ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:49:2: note: expanded from macro 'PERCPU_OP'
   49 |         __PERCPU_AMO_OP_CASE(.d, name, 64, amo_insn)                    \
      |         ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:24:2: note: expanded from macro '__PERCPU_AMO_OP_CASE'
   24 |         "amo" #amo_insn #sfx " zero, %[val], %[ptr]"                    \
      |         ^
<inline asm>:1:2: note: instantiated into assembly here
    1 |         amoadd.d zero, a3, 0(a2)
      |         ^
In file included from /build/tmp1a2c9r02/kernel/bpf/hashtab.c:5:
In file included from /build/tmp1a2c9r02/include/linux/bpf.h:10:
In file included from /build/tmp1a2c9r02/include/linux/workqueue.h:9:
In file included from /build/tmp1a2c9r02/include/linux/timer.h:8:
In file included from /build/tmp1a2c9r02/include/linux/debugobjects.h:6:
In file included from /build/tmp1a2c9r02/include/linux/spinlock.h:59:
In file included from /build/tmp1a2c9r02/include/linux/irqflags.h:19:
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
   62 | PERCPU_OP(add, add)
      | ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:49:2: note: expanded from macro 'PERCPU_OP'
   49 |         __PERCPU_AMO_OP_CASE(.d, name, 64, amo_insn)                    \
      |         ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:24:2: note: expanded from macro '__PERCPU_AMO_OP_CASE'
   24 |         "amo" #amo_insn #sfx " zero, %[val], %[ptr]"                    \
      |         ^
<inline asm>:1:2: note: instantiated into assembly here
    1 |         amoadd.d zero, a2, 0(a1)
      |         ^
In file included from /build/tmp1a2c9r02/kernel/bpf/hashtab.c:5:
In file included from /build/tmp1a2c9r02/include/linux/bpf.h:10:
In file included from /build/tmp1a2c9r02/include/linux/workqueue.h:9:
In file included from /build/tmp1a2c9r02/include/linux/timer.h:8:
In file included from /build/tmp1a2c9r02/include/linux/debugobjects.h:6:
In file included from /build/tmp1a2c9r02/include/linux/spinlock.h:59:
In file included from /build/tmp1a2c9r02/include/linux/irqflags.h:19:
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
   62 | PERCPU_OP(add, add)
      | ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:49:2: note: expanded from macro 'PERCPU_OP'
   49 |         __PERCPU_AMO_OP_CASE(.d, name, 64, amo_insn)                    \
      |         ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:24:2: note: expanded from macro '__PERCPU_AMO_OP_CASE'
   24 |         "amo" #amo_insn #sfx " zero, %[val], %[ptr]"                    \
      |         ^
<inline asm>:1:2: note: instantiated into assembly here
    1 |         amoadd.d zero, a5, 0(a4)
      |         ^
In file included from /build/tmp1a2c9r02/kernel/bpf/hashtab.c:5:
In file included from /build/tmp1a2c9r02/include/linux/bpf.h:10:
In file included from /build/tmp1a2c9r02/include/linux/workqueue.h:9:
In file included from /build/tmp1a2c9r02/include/linux/timer.h:8:
In file included from /build/tmp1a2c9r02/include/linux/debugobjects.h:6:
In file included from /build/tmp1a2c9r02/include/linux/spinlock.h:59:
In file included from /build/tmp1a2c9r02/include/linux/irqflags.h:19:
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
   62 | PERCPU_OP(add, add)
      | ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:49:2: note: expanded from macro 'PERCPU_OP'
   49 |         __PERCPU_AMO_OP_CASE(.d, name, 64, amo_insn)                    \
      |         ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:24:2: note: expanded from macro '__PERCPU_AMO_OP_CASE'
   24 |         "amo" #amo_insn #sfx " zero, %[val], %[ptr]"                    \
      |         ^
<inline asm>:1:2: note: instantiated into assembly here
    1 |         amoadd.d zero, a2, 0(a0)
      |         ^
<inline asm>:1:2: error: instruction requires the following: RV64I Base Instruction Set
    1 |         amoadd.d zero, a3, 0(a2)
      |         ^
In file included from /build/tmp1a2c9r02/kernel/bpf/hashtab.c:5:
In file included from /build/tmp1a2c9r02/include/linux/bpf.h:10:
In file included from /build/tmp1a2c9r02/include/linux/workqueue.h:9:
In file included from /build/tmp1a2c9r02/include/linux/timer.h:8:
In file included from /build/tmp1a2c9r02/include/linux/debugobjects.h:6:
In file included from /build/tmp1a2c9r02/include/linux/spinlock.h:59:
In file included from /build/tmp1a2c9r02/include/linux/irqflags.h:19:
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
   62 | PERCPU_OP(add, add)
      | ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:49:2: note: expanded from macro 'PERCPU_OP'
   49 |         __PERCPU_AMO_OP_CASE(.d, name, 64, amo_insn)                    \
      |         ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:24:2: note: expanded from macro '__PERCPU_AMO_OP_CASE'
   24 |         "amo" #amo_insn #sfx " zero, %[val], %[ptr]"                    \
      |         ^
<inline asm>:1:2: note: instantiated into assembly here
    1 |         amoadd.d zero, a2, 0(a1)
      |         ^
In file included from /build/tmp1a2c9r02/kernel/bpf/hashtab.c:5:
In file included from /build/tmp1a2c9r02/include/linux/bpf.h:10:
In file included from /build/tmp1a2c9r02/include/linux/workqueue.h:9:
In file included from /build/tmp1a2c9r02/include/linux/timer.h:8:
In file included from /build/tmp1a2c9r02/include/linux/debugobjects.h:6:
In file included from /build/tmp1a2c9r02/include/linux/spinlock.h:59:
In file included from /build/tmp1a2c9r02/include/linux/irqflags.h:19:
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
   62 | PERCPU_OP(add, add)
      | ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:49:2: note: expanded from macro 'PERCPU_OP'
   49 |         __PERCPU_AMO_OP_CASE(.d, name, 64, amo_insn)                    \
      |         ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:24:2: note: expanded from macro '__PERCPU_AMO_OP_CASE'
   24 |         "amo" #amo_insn #sfx " zero, %[val], %[ptr]"                    \
      |         ^
<inline asm>:1:2: note: instantiated into assembly here
    1 |         amoadd.d zero, a2, 0(a1)
      |         ^
In file included from /build/tmp1a2c9r02/kernel/bpf/hashtab.c:5:
In file included from /build/tmp1a2c9r02/include/linux/bpf.h:10:
In file included from /build/tmp1a2c9r02/include/linux/workqueue.h:9:
In file included from /build/tmp1a2c9r02/include/linux/timer.h:8:
In file included from /build/tmp1a2c9r02/include/linux/debugobjects.h:6:
In file included from /build/tmp1a2c9r02/include/linux/spinlock.h:59:
In file included from /build/tmp1a2c9r02/include/linux/irqflags.h:19:
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
   62 | PERCPU_OP(add, add)
      | ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:49:2: note: expanded from macro 'PERCPU_OP'
   49 |         __PERCPU_AMO_OP_CASE(.d, name, 64, amo_insn)                    \
      |         ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:24:2: note: expanded from macro '__PERCPU_AMO_OP_CASE'
   24 |         "amo" #amo_insn #sfx " zero, %[val], %[ptr]"                    \
      |         ^
<inline asm>:1:2: note: instantiated into assembly here
    1 |         amoadd.d zero, a3, 0(a2)
      |         ^
In file included from /build/tmp1a2c9r02/kernel/bpf/hashtab.c:5:
In file included from /build/tmp1a2c9r02/include/linux/bpf.h:10:
In file included from /build/tmp1a2c9r02/include/linux/workqueue.h:9:
In file included from /build/tmp1a2c9r02/include/linux/timer.h:8:
In file included from /build/tmp1a2c9r02/include/linux/debugobjects.h:6:
In file included from /build/tmp1a2c9r02/include/linux/spinlock.h:59:
In file included from /build/tmp1a2c9r02/include/linux/irqflags.h:19:
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
   62 | PERCPU_OP(add, add)
      | ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:49:2: note: expanded from macro 'PERCPU_OP'
   49 |         __PERCPU_AMO_OP_CASE(.d, name, 64, amo_insn)                    \
      |         ^
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:24:2: note: expanded from macro '__PERCPU_AMO_OP_CASE'
   24 |         "amo" #amo_insn #sfx " zero, %[val], %[ptr]"                    \
      |         ^
<inline asm>:1:2: note: instantiated into assembly here
    1 |         amoadd.d zero, a2, 0(a1)
      |         ^
13 errors generated.
make[5]: *** [/build/tmp1a2c9r02/scripts/Makefile.build:287: kernel/bpf/hashtab.o] Error 1
make[5]: Target 'fs/nfs/' not remade because of errors.
make[4]: *** [/build/tmp1a2c9r02/scripts/Makefile.build:554: fs/nfs] Error 2
make[5]: Target 'kernel/bpf/' not remade because of errors.
make[4]: *** [/build/tmp1a2c9r02/scripts/Makefile.build:554: kernel/bpf] Error 2
make[4]: Target 'kernel/' not remade because of errors.
make[3]: *** [/build/tmp1a2c9r02/scripts/Makefile.build:554: kernel] Error 2
make[4]: Target 'fs/' not remade because of errors.
I: config: PASS in 0:00:10.247746
I: default: FAIL in 0:01:11.537094
I: kernel: SKIP in 0:00:00.000008
I: xipkernel: SKIP in 0:00:00.000004
I: modules: FAIL in 0:00:00.064959
I: dtbs: PASS in 0:00:01.559744
I: dtbs-legacy: SKIP in 0:00:00.004266
I: debugkernel: SKIP in 0:00:00.000005
I: headers: PASS in 0:00:00.998825
I: build output in /build/tmp.txXuBpCPM3
make[3]: *** [/build/tmp1a2c9r02/scripts/Makefile.build:554: fs] Error 2
make[3]: Target './' not remade because of errors.
make[2]: *** [/build/tmp1a2c9r02/Makefile:2006: .] Error 2
make[2]: Target '__all' not remade because of errors.
make[1]: *** [/build/tmp1a2c9r02/Makefile:248: __sub-make] Error 2
make[1]: Target '__all' not remade because of errors.
make: *** [Makefile:248: __sub-make] Error 2
make: Target '__all' not remade because of errors.
rm -rf /build/tmp.txXuBpCPM3/build/modinstall
make --silent --keep-going --jobs=48 O=/build/tmp.txXuBpCPM3/build INSTALL_MOD_STRIP=1 INSTALL_MOD_PATH=/build/tmp.txXuBpCPM3/build/modinstall ARCH=riscv CROSS_COMPILE=riscv64-linux- LLVM=1 'CC=ccache clang' 'HOSTCC=ccache clang' modules_install
make[3]: *** No rule to make target 'modules.order', needed by '/build/tmp.txXuBpCPM3/build/modinstall/lib/modules/6.16.0-rc1-00011-g21afc22cf5cb/modules.order'.
make[3]: *** No rule to make target 'modules.builtin', needed by '/build/tmp.txXuBpCPM3/build/modinstall/lib/modules/6.16.0-rc1-00011-g21afc22cf5cb/modules.builtin'.
make[3]: *** No rule to make target 'modules.builtin.modinfo', needed by '/build/tmp.txXuBpCPM3/build/modinstall/lib/modules/6.16.0-rc1-00011-g21afc22cf5cb/modules.builtin.modinfo'.
make[3]: Target '__modinst' not remade because of errors.
make[2]: *** [/build/tmp1a2c9r02/Makefile:1912: modules_install] Error 2
make[1]: *** [/build/tmp1a2c9r02/Makefile:248: __sub-make] Error 2
make[1]: Target 'modules_install' not remade because of errors.
make: *** [Makefile:248: __sub-make] Error 2
make: Target 'modules_install' not remade because of errors.
make --silent --keep-going --jobs=48 O=/build/tmp.txXuBpCPM3/build INSTALL_DTBS_PATH=/build/tmp.txXuBpCPM3/build/dtbsinstall/dtbs ARCH=riscv CROSS_COMPILE=riscv64-linux- LLVM=1 'CC=ccache clang' 'HOSTCC=ccache clang' dtbs
rm -rf /build/tmp.txXuBpCPM3/build/dtbsinstall
mkdir -p /build/tmp.txXuBpCPM3/build/dtbsinstall/dtbs
make --silent --keep-going --jobs=48 O=/build/tmp.txXuBpCPM3/build INSTALL_DTBS_PATH=/build/tmp.txXuBpCPM3/build/dtbsinstall/dtbs ARCH=riscv CROSS_COMPILE=riscv64-linux- LLVM=1 'CC=ccache clang' 'HOSTCC=ccache clang' dtbs_install
tar --sort=name --owner=tuxmake:1000 --group=tuxmake:1000 --mtime=@1750220937 --clamp-mtime -caf /build/tmp.txXuBpCPM3/build/dtbs.tar -C /build/tmp.txXuBpCPM3/build/dtbsinstall dtbs
rm -rf /build/tmp.txXuBpCPM3/build/install_hdr
make --silent --keep-going --jobs=48 O=/build/tmp.txXuBpCPM3/build INSTALL_HDR_PATH=/build/tmp.txXuBpCPM3/build/install_hdr/ ARCH=riscv CROSS_COMPILE=riscv64-linux- LLVM=1 'CC=ccache clang' 'HOSTCC=ccache clang' headers_install
tar --sort=name --owner=tuxmake:1000 --group=tuxmake:1000 --mtime=@1750220937 --clamp-mtime -caf /build/tmp.txXuBpCPM3/build/headers.tar -C /build/tmp.txXuBpCPM3/build/install_hdr .
warnings/errors:
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
<inline asm>:1:2: error: instruction requires the following: RV64I Base Instruction Set
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set
/build/tmp1a2c9r02/arch/riscv/include/asm/percpu.h:62:1: error: instruction requires the following: RV64I Base Instruction Set


@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[RFC,2/2] riscv: introduce percpu.h into include/asm"
build-rv64-clang-allmodconfig
Desc: Builds riscv64 allmodconfig with Clang, and checks for errors and added warnings
Duration: 2004.68 seconds
Result: ERROR
Output:

Redirect to /build/tmp.uID8X9vbZX and /build/tmp.QMBhqy5PJp
Tree base:
37c9534149f93 ("riscv: remove irqflags.h inclusion in asm/bitops.h")
Building the whole tree with the patch
Building the tree before the patch
Building the tree with the patch
New errors added:
--- /build/tmp.5zO9qrVR92	2025-06-18 06:34:07.200418160 +0000
+++ /build/tmp.6f60jpszF1	2025-06-18 06:34:07.209418098 +0000
@@ -178,0 +179 @@
+     46 /build/tmp1a2c9r02/fs/bcachefs/buckets.h:322:12: warning: variable '__old' is uninitialized when used within its own initialization [-Wuninitialized]
@@ -220,0 +222 @@
+      1 /build/tmp1a2c9r02/kernel/fork.c:217:7: warning: variable '__old' is uninitialized when used within its own initialization [-Wuninitialized]
Per-file breakdown
error/warning file pre:
error/warning file post:
pre: 5188 post: 5235



real	13m31.186s
user	505m46.702s
sys	99m19.937s

real	15m37.707s
user	526m37.002s
sys	102m17.998s

real	4m5.869s
user	34m59.686s
sys	25m3.332s

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[RFC,2/2] riscv: introduce percpu.h into include/asm"
build-rv64-gcc-allmodconfig
Desc: Builds riscv64 allmodconfig with GCC, and checks for errors and added warnings
Duration: 901.56 seconds
Result: ERROR
Output:

Redirect to /build/tmp.gPVqGhEKia and /build/tmp.9mdEy9wHKt
Tree base:
37c9534149f93 ("riscv: remove irqflags.h inclusion in asm/bitops.h")
Building the whole tree with the patch
error:



real	14m55.190s
user	587m34.168s
sys	91m14.007s

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[RFC,2/2] riscv: introduce percpu.h into include/asm"
build-rv64-nommu-k210-defconfig
Desc: Builds riscv64 defconfig with NOMMU for K210
Duration: 20.73 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[RFC,2/2] riscv: introduce percpu.h into include/asm"
build-rv64-nommu-k210-virt
Desc: Builds riscv64 defconfig with NOMMU for the virt platform
Duration: 21.59 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[RFC,2/2] riscv: introduce percpu.h into include/asm"
checkpatch
Desc: Runs checkpatch.pl on the patch
Duration: 2.04 seconds
Result: ERROR
Output:

WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#18: 
new file mode 100644

ERROR: Macros with complex values should be enclosed in parentheses
#52: FILE: arch/riscv/include/asm/percpu.h:30:
+#define __PERCPU_AMO_RET_OP_CASE(sfx, name, sz, amo_insn)		\
+static inline u##sz							\
+__percpu_##name##_return_amo_case_##sz(void *ptr, unsigned long val)	\
+{									\
+	register u##sz ret;						\
+									\
+	asm volatile (							\
+	"amo" #amo_insn #sfx " %[ret], %[val], %[ptr]"			\
+	: [ptr] "+A" (*(u##sz *)ptr), [ret] "=r" (ret)			\
+	: [val] "r" ((u##sz)(val))					\
+	: "memory");							\
+									\
+	return ret + val;						\
+}

BUT SEE:

   do {} while (0) advice is over-stated in a few situations:

   The more obvious case is macros, like MODULE_PARM_DESC, invoked at
   file-scope, where C disallows code (it must be in functions).  See
   $exceptions if you have one to add by name.

   More troublesome is declarative macros used at top of new scope,
   like DECLARE_PER_CPU.  These might just compile with a do-while-0
   wrapper, but would be incorrect.  Most of these are handled by
   detecting struct,union,etc declaration primitives in $exceptions.

   Theres also macros called inside an if (block), which "return" an
   expression.  These cannot do-while, and need a ({}) wrapper.

   Enjoy this qualification while we work to improve our heuristics.

ERROR: Macros with complex values should be enclosed in parentheses
#67: FILE: arch/riscv/include/asm/percpu.h:45:
+#define PERCPU_OP(name, amo_insn)					\
+	__PERCPU_AMO_OP_CASE(.b, name, 8, amo_insn)			\
+	__PERCPU_AMO_OP_CASE(.h, name, 16, amo_insn)			\
+	__PERCPU_AMO_OP_CASE(.w, name, 32, amo_insn)			\
+	__PERCPU_AMO_OP_CASE(.d, name, 64, amo_insn)			\
+

BUT SEE:

   do {} while (0) advice is over-stated in a few situations:

   The more obvious case is macros, like MODULE_PARM_DESC, invoked at
   file-scope, where C disallows code (it must be in functions).  See
   $exceptions if you have one to add by name.

   More troublesome is declarative macros used at top of new scope,
   like DECLARE_PER_CPU.  These might just compile with a do-while-0
   wrapper, but would be incorrect.  Most of these are handled by
   detecting struct,union,etc declaration primitives in $exceptions.

   Theres also macros called inside an if (block), which "return" an
   expression.  These cannot do-while, and need a ({}) wrapper.

   Enjoy this qualification while we work to improve our heuristics.

ERROR: Macros with complex values should be enclosed in parentheses
#73: FILE: arch/riscv/include/asm/percpu.h:51:
+#define PERCPU_RET_OP(name, amo_insn)					\
+	__PERCPU_AMO_RET_OP_CASE(.b, name, 8, amo_insn)			\
+	__PERCPU_AMO_RET_OP_CASE(.h, name, 16, amo_insn)		\
+	__PERCPU_AMO_RET_OP_CASE(.w, name, 32, amo_insn)		\
+	__PERCPU_AMO_RET_OP_CASE(.d, name, 64, amo_insn)

BUT SEE:

   do {} while (0) advice is over-stated in a few situations:

   The more obvious case is macros, like MODULE_PARM_DESC, invoked at
   file-scope, where C disallows code (it must be in functions).  See
   $exceptions if you have one to add by name.

   More troublesome is declarative macros used at top of new scope,
   like DECLARE_PER_CPU.  These might just compile with a do-while-0
   wrapper, but would be incorrect.  Most of these are handled by
   detecting struct,union,etc declaration primitives in $exceptions.

   Theres also macros called inside an if (block), which "return" an
   expression.  These cannot do-while, and need a ({}) wrapper.

   Enjoy this qualification while we work to improve our heuristics.

CHECK: Macro argument 'val' may be better as '(val)' to avoid precedence issues
#138: FILE: arch/riscv/include/asm/percpu.h:116:
+#define this_cpu_and_1(pcp, val)	_pcp_protect(__percpu_andnot_amo_case_8, pcp, ~val)

CHECK: Macro argument 'val' may be better as '(val)' to avoid precedence issues
#139: FILE: arch/riscv/include/asm/percpu.h:117:
+#define this_cpu_and_2(pcp, val)	_pcp_protect(__percpu_andnot_amo_case_16, pcp, ~val)

CHECK: Macro argument 'val' may be better as '(val)' to avoid precedence issues
#140: FILE: arch/riscv/include/asm/percpu.h:118:
+#define this_cpu_and_4(pcp, val)	_pcp_protect(__percpu_andnot_amo_case_32, pcp, ~val)

CHECK: Macro argument 'val' may be better as '(val)' to avoid precedence issues
#141: FILE: arch/riscv/include/asm/percpu.h:119:
+#define this_cpu_and_8(pcp, val)	_pcp_protect(__percpu_andnot_amo_case_64, pcp, ~val)

total: 3 errors, 1 warnings, 4 checks, 138 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 21afc22cf5cb ("riscv: introduce percpu.h into include/asm") 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: Macro argument 'val' may be better as '(val)' to avoid precedence issues
ERROR: Macros with complex values should be enclosed in parentheses
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?


@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[RFC,2/2] riscv: introduce percpu.h into include/asm"
dtb-warn-rv64
Desc: Checks for Device Tree warnings/errors
Duration: 71.58 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[RFC,2/2] riscv: introduce percpu.h into include/asm"
header-inline
Desc: Detects static functions without inline keyword in header files
Duration: 0.23 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[RFC,2/2] riscv: introduce percpu.h into include/asm"
kdoc
Desc: Detects for kdoc errors
Duration: 0.90 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[RFC,2/2] riscv: introduce percpu.h into include/asm"
module-param
Desc: Detect module_param changes
Duration: 0.24 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[RFC,2/2] riscv: introduce percpu.h into include/asm"
verify-fixes
Desc: Verifies that the Fixes: tags exist
Duration: 0.22 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[RFC,2/2] riscv: introduce percpu.h into include/asm"
verify-signedoff
Desc: Verifies that Signed-off-by: tags are correct
Duration: 0.30 seconds
Result: PASS

@linux-riscv-bot linux-riscv-bot force-pushed the workflow__riscv__fixes branch 2 times, most recently from 6ce2eef to b5ded79 Compare June 24, 2025 01:05
@linux-riscv-bot linux-riscv-bot deleted the pw973204 branch June 26, 2025 01:05
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