Re: [PATCH v5 00/23] irqchip/gic-v4: GICv4.1 architecture support

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

 



Hi Marc,

On 2020/3/5 4:33, Marc Zyngier wrote:
This (now shorter) series expands the existing GICv4 support to deal
with the new GICv4.1 architecture, which comes with a set of major
improvements compared to v4.0:

- One architectural doorbell per vcpu, instead of one doorbell per VLPI

- Doorbell entirely managed by the HW, with an "at most once" delivery
   guarantee per non-residency phase and only when requested by the
   hypervisor

- A shared memory scheme between ITSs and redistributors, allowing for an
   optimised residency sequence (the use of VMOVP becomes less frequent)

- Support for direct virtual SGI delivery (the injection path still involves
   the hypervisor), at the cost of losing the active state on SGIs. It
   shouldn't be a big deal, but some guest operating systems might notice
   (Linux definitely won't care).

On the other hand, public documentation is not available yet, so that's a
bit annoying...

The series is roughly organised in 3 parts:

(0) Fixes
(1) v4.1 doorbell management
(2) Virtual SGI support
(3) Plumbing of virtual SGIs in KVM

Notes:

   - The whole thing is tested on a FVP model, which can be obtained
     free of charge on ARM's developer website. It requires you to
     create an account, unfortunately... You'll need a fix for the
     devicetree that is in the kernel tree (should be merged before
     the 5.6 release).

   - This series has uncovered a behaviour that looks like a HW bug on
     the Cavium ThunderX (aka TX1) platform. I'd very much welcome some
     clarification from the Marvell/Cavium folks on Cc, as well as an
     official erratum number if this happens to be an actual bug.

     [v3 update]
     People have ignored for two months now, and it is fairly obvious
     that support for this machine is slowly bit-rotting. Maybe I'll
     drop the patch and instead start the process of removing all TX1
     support from the kernel (we'd certainly be better off without it).

     [v4 update]
     TX1 is now broken in mainline, and nobody cares. Make of this what
     you want.

   - I'm extremely grateful for Zenghui Yu's huge effort in carefully
     reviewing this rather difficult series (if we ever get to meet
     face to face, drinks are definitely on me!).

It's a pleasure to review this work and it's pretty useful for
understanding how Linux works as a GICv4.1-capable hypervisor.
Yay, cheers ;-)!

I'll go through the v4.1 spec one more time before the final
review of this series, as we still have plenty of time to do
some reviews (and even some tests) before the 5.7 MW.


   - Unless someone cries wolf, I plan to take this into 5.7.

Good news!


Thanks,
Zenghui




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux