Re: [RFC PATCH v2 0/3] expose mapping wrprotect, fix fb_defio use

From: Thomas Zimmermann
Date: Mon Feb 03 2025 - 05:25:11 EST


Hi


Am 14.01.25 um 00:15 schrieb Lorenzo Stoakes:
[...]

*** REVIEWERS NOTES: ***

I do not have any hardware that uses fb_defio, so I'm asking for help with
testing this series from those who do :) I have tested the mm side of this,
and done a quick compile smoke test of the fb_defio side but this _very
much_ requires testing on actual hardware to ensure everything behaves as
expected.

With a recent Linux distro, you likely boot up graphics with simpledrm, which uses fb_defio as part of its console emulation. To test, boot the kernel with the 'nomodeset' parameter and write to /dev/fb0.

Best regards
Thomas


This is based on Andrew's tree [0] in the mm-unstable branch - I was
thinking it'd be best to go through the mm tree (with fb_defio maintainer
approval, of course!) as it relies upon the mm changes to work correctly.

[0]: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git/

RFC v2:
* Updated Jaya Kumar's email on cc - the MAINTAINERS section is apparently incorrect.
* Corrected rmap_walk_file() comment to refer to folios as per Matthew.
* Reference folio->mapping rather than folio_mapping(folio) in rmap_walk_file()
as per Matthew.
* Reference folio->index rather than folio_pgoff(folio) in rmap_walk_file() as
per Matthew.
* Renamed rmap_wrprotect_file_page() to mapping_wrprotect_page() as per Matthew.
* Fixed kerneldoc and moved to implementation as per Matthew.
* Updated mapping_wrprotect_page() to take a struct page pointer as per David.
* Removed folio lock when invoking mapping_wrprotect_page() in
fb_deferred_io_work() as per Matthew.
* Removed compound_nr() in fb_deferred_io_work() as per Matthew.

RFC v1:
https://lore.kernel.org/all/1e452b5b65f15a9a5d0c2ed3f5f812fdd1367603.1736352361.git.lorenzo.stoakes@xxxxxxxxxx/

Lorenzo Stoakes (3):
mm: refactor rmap_walk_file() to separate out traversal logic
mm: provide mapping_wrprotect_page() function
fb_defio: do not use deprecated page->mapping, index fields

drivers/video/fbdev/core/fb_defio.c | 38 ++-----
include/linux/fb.h | 1 +
include/linux/rmap.h | 3 +
mm/rmap.c | 152 +++++++++++++++++++++++-----
4 files changed, 141 insertions(+), 53 deletions(-)

--
2.48.0

--
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)