On Fri, Nov 15, 2019 at 11:18:28AM +0100, Daniel Vetter wrote: > On Fri, Nov 15, 2019 at 10:37 AM Gerd Hoffmann <kraxel@xxxxxxxxxx> wrote: > > > > > You need memory pressure, to force ttm to unmap the bo, not userspace. So > > > roughly > > > 1. create bo > > > 2. mmap it through drm fd, write some stuff > > > 3. export to dma-buf, mmap it, verify stuff is there > > > 4. create a pile more bo, mmap them write to them > > > 5. once you've thrashed all of vram enough, recheck your original bo. If > > > I'm right you should get the following: > > > - drm fd mmap still show right content > > > - dma-buf fd mmap shows random crap that you've written into other > > > buffers > > > > > > Ofc you need to make sure that an mmap actually forces the buffer into > > > vram. So might need a combo of modeset+mmap, to make that happen. Plain > > > mmap might just give you ptes that point into system memory, which is not > > > managed by ttm like vram. > > > > Is any move buffer good enough to trigger this, i.e. will SYSTEM -> VRAM > > work too? That'll be easier because all I need to do is map the buffer > > to a crtc to force pinning to vram, then check if the mappings are > > intact still ... > > I think that should work too. Seems to work ok for ttm/vram. Test code: https://git.kraxel.org/cgit/drminfo/commit/?id=a9eb96504dc17376e07b5c6edf5296b41a48bbfe > Just make sure you actually write > through SYSTEM first (maybe with some printk or whatever). That works fine. Sprinkled ... system("cat /sys/kernel/debug/dri/0/vram-mm"); ... into the test code, and drmModeSetCrtc() indeed makes the gem object show up there. cheers, Gerd _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel