Re: [PATCH] arm64: Support arch_irq_work_raise() via self IPIs

From: Will Deacon
Date: Tue May 06 2014 - 08:30:59 EST


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@xxxxxxxxxxxxxx>
> 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@xxxxxxxxxxxxxx>
> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx>
> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
>
> Signed-off-by: Larry Bassel <larry.bassel@xxxxxxxxxx>
> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx>

Looks fine to me, thanks.

Will
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/