Re: [Intel-gfx] [PATCH v9 5/7] vfio: Define vfio based dma-buf operations

From: Alex Williamson
Date: Fri Jun 23 2017 - 12:40:57 EST


On Fri, 23 Jun 2017 10:31:28 +0200
Gerd Hoffmann <kraxel@xxxxxxxxxx> wrote:

> On Fri, 2017-06-23 at 15:49 +0800, Zhi Wang wrote:
> > Hi:
> > ÂÂÂÂÂThanks for the discussions! If the userspace application hasÂ
> > already maintained a LRU list, it looks like we don't need
> > generationÂ
> > anymore,
>
> generation isn't required, things are working just fine without that.
> It is just a small optimization, userspace can skip the LRU lookup
> altogether if the generation didn't change.
>
> But of couse that only pays off if the kernel doesn't has to put much
> effort into maintaining the generation id. Something simple like
> increasing it each time the guest writes a register which affects
> plane_info.

But it seems like that simple management algorithm pretty much
guarantees that the kernel will never revisit a generation and
therefore caching dmabuf fds is pointless. AIUI the optimization is to
allow userspace to 'at a glance' test one plane_info vs another. The
user could also do this with a memcmp of the plane_info structs if
that's its only purpose. A randomly incremented field within that
struct could actually be a hindrance to the user for such a
comparison. Are there cases where the plane_info struct is otherwise
identical where the user would need to get a new dmabuf fd anyway?
Thanks,

Alex