Koenig, Christian
2019-Sep-27 18:08 UTC
[Nouveau] Is Nouveau really using the io_reserve_lru?
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/nouveau/attachments/20190927/6b653ac7/attachment.html>
Apparently Analagous Threads
- Is Nouveau really using the io_reserve_lru?
- Is Nouveau really using the io_reserve_lru?
- [PATCH 3/3] drm/ttm: remove io_reserve_lru handling v2
- [PATCH 1/2] drm/nouveau: move io_reserve_lru handling into the driver v2
- [PATCH 1/2] drm/nouveau: move io_reserve_lru handling into the driver v2