|
|
Subscribe / Log in / New account

Sharing memory for shared file extents

Sharing memory for shared file extents

Posted May 25, 2022 16:42 UTC (Wed) by Cyberax (✭ supporter ✭, #52523)
In reply to: Sharing memory for shared file extents by willy
Parent article: Sharing memory for shared file extents

> In The Glorious Future, struct folio will come from kmalloc() and struct page will be reduced to a single pointer with a type encoded in the bottom few bits (folio, slab, page table, etc, etc). That's what I was calling the memdesc.

Can't wait for it! Would it be possible to collapse the page structures even further then, to a span tree?


to post comments

Sharing memory for shared file extents

Posted May 25, 2022 16:52 UTC (Wed) by willy (subscriber, #9762) [Link]

That is the (further) plan, yes. It gets complicated because we then have to completely remove struct page. At the struct-page-is-one-pointer stage, you have a meaningful 1:1 correspondence between struct page and a PFN and a PTE. For example, the page fault handler returns a struct page pointer. We'll have to figure out whether to return a PFN or something else to indicate how to fill in the PTE.

Another example is bio_vec. That uses struct page to describe the memory we want to do I/O to. I have a proposal for that (phyr) but the work needs to be done.

This project is on a scale comparable to removing the Big Kernel Lock. There are a lot of device drivers to touch to accomplish this.


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds