1

s390/irq: Set CIF_NOHZ_DELAY in do_io_irq()

Both do_airq_interrupt() and do_io_interrupt() set
CIF_NOHZ_DELAY. Move it to do_io_irq() to simplify
the code.

Reviewed-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Sven Schnelle <svens@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
This commit is contained in:
Sven Schnelle 2024-05-08 11:17:16 +02:00 committed by Alexander Gordeev
parent f2ebdadd85
commit 1084562ec8
3 changed files with 1 additions and 2 deletions

View File

@ -150,6 +150,7 @@ void noinstr do_io_irq(struct pt_regs *regs)
if (from_idle) if (from_idle)
account_idle_time_irq(); account_idle_time_irq();
set_cpu_flag(CIF_NOHZ_DELAY);
do { do {
regs->tpi_info = S390_lowcore.tpi_info; regs->tpi_info = S390_lowcore.tpi_info;
if (S390_lowcore.tpi_info.adapter_IO) if (S390_lowcore.tpi_info.adapter_IO)

View File

@ -90,7 +90,6 @@ static irqreturn_t do_airq_interrupt(int irq, void *dummy)
struct airq_struct *airq; struct airq_struct *airq;
struct hlist_head *head; struct hlist_head *head;
set_cpu_flag(CIF_NOHZ_DELAY);
tpi_info = &get_irq_regs()->tpi_info; tpi_info = &get_irq_regs()->tpi_info;
trace_s390_cio_adapter_int(tpi_info); trace_s390_cio_adapter_int(tpi_info);
head = &airq_lists[tpi_info->isc]; head = &airq_lists[tpi_info->isc];

View File

@ -535,7 +535,6 @@ static irqreturn_t do_cio_interrupt(int irq, void *dummy)
struct subchannel *sch; struct subchannel *sch;
struct irb *irb; struct irb *irb;
set_cpu_flag(CIF_NOHZ_DELAY);
tpi_info = &get_irq_regs()->tpi_info; tpi_info = &get_irq_regs()->tpi_info;
trace_s390_cio_interrupt(tpi_info); trace_s390_cio_interrupt(tpi_info);
irb = this_cpu_ptr(&cio_irb); irb = this_cpu_ptr(&cio_irb);