On Tue Jan 20, 2026 at 9:42 PM CET, Joel Fernandes wrote: > This series is rebased on drm-rust-kernel/drm-rust-next and provides memory > management infrastructure for the nova-core GPU driver. It combines several > previous series and provides a foundation for nova GPU memory management > including page tables, virtual memory management, and BAR mapping. All these > are critical nova-core features.
Thanks for this work, I will go through the series soon. (Although it would also be nice to have what I mention below addressed first.) > The series includes: > - A Rust module (CList) to interface with C circular linked lists, required > for iterating over buddy allocator blocks. > - Movement of the DRM buddy allocator up to drivers/gpu/ level, renamed to > GPU buddy. > - Rust bindings for the GPU buddy allocator. > - PRAMIN aperture support for direct VRAM access. > - Page table types for MMU v2 and v3 formats. > - Virtual Memory Manager (VMM) for GPU virtual address space management. > - BAR1 user interface for mapping access GPU via virtual memory. > - Selftests for PRAMIN and BAR1 user interface (disabled by default). > > Changes from v5 to v6: > - Rebased on drm-rust-kernel/drm-rust-next > - Added page table types and page table walker infrastructure > - Added Virtual Memory Manager (VMM) > - Added BAR1 user interface > - Added TLB flush support > - Added GpuMm memory manager > - Extended to 26 patches from 6 (full mm infrastructure now included) > > The git tree with all patches can be found at: > git://git.kernel.org/pub/scm/linux/kernel/git/jfern/linux.git (tag: > nova-mm-v6-20260120) > > Link to v5: > https://lore.kernel.org/all/[email protected]/ > > Previous series that are combined: > - v4 (clist + buddy): > https://lore.kernel.org/all/[email protected]/ > - v3 (clist only): > https://lore.kernel.org/all/[email protected]/ > - v2 (clist only): > https://lore.kernel.org/all/[email protected]/ > - clist RFC (original with buddy): > https://lore.kernel.org/all/[email protected]/ > - DRM buddy move: > https://lore.kernel.org/all/[email protected]/ > - PRAMIN series: > https://lore.kernel.org/all/[email protected]/ I'm not overly happy with this version history. I understand that you are building things on top of each other, but going back and forth with adding and removing features from a series is confusing and makes it hard to keep track of things. (In the worst case it may even result in reviewers skipping over it leaving you with no progress eventually.) I.e. you stared with a CList and DRM buddy RFC, then DRM buddy disappeared for a few versions and came back eventually. Then, in the next version, the PRAMIN stuff came back in, which also had a predecessor series already and now you added lots of MM stuff on top of it. The whole version history is about what features and patches were added and removed to/from the series, rather than about what actually changed design wise and code wise between the iterations (which is the important part for reviewers and maintainers). I also think it is confusing that a lot of the patches in this series have never been posted before, yet they are labeled as v6 of this RFC. Hence, please separate the features from each other in separate patch series, with their own proper version history and changelog. In order to account for the dependencies, you can just mention them in the cover letter and add a link to the other related patch series, which should be sufficient for people interested in the full picture. I think the most clean approach would probably be a split with CList, DRM buddy and Nova MM stuff. And just to clarify, in the end I do not care too much about whether it's all in a single series or split up, but going back and forth with combining things that once have been separate and have a separate history doesn't work out well.
