linux-rt-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* arm64: kvm + RT
@ 2021-10-04 17:54 Jan Kiszka
  2021-10-05  9:52 ` Thomas Gleixner
  0 siblings, 1 reply; 5+ messages in thread
From: Jan Kiszka @ 2021-10-04 17:54 UTC (permalink / raw)
  To: RT

Hi all,

what's the state of getting kvm working (again?) along RT? Seems
HAVE_POSIX_CPU_TIMERS_TASK_WORK is in conflict with KVM but a
precondition for RT on recent kernels. What's the story behind that?

Thanks,
Jan

-- 
Siemens AG, T RDA IOT
Corporate Competence Center Embedded Linux

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

* Re: arm64: kvm + RT
  2021-10-04 17:54 arm64: kvm + RT Jan Kiszka
@ 2021-10-05  9:52 ` Thomas Gleixner
  2021-10-05 10:01   ` Jan Kiszka
  2021-10-05 10:54   ` Mark Rutland
  0 siblings, 2 replies; 5+ messages in thread
From: Thomas Gleixner @ 2021-10-05  9:52 UTC (permalink / raw)
  To: Jan Kiszka, RT

Jan,

On Mon, Oct 04 2021 at 19:54, Jan Kiszka wrote:
> what's the state of getting kvm working (again?) along RT? Seems
> HAVE_POSIX_CPU_TIMERS_TASK_WORK is in conflict with KVM but a
> precondition for RT on recent kernels. What's the story behind that?

the ARM64 KVM implementation is incorrect vs. TIF handling before
VMENTER which breaks the posix cpu timers task work assumptions and also
violates a few other expectations. AFAICT the arm64 folks are working on
that, but you have to ask them directly what the state of this is.

Thanks,

        tglx


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

* Re: arm64: kvm + RT
  2021-10-05  9:52 ` Thomas Gleixner
@ 2021-10-05 10:01   ` Jan Kiszka
  2021-10-05 10:54   ` Mark Rutland
  1 sibling, 0 replies; 5+ messages in thread
From: Jan Kiszka @ 2021-10-05 10:01 UTC (permalink / raw)
  To: Marc Zyngier; +Cc: Thomas Gleixner, RT, linux-arm-kernel

On 05.10.21 11:52, Thomas Gleixner wrote:
> Jan,
> 
> On Mon, Oct 04 2021 at 19:54, Jan Kiszka wrote:
>> what's the state of getting kvm working (again?) along RT? Seems
>> HAVE_POSIX_CPU_TIMERS_TASK_WORK is in conflict with KVM but a
>> precondition for RT on recent kernels. What's the story behind that?
> 
> the ARM64 KVM implementation is incorrect vs. TIF handling before
> VMENTER which breaks the posix cpu timers task work assumptions and also
> violates a few other expectations. AFAICT the arm64 folks are working on
> that, but you have to ask them directly what the state of this is.
> 

Thanks, then let's try this: Marc, what is the status of this?

Jan

-- 
Siemens AG, T RDA IOT
Corporate Competence Center Embedded Linux

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

* Re: arm64: kvm + RT
  2021-10-05  9:52 ` Thomas Gleixner
  2021-10-05 10:01   ` Jan Kiszka
@ 2021-10-05 10:54   ` Mark Rutland
  2021-10-06  0:05     ` Thomas Gleixner
  1 sibling, 1 reply; 5+ messages in thread
From: Mark Rutland @ 2021-10-05 10:54 UTC (permalink / raw)
  To: Thomas Gleixner; +Cc: Jan Kiszka, RT, maz

On Tue, Oct 05, 2021 at 11:52:52AM +0200, Thomas Gleixner wrote:
> Jan,
> 
> On Mon, Oct 04 2021 at 19:54, Jan Kiszka wrote:
> > what's the state of getting kvm working (again?) along RT? Seems
> > HAVE_POSIX_CPU_TIMERS_TASK_WORK is in conflict with KVM but a
> > precondition for RT on recent kernels. What's the story behind that?
> 
> the ARM64 KVM implementation is incorrect vs. TIF handling before
> VMENTER which breaks the posix cpu timers task work assumptions and also
> violates a few other expectations. AFAICT the arm64 folks are working on
> that, but you have to ask them directly what the state of this is.

I think that was dealt with as of mainline commits:

* e1c6b9e1669e44fb ("entry: KVM: Allow use of generic KVM entry w/o full generic support")
  https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e1c6b9e1669e44fb7f9688e34e460b759e3b9187

* 6caa5812e2d126a0 ("KVM: arm64: Use generic KVM xfer to guest work function")
  https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6caa5812e2d126a0aa8a17816c1ba6f0a0c2b309

... unless I'm missing something.

Mark.

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

* Re: arm64: kvm + RT
  2021-10-05 10:54   ` Mark Rutland
