RE: [PATCH v4 5/6] drm/gem-shmem: Track folio accessed/dirty status in mmap

Biju Das
2026-03-13T12:04:41Z

> -----Original Message-----
> From: dri-devel <dri-devel-bounces@lists.freedesktop.org> On Behalf Of Boris Brezillon
> Sent: 13 March 2026 11:57
> Subject: Re: [PATCH v4 5/6] drm/gem-shmem: Track folio accessed/dirty status in mmap
>
> On Fri, 13 Mar 2026 11:29:47 +0100
> Thomas Zimmermann <tzimmermann@suse.de> wrote:
>
> > Hi
> >
> > Am 13.03.26 um 11:18 schrieb Boris Brezillon:
> > [...]
> > >>>>> + if (drm_WARN_ON(obj->dev, !shmem->pages || page_offset >= num_pages))
> > >>>>> + return VM_FAULT_SIGBUS;
> > >>>>> +
> > >>>>> + file_update_time(vma->vm_file);
> > >>>>> +
> > >>>>> + folio_mark_dirty(page_folio(shmem->pages[page_offset]));
> > > Do we need a folio_mark_dirty_lock() here?
> >
> > There is a helper for that with some documentation. [1]
>
> This [1] seems to solve the problem for me. Still unsure about the folio_mark_dirty_lock vs
> folio_mark_dirty though.
>
> [1]https://yhbt.net/lore/dri-devel/20260312155027.1682606-1-pedrodemargomes@gmail.com/

FYI, I used folio_mark_dirty_lock() still it does not solve the issue with weston hang.

Cheers,
Biju