[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20190802083859.0fb0f05e@x1.home>
Date: Fri, 2 Aug 2019 08:38:59 -0600
From: Alex Williamson <alex.williamson@...hat.com>
To: "kraxel@...hat.com" <kraxel@...hat.com>
Cc: "Zhang, Tina" <tina.zhang@...el.com>,
"Lu, Kechen" <kechen.lu@...el.com>,
"intel-gvt-dev@...ts.freedesktop.org"
<intel-gvt-dev@...ts.freedesktop.org>,
"kvm@...r.kernel.org" <kvm@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"zhenyuw@...ux.intel.com" <zhenyuw@...ux.intel.com>,
"Lv, Zhiyuan" <zhiyuan.lv@...el.com>,
"Wang, Zhi A" <zhi.a.wang@...el.com>,
"Tian, Kevin" <kevin.tian@...el.com>,
"Yuan, Hang" <hang.yuan@...el.com>
Subject: Re: [RFC PATCH v4 2/6] vfio: Introduce vGPU display irq type
On Fri, 2 Aug 2019 15:35:31 +0200
"kraxel@...hat.com" <kraxel@...hat.com> wrote:
> Hi,
>
> > > > 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,
>
> Well, the basic idea is to use the eventfd value to signal the kind of
> changes which did happen, simliar to IRQ status register bits.
>
> So, when the guest changes the primary plane, the mdev driver notes
> this. Same with the cursor plane. On vblank (when the guests update
> is actually applied) the mdev driver wakes the eventfd and uses eventfd
> value to signal whenever primary plane or cursor plane or both did
> change.
>
> Then userspace knows which planes need an update without an extra
> VFIO_DEVICE_QUERY_GFX_PLANE roundtrip to the kernel.
>
> Alternatively we could have one eventfd for each change type. But given
> that these changes are typically applied at the same time (vblank) we
> would have multiple eventfds being signaled at the same time. Which
> doesn't look ideal to me ...
Good point, looking at the bits in the eventfd value seems better than
a flood of concurrent interrupts. Thanks,
Alex
Powered by blists - more mailing lists