Re: [PATCH v2 2/3] riscv: vector: allow non-preemptible kernel-mode vector with IRQs off
Sebastian Andrzej Siewior <[email protected]> Fri, 17 Jul 2026 09:03:50 +0200
| Newsgroups | org.infradead.lists.kvm-riscv,dev.linux.lists.linux-rt-devel,org.infradead.lists.linux-riscv |
|---|---|
| Message-ID | <[email protected]> |
On 2026-07-15 00:16:21 [-0500], Andy Chiu wrote:
> diff --git a/arch/riscv/kernel/kernel_mode_vector.c b/arch/riscv/kernel/kernel_mode_vector.c
> index 307ac369c3d4..6627e1a82e19 100644
> --- a/arch/riscv/kernel/kernel_mode_vector.c
> +++ b/arch/riscv/kernel/kernel_mode_vector.c
> @@ -55,13 +55,16 @@ void get_cpu_vector_context(void)
> * disable softirqs so it is impossible for softirqs to nest
> * get_cpu_vector_context() when kernel is actively using Vector.
> */
> - if (!IS_ENABLED(CONFIG_PREEMPT_RT))
> - local_bh_disable();
> - else
> + if (!IS_ENABLED(CONFIG_PREEMPT_RT)) {
> + if (!irqs_disabled())
> + local_bh_disable();
> + } else {
> preempt_disable();
> + }
>
> riscv_v_start(RISCV_KERNEL_MODE_V);
> }
> +EXPORT_SYMBOL_GPL(get_cpu_vector_context);
EXPORT_SYMBOL_FOR_KVM ?
Sebastian
--
kvm-riscv mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kvm-riscv