All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] arm64: Select POSIX_CPU_TIMERS_TASK_WORK
@ 2021-10-18 14:47 ` Nicolas Saenz Julienne
  0 siblings, 0 replies; 8+ messages in thread
From: Nicolas Saenz Julienne @ 2021-10-18 14:47 UTC (permalink / raw)
  To: catalin.marinas, will, tglx
  Cc: linux-arm-kernel, linux-kernel, Nicolas Saenz Julienne

With 6caa5812e2d1 ("KVM: arm64: Use generic KVM xfer to guest work
function") all arm64 exit paths are properly equipped to handle the
POSIX timers' task work.

Deferring timer callbacks to thread context, not only limits the amount
of time spent in hard interrupt context, but is a safer
implementation[1], and will allow PREEMPT_RT setups to use KVM[2].

So let's enable POSIX_CPU_TIMERS_TASK_WORK on arm64.

[1] https://lore.kernel.org/all/20200716201923.228696399@linutronix.de/
[2] https://www.spinics.net/lists/linux-rt-users/msg24860.html
Signed-off-by: Nicolas Saenz Julienne <nsaenzju@redhat.com>

---

This was tested by running all relevant kernel timer self-tests and
making sure KVM still works as expected.

 arch/arm64/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index 789036cf74f5..ce0d0d254542 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -191,6 +191,7 @@ config ARM64
 	select HAVE_PERF_REGS
 	select HAVE_PERF_USER_STACK_DUMP
 	select HAVE_REGS_AND_STACK_ACCESS_API
+	select HAVE_POSIX_CPU_TIMERS_TASK_WORK
 	select HAVE_FUNCTION_ARG_ACCESS_API
 	select HAVE_FUTEX_CMPXCHG if FUTEX
 	select MMU_GATHER_RCU_TABLE_FREE
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH] arm64: Select POSIX_CPU_TIMERS_TASK_WORK
@ 2021-10-18 14:47 ` Nicolas Saenz Julienne
  0 siblings, 0 replies; 8+ messages in thread
From: Nicolas Saenz Julienne @ 2021-10-18 14:47 UTC (permalink / raw)
  To: catalin.marinas, will, tglx
  Cc: linux-arm-kernel, linux-kernel, Nicolas Saenz Julienne

With 6caa5812e2d1 ("KVM: arm64: Use generic KVM xfer to guest work
function") all arm64 exit paths are properly equipped to handle the
POSIX timers' task work.

Deferring timer callbacks to thread context, not only limits the amount
of time spent in hard interrupt context, but is a safer
implementation[1], and will allow PREEMPT_RT setups to use KVM[2].

So let's enable POSIX_CPU_TIMERS_TASK_WORK on arm64.

[1] https://lore.kernel.org/all/20200716201923.228696399@linutronix.de/
[2] https://www.spinics.net/lists/linux-rt-users/msg24860.html
Signed-off-by: Nicolas Saenz Julienne <nsaenzju@redhat.com>

---

This was tested by running all relevant kernel timer self-tests and
making sure KVM still works as expected.

 arch/arm64/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index 789036cf74f5..ce0d0d254542 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -191,6 +191,7 @@ config ARM64
 	select HAVE_PERF_REGS
 	select HAVE_PERF_USER_STACK_DUMP
 	select HAVE_REGS_AND_STACK_ACCESS_API
+	select HAVE_POSIX_CPU_TIMERS_TASK_WORK
 	select HAVE_FUNCTION_ARG_ACCESS_API
 	select HAVE_FUTEX_CMPXCHG if FUTEX
 	select MMU_GATHER_RCU_TABLE_FREE
-- 
2.32.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH] arm64: Select POSIX_CPU_TIMERS_TASK_WORK
  2021-10-18 14:47 ` Nicolas Saenz Julienne
@ 2021-10-27 11:26   ` Mark Rutland
  -1 siblings, 0 replies; 8+ messages in thread
From: Mark Rutland @ 2021-10-27 11:26 UTC (permalink / raw)
  To: Nicolas Saenz Julienne
  Cc: catalin.marinas, will, tglx, linux-arm-kernel, linux-kernel, maz

[adding Marc Z to Cc, since this affects KVM]

