Re: arm64: kvm + RT

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux