[PATCH Dovetail v2 2/2] arm64: irq_pipeline: Cleanup demotion check for el1
Florian Bezdeka <[email protected]>
| Newsgroups | dev.linux.lists.xenomai |
|---|---|
| Message-ID | <20260217-wip-flo-v6-19-dovetail-rebase-v2-2-45fc326a166a@siemens.com> |
While reviewing some of the low level pipeline code I realized that
the checks for task demotion are confusing on arm64.
el0: There is no demotion check as arm6_exit_to_user_mode() will
already do the right thing. No need to update that path.
el1: The demotion check was unnecessary and "inactive" as
user_mode(regs) is never true on el1, we are serving an IRQ over
kernel mode. Removing the check to avoid further confusion.
Signed-off-by: Florian Bezdeka <[email protected]>
---
arch/arm64/kernel/entry-common.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/arch/arm64/kernel/entry-common.c b/arch/arm64/kernel/entry-common.c
index 07fa70713ce04eaf3df9223354babcecde923280..2337987b7edd88d36703071ba0ac9880d043b5e5 100644
--- a/arch/arm64/kernel/entry-common.c
+++ b/arch/arm64/kernel/entry-common.c
@@ -90,10 +90,6 @@ static noinstr void arm64_pipeline_el1_irq(struct pt_regs *regs,
prevd = handle_irq_pipelined_prepare(regs);
do_interrupt_handler(regs, handler);
handle_irq_pipelined_finish(prevd, regs);
- if (running_inband() && user_mode(regs)) {
- stall_inband_nocheck();
- irqentry_exit_to_user_mode(regs);
- }
instrumentation_end();
mte_check_tfsr_exit();
return;
--
2.53.0