On Mon, Oct 18, 2021 at 04:47:13PM +0200, Nicolas Saenz Julienne wrote:
> With 6caa5812e2d1 ("KVM: arm64: Use generic KVM xfer to guest work
> function") all arm64 exit paths are properly equipped to handle the
> POSIX timers' task work.
> 
> Deferring timer callbacks to thread context, not only limits the amount
> of time spent in hard interrupt context, but is a safer
> implementation[1], and will allow PREEMPT_RT setups to use KVM[2].
> 
> So let's enable POSIX_CPU_TIMERS_TASK_WORK on arm64.
> 
> [1] https://lore.kernel.org/all/20200716201923.228696399@linutronix.de/
> [2] https://www.spinics.net/lists/linux-rt-users/msg24860.html

Trivial nit: could we please make that second link:

  https://lore.kernel.org/linux-rt-users/87v92bdnlx.ffs@tglx/

> Signed-off-by: Nicolas Saenz Julienne <nsaenzju@redhat.com>

Regardless, this makes sense to me, and given you've tested it:

Acked-by: Mark Rutland <mark.rutland@arm.com>

Thanks,
Mark.

> 
> ---
> 
> This was tested by running all relevant kernel timer self-tests and
> making sure KVM still works as expected.
> 
>  arch/arm64/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index 789036cf74f5..ce0d0d254542 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -191,6 +191,7 @@ config ARM64
>  	select HAVE_PERF_REGS
>  	select HAVE_PERF_USER_STACK_DUMP
>  	select HAVE_REGS_AND_STACK_ACCESS_API
> +	select HAVE_POSIX_CPU_TIMERS_TASK_WORK
>  	select HAVE_FUNCTION_ARG_ACCESS_API
>  	select HAVE_FUTEX_CMPXCHG if FUTEX
>  	select MMU_GATHER_RCU_TABLE_FREE
> -- 
> 2.32.0
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] arm64: Select POSIX_CPU_TIMERS_TASK_WORK
@ 2021-10-27 11:26   ` Mark Rutland
  0 siblings, 0 replies; 8+ messages in thread
From: Mark Rutland @ 2021-10-27 11:26 UTC (permalink / raw)
  To: Nicolas Saenz Julienne
  Cc: catalin.marinas, will, tglx, linux-arm-kernel, linux-kernel, maz

[adding Marc Z to Cc, since this affects KVM]

On Mon, Oct 18, 2021 at 04:47:13PM +0200, Nicolas Saenz Julienne wrote:
> With 6caa5812e2d1 ("KVM: arm64: Use generic KVM xfer to guest work
> function") all arm64 exit paths are properly equipped to handle the
> POSIX timers' task work.
> 
> Deferring timer callbacks to thread context, not only limits the amount
> of time spent in hard interrupt context, but is a safer
> implementation[1], and will allow PREEMPT_RT setups to use KVM[2].
> 
> So let's enable POSIX_CPU_TIMERS_TASK_WORK on arm64.
> 
> [1] https://lore.kernel.org/all/20200716201923.228696399@linutronix.de/
> [2] https://www.spinics.net/lists/linux-rt-users/msg24860.html

Trivial nit: could we please make that second link:

  https://lore.kernel.org/linux-rt-users/87v92bdnlx.ffs@tglx/

> Signed-off-by: Nicolas Saenz Julienne <nsaenzju@redhat.com>

Regardless, this makes sense to me, and given you've tested it:

Acked-by: Mark Rutland <mark.rutland@arm.com>

Thanks,
Mark.

> 
> ---
> 
> This was tested by running all relevant kernel timer self-tests and
> making sure KVM still works as expected.
> 
>  arch/arm64/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index 789036cf74f5..ce0d0d254542 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -191,6 +191,7 @@ config ARM64
>  	select HAVE_PERF_REGS
>  	select HAVE_PERF_USER_STACK_DUMP
>  	select HAVE_REGS_AND_STACK_ACCESS_API
> +	select HAVE_POSIX_CPU_TIMERS_TASK_WORK
>  	select HAVE_FUNCTION_ARG_ACCESS_API
>  	select HAVE_FUTEX_CMPXCHG if FUTEX
>  	select MMU_GATHER_RCU_TABLE_FREE
> -- 
> 2.32.0
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] arm64: Select POSIX_CPU_TIMERS_TASK_WORK
  2021-10-27 11:26   ` Mark Rutland
