From: Julien Thierry <julien.thierry@arm.com> To: Valentin Schneider <valentin.schneider@arm.com>, linux-kernel@vger.kernel.org Cc: Will Deacon <will.deacon@arm.com>, Catalin Marinas <catalin.marinas@arm.com>, Mark Rutland <mark.rutland@arm.com>, Marc Zyngier <marc.zyngier@arm.com>, Julien Grall <julien.grall@arm.com>, Thomas Gleixner <tglx@linutronix.de>, linux-arm-kernel@lists.infradead.org Subject: Re: [RFC PATCH 1/3] arm64: entry: Remove unneeded need_resched() loop Date: Fri, 1 Feb 2019 08:46:23 +0000 [thread overview] Message-ID: <d7b5db35-0906-4ac2-d51e-905790020eaf@arm.com> (raw) In-Reply-To: <20190131182339.9835-2-valentin.schneider@arm.com> Hi Valentin, On 31/01/2019 18:23, Valentin Schneider wrote: > Since the enabling and disabling of IRQs within preempt_schedule_irq() > is contained in a need_resched() loop, we don't need the outer arch > code loop. > > Reported-by: Julien Thierry <julien.thierry@arm.com> > Reported-by: Will Deacon <will.deacon@arm.com> > Signed-off-by: Valentin Schneider <valentin.schneider@arm.com> > Cc: Catalin Marinas <catalin.marinas@arm.com> > Cc: Will Deacon <will.deacon@arm.com> > Cc: Mark Rutland <mark.rutland@arm.com> > Cc: Marc Zyngier <marc.zyngier@arm.com> > Cc: Julien Grall <julien.grall@arm.com> > Cc: Julien Thierry <julien.thierry@arm.com> > Cc: Thomas Gleixner <tglx@linutronix.de> > Cc: linux-arm-kernel@lists.infradead.org Reviewed-by: Julien Thierry <julien.thierry@arm.com> > --- > arch/arm64/kernel/entry.S | 11 +---------- > 1 file changed, 1 insertion(+), 10 deletions(-) > > diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S > index 0ec0c46b2c0c..4d0c81f29a60 100644 > --- a/arch/arm64/kernel/entry.S > +++ b/arch/arm64/kernel/entry.S > @@ -611,7 +611,7 @@ el1_irq: > #ifdef CONFIG_PREEMPT > ldr x24, [tsk, #TSK_TI_PREEMPT] // get preempt count > cbnz x24, 1f // preempt count != 0 > - bl el1_preempt > + bl preempt_schedule_irq // irq en/disable is done inside > 1: > #endif > #ifdef CONFIG_TRACE_IRQFLAGS > @@ -620,15 +620,6 @@ el1_irq: > kernel_exit 1 > ENDPROC(el1_irq) > > -#ifdef CONFIG_PREEMPT > -el1_preempt: > - mov x24, lr > -1: bl preempt_schedule_irq // irq en/disable is done inside > - ldr x0, [tsk, #TSK_TI_FLAGS] // get new tasks TI_FLAGS > - tbnz x0, #TIF_NEED_RESCHED, 1b // needs rescheduling? > - ret x24 > -#endif > - > /* > * EL0 mode handlers. > */ > -- Julien Thierry
WARNING: multiple messages have this Message-ID (diff)
From: Julien Thierry <julien.thierry@arm.com> To: Valentin Schneider <valentin.schneider@arm.com>, linux-kernel@vger.kernel.org Cc: Mark Rutland <mark.rutland@arm.com>, Marc Zyngier <marc.zyngier@arm.com>, Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will.deacon@arm.com>, Julien Grall <julien.grall@arm.com>, Thomas Gleixner <tglx@linutronix.de>, linux-arm-kernel@lists.infradead.org Subject: Re: [RFC PATCH 1/3] arm64: entry: Remove unneeded need_resched() loop Date: Fri, 1 Feb 2019 08:46:23 +0000 [thread overview] Message-ID: <d7b5db35-0906-4ac2-d51e-905790020eaf@arm.com> (raw) In-Reply-To: <20190131182339.9835-2-valentin.schneider@arm.com> Hi Valentin, On 31/01/2019 18:23, Valentin Schneider wrote: > Since the enabling and disabling of IRQs within preempt_schedule_irq() > is contained in a need_resched() loop, we don't need the outer arch > code loop. > > Reported-by: Julien Thierry <julien.thierry@arm.com> > Reported-by: Will Deacon <will.deacon@arm.com> > Signed-off-by: Valentin Schneider <valentin.schneider@arm.com> > Cc: Catalin Marinas <catalin.marinas@arm.com> > Cc: Will Deacon <will.deacon@arm.com> > Cc: Mark Rutland <mark.rutland@arm.com> > Cc: Marc Zyngier <marc.zyngier@arm.com> > Cc: Julien Grall <julien.grall@arm.com> > Cc: Julien Thierry <julien.thierry@arm.com> > Cc: Thomas Gleixner <tglx@linutronix.de> > Cc: linux-arm-kernel@lists.infradead.org Reviewed-by: Julien Thierry <julien.thierry@arm.com> > --- > arch/arm64/kernel/entry.S | 11 +---------- > 1 file changed, 1 insertion(+), 10 deletions(-) > > diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S > index 0ec0c46b2c0c..4d0c81f29a60 100644 > --- a/arch/arm64/kernel/entry.S > +++ b/arch/arm64/kernel/entry.S > @@ -611,7 +611,7 @@ el1_irq: > #ifdef CONFIG_PREEMPT > ldr x24, [tsk, #TSK_TI_PREEMPT] // get preempt count > cbnz x24, 1f // preempt count != 0 > - bl el1_preempt > + bl preempt_schedule_irq // irq en/disable is done inside > 1: > #endif > #ifdef CONFIG_TRACE_IRQFLAGS > @@ -620,15 +620,6 @@ el1_irq: > kernel_exit 1 > ENDPROC(el1_irq) > > -#ifdef CONFIG_PREEMPT > -el1_preempt: > - mov x24, lr > -1: bl preempt_schedule_irq // irq en/disable is done inside > - ldr x0, [tsk, #TSK_TI_FLAGS] // get new tasks TI_FLAGS > - tbnz x0, #TIF_NEED_RESCHED, 1b // needs rescheduling? > - ret x24 > -#endif > - > /* > * EL0 mode handlers. > */ > -- Julien Thierry _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2019-02-01 8:46 UTC|newest] Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-01-31 18:23 [RFC PATCH 0/3] arm/arm64: entry: Remove need_resched() loop Valentin Schneider 2019-01-31 18:23 ` Valentin Schneider 2019-01-31 18:23 ` [RFC PATCH 1/3] arm64: entry: Remove unneeded " Valentin Schneider 2019-01-31 18:23 ` Valentin Schneider 2019-02-01 8:46 ` Julien Thierry [this message] 2019-02-01 8:46 ` Julien Thierry 2019-02-01 10:21 ` Will Deacon 2019-02-01 10:21 ` Will Deacon 2019-02-04 16:55 ` Catalin Marinas 2019-02-04 16:55 ` Catalin Marinas 2019-01-31 18:23 ` [RFC PATCH 2/3] ARM: " Valentin Schneider 2019-01-31 18:23 ` Valentin Schneider 2019-02-01 8:49 ` Julien Thierry 2019-02-01 8:49 ` Julien Thierry 2019-01-31 18:23 ` [RFC PATCH 3/3] sched/Documentation: Point out use of preempt_schedule_irq() Valentin Schneider 2019-02-01 8:45 ` Julien Thierry 2019-02-01 10:27 ` Valentin Schneider
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=d7b5db35-0906-4ac2-d51e-905790020eaf@arm.com \ --to=julien.thierry@arm.com \ --cc=catalin.marinas@arm.com \ --cc=julien.grall@arm.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=marc.zyngier@arm.com \ --cc=mark.rutland@arm.com \ --cc=tglx@linutronix.de \ --cc=valentin.schneider@arm.com \ --cc=will.deacon@arm.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.