> -----Original Message----- > From: Alex Williamson [mailto:alex.williamson@xxxxxxxxxx] > Sent: Tuesday, July 23, 2019 9:19 AM > To: Zhang, Tina <tina.zhang@xxxxxxxxx> > Cc: Lu, Kechen <kechen.lu@xxxxxxxxx>; intel-gvt-dev@xxxxxxxxxxxxxxxxxxxxx; > kvm@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; kraxel@xxxxxxxxxx; > zhenyuw@xxxxxxxxxxxxxxx; Lv, Zhiyuan <zhiyuan.lv@xxxxxxxxx>; Wang, Zhi A > <zhi.a.wang@xxxxxxxxx>; Tian, Kevin <kevin.tian@xxxxxxxxx>; Yuan, Hang > <hang.yuan@xxxxxxxxx> > Subject: Re: [RFC PATCH v4 2/6] vfio: Introduce vGPU display irq type > > On Tue, 23 Jul 2019 01:08:19 +0000 > "Zhang, Tina" <tina.zhang@xxxxxxxxx> wrote: > > > > -----Original Message----- > > > From: Alex Williamson [mailto:alex.williamson@xxxxxxxxxx] > > > Sent: Tuesday, July 23, 2019 3:41 AM > > > To: Lu, Kechen <kechen.lu@xxxxxxxxx> > > > Cc: intel-gvt-dev@xxxxxxxxxxxxxxxxxxxxx; kvm@xxxxxxxxxxxxxxx; linux- > > > kernel@xxxxxxxxxxxxxxx; Zhang, Tina <tina.zhang@xxxxxxxxx>; > > > kraxel@xxxxxxxxxx; zhenyuw@xxxxxxxxxxxxxxx; Lv, Zhiyuan > > > <zhiyuan.lv@xxxxxxxxx>; Wang, Zhi A <zhi.a.wang@xxxxxxxxx>; Tian, > > > Kevin <kevin.tian@xxxxxxxxx>; Yuan, Hang <hang.yuan@xxxxxxxxx> > > > Subject: Re: [RFC PATCH v4 2/6] vfio: Introduce vGPU display irq > > > type > > > > > > On Mon, 22 Jul 2019 05:28:35 +0000 > > > "Lu, Kechen" <kechen.lu@xxxxxxxxx> wrote: > > > > > > > Hi, > > > > > > > > > -----Original Message----- > > > > > From: Alex Williamson [mailto:alex.williamson@xxxxxxxxxx] > > > > > Sent: Saturday, July 20, 2019 12:25 AM > > > > > To: Lu, Kechen <kechen.lu@xxxxxxxxx> > > > > > Cc: intel-gvt-dev@xxxxxxxxxxxxxxxxxxxxx; kvm@xxxxxxxxxxxxxxx; > > > > > linux- kernel@xxxxxxxxxxxxxxx; Zhang, Tina > > > > > <tina.zhang@xxxxxxxxx>; kraxel@xxxxxxxxxx; > > > > > zhenyuw@xxxxxxxxxxxxxxx; Lv, Zhiyuan <zhiyuan.lv@xxxxxxxxx>; > > > > > Wang, Zhi A <zhi.a.wang@xxxxxxxxx>; Tian, Kevin > > > > > <kevin.tian@xxxxxxxxx>; Yuan, Hang <hang.yuan@xxxxxxxxx> > > > > > Subject: Re: [RFC PATCH v4 2/6] vfio: Introduce vGPU display irq > > > > > type > > > > > > > > > > On Thu, 18 Jul 2019 23:56:36 +0800 Kechen Lu > > > > > <kechen.lu@xxxxxxxxx> wrote: > > > > > > > > > > > From: Tina Zhang <tina.zhang@xxxxxxxxx> > > > > > > > > > > > > Introduce vGPU specific irq type VFIO_IRQ_TYPE_GFX, and > > > > > > VFIO_IRQ_SUBTYPE_GFX_DISPLAY_IRQ as the subtype for vGPU > > > > > > display > > > > > > > > > > > > Signed-off-by: Tina Zhang <tina.zhang@xxxxxxxxx> > > > > > > --- > > > > > > include/uapi/linux/vfio.h | 3 +++ > > > > > > 1 file changed, 3 insertions(+) > > > > > > > > > > > > diff --git a/include/uapi/linux/vfio.h > > > > > > b/include/uapi/linux/vfio.h index be6adab4f759..df28b17a6e2e > > > > > > 100644 > > > > > > --- a/include/uapi/linux/vfio.h > > > > > > +++ b/include/uapi/linux/vfio.h > > > > > > @@ -469,6 +469,9 @@ struct vfio_irq_info_cap_type { > > > > > > __u32 subtype; /* type specific */ }; > > > > > > > > > > > > +#define VFIO_IRQ_TYPE_GFX (1) > > > > > > +#define VFIO_IRQ_SUBTYPE_GFX_DISPLAY_IRQ (1) > > > > > > + > > > > > > > > > > Please include a description defining exactly what this IRQ is > > > > > intended to > > > signal. > > > > > For instance, if another vGPU vendor wanted to implement this in > > > > > their driver and didn't have the QEMU code for reference to what > > > > > it does with the IRQ, what would they need to know? Thanks, > > > > > > > > > > Alex > > > > > > > > > > > > > Yes, that makes more sense. I'll add the description for it at > > > > next version > > > patch. > > > > > > > > BTW, may I have one more question? In the current design ideas, we > > > > partitioned the vGPU display eventfd counted 8-byte value into at > > > > most > > > > 8 events to deliver multiple display events, so we need different > > > > increasement counter value to differentiate the events. As this is > > > > the exposed thing the QEMU has to know, we plan adds a macro here > > > > VFIO_IRQ_SUBTYPE_GFX_DISPLAY_EVENTFD_BASE_SHIFT to make sure > > > the > > > > partitions shift in 1 byte, does it make sense putting here? > > > > Looking forward > > > to your and Gerd's comments. Thanks! > > > > > > Couldn't you expose this as another capability within the IRQ_INFO > > > return data? If you were to define it as a macro, I assume that > > > means it would be hard coded, in which case this probably becomes an > > > Intel specific IRQ, rather than what appears to be framed as a > > > generic graphics IRQ extension. A new capability could instead > > > allow the vendor to specify their own value, where we could define how > userspace should interpret and make use of this value. > > > Thanks, > > Good suggestion. Currently, vfio_irq_info is used to save one irq > > info. What we need here is to use it to save several events info. > > Maybe we could figure out a general layout of this capability so that > > it can be leveraged by others, not only for display irq/events. > > You could also expose a device specific IRQ with count > 1 (ie. similar to > MSI/X) and avoid munging the eventfd value, which is not something we do > elsewhere, at least in vfio. Thanks, Actually, we had this implementation before. At that time, we got the suggestion that count > 1 means more than one eventfd which might be not necessary. Anyway, we can consider the "count > 1" again if anyone is agree on this. Thanks BR, Tina > > Alex