@ 2021-10-27 12:20     ` Marc Zyngier
  -1 siblings, 0 replies; 8+ messages in thread
From: Marc Zyngier @ 2021-10-27 12:20 UTC (permalink / raw)
  To: Mark Rutland
  Cc: Nicolas Saenz Julienne, catalin.marinas, will, tglx,
	linux-arm-kernel, linux-kernel

On Wed, 27 Oct 2021 12:26:58 +0100,
Mark Rutland <mark.rutland@arm.com> wrote:
> 
> [adding Marc Z to Cc, since this affects KVM]
> 
> On Mon, Oct 18, 2021 at 04:47:13PM +0200, Nicolas Saenz Julienne wrote:
> > With 6caa5812e2d1 ("KVM: arm64: Use generic KVM xfer to guest work
> > function") all arm64 exit paths are properly equipped to handle the
> > POSIX timers' task work.
> > 
> > Deferring timer callbacks to thread context, not only limits the amount
> > of time spent in hard interrupt context, but is a safer
> > implementation[1], and will allow PREEMPT_RT setups to use KVM[2].
> > 
> > So let's enable POSIX_CPU_TIMERS_TASK_WORK on arm64.
> > 
> > [1] https://lore.kernel.org/all/20200716201923.228696399@linutronix.de/
> > [2] https://www.spinics.net/lists/linux-rt-users/msg24860.html
> 
> Trivial nit: could we please make that second link:
> 
>   https://lore.kernel.org/linux-rt-users/87v92bdnlx.ffs@tglx/
> 
> > Signed-off-by: Nicolas Saenz Julienne <nsaenzju@redhat.com>
> 
> Regardless, this makes sense to me, and given you've tested it:
> 
> Acked-by: Mark Rutland <mark.rutland@arm.com>
> 
> Thanks,
> Mark.
> 
> > 
> > ---
> > 
> > This was tested by running all relevant kernel timer self-tests and
> > making sure KVM still works as expected.
> > 
> >  arch/arm64/Kconfig | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> > index 789036cf74f5..ce0d0d254542 100644
> > --- a/arch/arm64/Kconfig
> > +++ b/arch/arm64/Kconfig
> > @@ -191,6 +191,7 @@ config ARM64
> >  	select HAVE_PERF_REGS
> >  	select HAVE_PERF_USER_STACK_DUMP
> >  	select HAVE_REGS_AND_STACK_ACCESS_API
> > +	select HAVE_POSIX_CPU_TIMERS_TASK_WORK
> >  	select HAVE_FUNCTION_ARG_ACCESS_API
> >  	select HAVE_FUTEX_CMPXCHG if FUTEX
> >  	select MMU_GATHER_RCU_TABLE_FREE

Looks reasonable to me.

Acked-by: Marc Zyngier <maz@kernel.org>

	M.

-- 
Without deviation from the norm, progress is not possible.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] arm64: Select POSIX_CPU_TIMERS_TASK_WORK
@ 2021-10-27 12:20     ` Marc Zyngier
  0 siblings, 0 replies; 8+ messages in thread
From: Marc Zyngier @ 2021-10-27 12:20 UTC (permalink / raw)
  To: Mark Rutland
  Cc: Nicolas Saenz Julienne, catalin.marinas, will, tglx,
	linux-arm-kernel, linux-kernel

