[PW_SID:973204] [RFC,1/2] riscv: remove irqflags.h inclusion in asm/bitops.h#548
[PW_SID:973204] [RFC,1/2] riscv: remove irqflags.h inclusion in asm/bitops.h#548linux-riscv-bot wants to merge 3 commits into
Conversation
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>
|
Patch 1: "[RFC,1/2] riscv: remove irqflags.h inclusion in asm/bitops.h" |
|
Patch 1: "[RFC,1/2] riscv: remove irqflags.h inclusion in asm/bitops.h" |
|
Patch 1: "[RFC,1/2] riscv: remove irqflags.h inclusion in asm/bitops.h" |
|
Patch 1: "[RFC,1/2] riscv: remove irqflags.h inclusion in asm/bitops.h" |
|
Patch 1: "[RFC,1/2] riscv: remove irqflags.h inclusion in asm/bitops.h" |
|
Patch 1: "[RFC,1/2] riscv: remove irqflags.h inclusion in asm/bitops.h" |
|
Patch 1: "[RFC,1/2] riscv: remove irqflags.h inclusion in asm/bitops.h" |
|
Patch 1: "[RFC,1/2] riscv: remove irqflags.h inclusion in asm/bitops.h" |
|
Patch 1: "[RFC,1/2] riscv: remove irqflags.h inclusion in asm/bitops.h" |
|
Patch 1: "[RFC,1/2] riscv: remove irqflags.h inclusion in asm/bitops.h" |
|
Patch 1: "[RFC,1/2] riscv: remove irqflags.h inclusion in asm/bitops.h" |
|
Patch 1: "[RFC,1/2] riscv: remove irqflags.h inclusion in asm/bitops.h" |
|
Patch 2: "[RFC,2/2] riscv: introduce percpu.h into include/asm" |
|
Patch 2: "[RFC,2/2] riscv: introduce percpu.h into include/asm" |
|
Patch 2: "[RFC,2/2] riscv: introduce percpu.h into include/asm" |
|
Patch 2: "[RFC,2/2] riscv: introduce percpu.h into include/asm" |
|
Patch 2: "[RFC,2/2] riscv: introduce percpu.h into include/asm" |
|
Patch 2: "[RFC,2/2] riscv: introduce percpu.h into include/asm" |
|
Patch 2: "[RFC,2/2] riscv: introduce percpu.h into include/asm" |
|
Patch 2: "[RFC,2/2] riscv: introduce percpu.h into include/asm" |
|
Patch 2: "[RFC,2/2] riscv: introduce percpu.h into include/asm" |
|
Patch 2: "[RFC,2/2] riscv: introduce percpu.h into include/asm" |
|
Patch 2: "[RFC,2/2] riscv: introduce percpu.h into include/asm" |
|
Patch 2: "[RFC,2/2] riscv: introduce percpu.h into include/asm" |
6ce2eef to
b5ded79
Compare
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