[PATCH] arm64: Support arch_irq_work_raise() via self IPIs
Will Deacon
will.deacon at arm.com
Tue May 6 05:30:20 PDT 2014
On Mon, May 05, 2014 at 09:48:27PM +0100, Larry Bassel wrote:
> Support for arch_irq_work_raise() was missing from
> arm64 (a prerequisite for FULL_NOHZ).
>
> This patch is based on the arm32 patch ARM 7872/1
> which ports cleanly.
>
> commit bf18525fd793101df42a1344ecc48b49b62e48c9
> Author: Stephen Boyd <sboyd at codeaurora.org>
> Date: Tue Oct 29 20:32:56 2013 +0100
>
> ARM: 7872/1: Support arch_irq_work_raise() via self IPIs
>
> By default, IRQ work is run from the tick interrupt (see
> irq_work_run() in update_process_times()). When we're in full
> NOHZ mode, restarting the tick requires the use of IRQ work and
> if the only place we run IRQ work is in the tick interrupt we
> have an unbreakable cycle. Implement arch_irq_work_raise() via
> self IPIs to break this cycle and get the tick started again.
> Note that we implement this via IPIs which are only available on
> SMP builds. This shouldn't be a problem because full NOHZ is only
> supported on SMP builds anyway.
>
> Signed-off-by: Stephen Boyd <sboyd at codeaurora.org>
> Reviewed-by: Kevin Hilman <khilman at linaro.org>
> Cc: Frederic Weisbecker <fweisbec at gmail.com>
> Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>
>
> Signed-off-by: Larry Bassel <larry.bassel at linaro.org>
> Reviewed-by: Kevin Hilman <khilman at linaro.org>
Looks fine to me, thanks.
Will
More information about the linux-arm-kernel
mailing list