Re: [PATCH v2 1/2] drm/file: Rehabilitate the firstopen hook for non-legacy drivers

From: Paul Kocialkowski
Date: Fri Mar 29 2019 - 16:21:45 EST


Hi,

On Fri, 2019-03-29 at 18:42 +0000, Daniel Stone wrote:
> Hi,
>
> On Fri, 29 Mar 2019 at 18:14, Eric Anholt <eric@xxxxxxxxxx> wrote:
> > Paul Kocialkowski <paul.kocialkowski@xxxxxxxxxxx> writes:
> > > I'm not totally convinced that it's okay to have a delay outside of
> > > init/enumeration, even if it's a smaller delay.
> >
> > You'll have non-dumb buffers created during GL context creation, so
> > early in xserver or other KMS-and-GL-using application init anyway.
> > Seems like a perfectly fine plan to me.
>
> Yeah. The alternative is doing it once when Plymouth starts, and then
> maybe again when Weston/GNOME/Xorg/... starts, which isn't really
> ideal (or maybe even udev helpers). Doing it on probe also complicates
> profiling startup for those: if GL context or surface creation takes a
> long time, that's easy to reason about. If opening an FD takes ages,
> that makes figuring out why stuff is slow a lot more complicated. This
> used to happen with RPM resume for PCI devices to read the device ID &
> revision, which is why we now have an API that persists that to avoid
> the delay.

Sounds like we have a plan then, I'll spin up a new series allocating
the binner BO at the first non-dumb BO alloc. Thanks for your input!

> Sorry this feedback is coming quite late into development.

The feedback is definitely quite welcome! I tried a few things that
didn't pan out before using firstopen/lastclose and it's really
interesting to refine the implementation based on the shortcomings of
previous ideas.

Cheers,

Paul

--
Paul Kocialkowski, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com