On Wed, 27 Oct 2021 12:26:58 +0100,
Mark Rutland <mark.rutland@arm.com> wrote:
> 
> [adding Marc Z to Cc, since this affects KVM]
> 
> On Mon, Oct 18, 2021 at 04:47:13PM +0200, Nicolas Saenz Julienne wrote:
> > With 6caa5812e2d1 ("KVM: arm64: Use generic KVM xfer to guest work
> > function") all arm64 exit paths are properly equipped to handle the
> > POSIX timers' task work.
> > 
> > Deferring timer callbacks to thread context, not only limits the amount
> > of time spent in hard interrupt context, but is a safer
> > implementation[1], and will allow PREEMPT_RT setups to use KVM[2].
> > 
> > So let's enable POSIX_CPU_TIMERS_TASK_WORK on arm64.
> > 
> > [1] https://lore.kernel.org/all/20200716201923.228696399@linutronix.de/
> > [2] https://www.spinics.net/lists/linux-rt-users/msg24860.html
> 
> Trivial nit: could we please make that second link:
> 
>   https://lore.kernel.org/linux-rt-users/87v92bdnlx.ffs@tglx/
> 
> > Signed-off-by: Nicolas Saenz Julienne <nsaenzju@redhat.com>
> 
> Regardless, this makes sense to me, and given you've tested it:
> 
> Acked-by: Mark Rutland <mark.rutland@arm.com>
> 
> Thanks,
> Mark.
> 
> > 
> > ---
> > 
> > This was tested by running all relevant kernel timer self-tests and
> > making sure KVM still works as expected.
> > 
> >  arch/arm64/Kconfig | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> > index 789036cf74f5..ce0d0d254542 100644
> > --- a/arch/arm64/Kconfig
> > +++ b/arch/arm64/Kconfig
> > @@ -191,6 +191,7 @@ config ARM64
> >  	select HAVE_PERF_REGS
> >  	select HAVE_PERF_USER_STACK_DUMP
> >  	select HAVE_REGS_AND_STACK_ACCESS_API
> > +	select HAVE_POSIX_CPU_TIMERS_TASK_WORK
> >  	select HAVE_FUNCTION_ARG_ACCESS_API
> >  	select HAVE_FUTEX_CMPXCHG if FUTEX
> >  	select MMU_GATHER_RCU_TABLE_FREE

Looks reasonable to me.

Acked-by: Marc Zyngier <maz@kernel.org>

	M.

-- 
Without deviation from the norm, progress is not possible.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] arm64: Select POSIX_CPU_TIMERS_TASK_WORK
  2021-10-18 14:47 ` Nicolas Saenz Julienne
@ 2021-10-28  9:20   ` Will Deacon
  -1 siblings, 0 replies; 8+ messages in thread
From: Will Deacon @ 2021-10-28  9:20 UTC (permalink / raw)
  To: tglx, Nicolas Saenz Julienne, catalin.marinas
  Cc: kernel-team, Will Deacon, linux-arm-kernel, linux-kernel

On Mon, 18 Oct 2021 16:47:13 +0200, Nicolas Saenz Julienne wrote:
> With 6caa5812e2d1 ("KVM: arm64: Use generic KVM xfer to guest work
> function") all arm64 exit paths are properly equipped to handle the
> POSIX timers' task work.
> 
> Deferring timer callbacks to thread context, not only limits the amount
> of time spent in hard interrupt context, but is a safer
> implementation[1], and will allow PREEMPT_RT setups to use KVM[2].
> 
> [...]

Applied to arm64 (for-next/misc), thanks!

[1/1] arm64: Select POSIX_CPU_TIMERS_TASK_WORK
      https://git.kernel.org/arm64/c/a68773bd32d9

Cheers,
-- 
Will

https://fixes.arm64.dev
https://next.arm64.dev
https://will.arm64.dev

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] arm64: Select POSIX_CPU_TIMERS_TASK_WORK
@ 2021-10-28  9:20   ` Will Deacon
  0 siblings, 0 replies; 8+ messages in thread
From: Will Deacon @ 2021-10-28  9:20 UTC (permalink / raw)
  To: tglx, Nicolas Saenz Julienne, catalin.marinas
  Cc: kernel-team, Will Deacon, linux-arm-kernel, linux-kernel

On Mon, 18 Oct 2021 16:47:13 +0200, Nicolas Saenz Julienne wrote:
> With 6caa5812e2d1 ("KVM: arm64: Use generic KVM xfer to guest work
> function") all arm64 exit paths are properly equipped to handle the
> POSIX timers' task work.
> 
> Deferring timer callbacks to thread context, not only limits the amount
> of time spent in hard interrupt context, but is a safer
> implementation[1], and will allow PREEMPT_RT setups to use KVM[2].
> 
> [...]

Applied to arm64 (for-next/misc), thanks!

[1/1] arm64: Select POSIX_CPU_TIMERS_TASK_WORK
      https://git.kernel.org/arm64/c/a68773bd32d9

Cheers,
-- 
Will

https://fixes.arm64.dev
https://next.arm64.dev
https://will.arm64.dev

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2021-10-28  9:22 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-18 14:47 [PATCH] arm64: Select POSIX_CPU_TIMERS_TASK_WORK Nicolas Saenz Julienne
2021-10-18 14:47 ` Nicolas Saenz Julienne
2021-10-27 11:26 ` Mark Rutland
2021-10-27 11:26   ` Mark Rutland
2021-10-27 12:20   ` Marc Zyngier
2021-10-27 12:20     ` Marc Zyngier
2021-10-28  9:20 ` Will Deacon
2021-10-28  9:20   ` Will Deacon

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.