[Nouveau] Is Nouveau really using the io_reserve_lru?

Koenig, Christian Christian.Koenig at amd.com
Fri Sep 27 18:08:57 UTC 2019



Am 27.09.2019 20:07 schrieb Ilia Mirkin <imirkin at alum.mit.edu>:
On Thu, Sep 26, 2019 at 5:44 PM Ben Skeggs <skeggsb at gmail.com> wrote:
>
> On Tue, 24 Sep 2019 at 22:19, Christian König
> <ckoenig.leichtzumerken at gmail.com> wrote:
> >
> > Hi guys,
> >
> > while working through more old TTM functionality I stumbled over the
> > io_reserve_lru.
> >
> > Basic idea is that when this flag is set the driver->io_mem_reserve()
> > callback can return -EAGAIN resulting in unmapping of other BOs.
> >
> > But Nouveau doesn't seem to return -EAGAIN in the call path of
> > io_mem_reserve anywhere.
> I believe this is a bug in Nouveau.  We *should* be returning -EAGAIN
> if we fail to find space in BAR1 to map the BO into.

Could this lead to SIGBUS in userspace, esp related to resume and
similar situations?

Yes, I would say that's exactly what would happen.

Christian.

A user has been experiencing this in a
tricky-to-reproduce scenario with a ton of vram dedicated to
framebuffers and so on (3x 4K), and the nouveau ddx falls back to
memcpy in certain cases.

  -ilia

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20190927/6b653ac7/attachment.html>


More information about the dri-devel mailing list