@ 2021-10-06  0:05     ` Thomas Gleixner
  0 siblings, 0 replies; 5+ messages in thread
From: Thomas Gleixner @ 2021-10-06  0:05 UTC (permalink / raw)
  To: Mark Rutland; +Cc: Jan Kiszka, RT, maz

On Tue, Oct 05 2021 at 11:54, Mark Rutland wrote:
> On Tue, Oct 05, 2021 at 11:52:52AM +0200, Thomas Gleixner wrote:
>> Jan,
>> 
>> On Mon, Oct 04 2021 at 19:54, Jan Kiszka wrote:
>> > what's the state of getting kvm working (again?) along RT? Seems
>> > HAVE_POSIX_CPU_TIMERS_TASK_WORK is in conflict with KVM but a
>> > precondition for RT on recent kernels. What's the story behind that?
>> 
>> the ARM64 KVM implementation is incorrect vs. TIF handling before
>> VMENTER which breaks the posix cpu timers task work assumptions and also
>> violates a few other expectations. AFAICT the arm64 folks are working on
>> that, but you have to ask them directly what the state of this is.
>
> I think that was dealt with as of mainline commits:
>
> * e1c6b9e1669e44fb ("entry: KVM: Allow use of generic KVM entry w/o full generic support")
>   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e1c6b9e1669e44fb7f9688e34e460b759e3b9187
>
> * 6caa5812e2d126a0 ("KVM: arm64: Use generic KVM xfer to guest work function")
>   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6caa5812e2d126a0aa8a17816c1ba6f0a0c2b309
>
> ... unless I'm missing something.

Just a minor detail:

$ cd linus
$ git grep HAVE_POSIX_CPU_TIMERS_TASK_WORK
arch/x86/Kconfig:       select HAVE_POSIX_CPU_TIMERS_TASK_WORK
kernel/time/Kconfig:config HAVE_POSIX_CPU_TIMERS_TASK_WORK
kernel/time/Kconfig:    default y if POSIX_TIMERS && HAVE_POSIX_CPU_TIMERS_TASK_WORK

$cd rt
$ git grep HAVE_POSIX_CPU_TIMERS_TASK_WORK
arch/arm/Kconfig:       select ARCH_SUPPORTS_RT if HAVE_POSIX_CPU_TIMERS_TASK_WORK
arch/arm/Kconfig:       select HAVE_POSIX_CPU_TIMERS_TASK_WORK if !KVM
arch/arm64/Kconfig:     select ARCH_SUPPORTS_RT if HAVE_POSIX_CPU_TIMERS_TASK_WORK
arch/arm64/Kconfig:     select HAVE_POSIX_CPU_TIMERS_TASK_WORK if !KVM
arch/powerpc/Kconfig:   select ARCH_SUPPORTS_RT                 if HAVE_POSIX_CPU_TIMERS_TASK_WORK
arch/powerpc/Kconfig:   select HAVE_POSIX_CPU_TIMERS_TASK_WORK  if !KVM
arch/x86/Kconfig:       select HAVE_POSIX_CPU_TIMERS_TASK_WORK

Which is simply because arm64 does not yet have:

arch/arm64/Kconfig:     select HAVE_POSIX_CPU_TIMERS_TASK_WORK

set in mainline to indicate that it does support it unconditionally
including in KVM.

See?

Thanks,

        tglx

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

end of thread, other threads:[~2021-10-06  0:05 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-04 17:54 arm64: kvm + RT Jan Kiszka
2021-10-05  9:52 ` Thomas Gleixner
2021-10-05 10:01   ` Jan Kiszka
2021-10-05 10:54   ` Mark Rutland
2021-10-06  0:05     ` Thomas Gleixner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).