On Fri, Feb 26, 2021 at 12:49:41PM -0700, Yu Zhao wrote: > On Fri, Feb 26, 2021 at 12:13:14PM +0000, Matthew Wilcox wrote: > > On Fri, Feb 26, 2021 at 02:17:18AM -0700, Yu Zhao wrote: > > > All places but one test, set or clear PG_active and PG_unevictable on > > > small or head pages. Use compound_head() explicitly for that singleton > > > so the rest can rid of redundant compound_head(). > > > > How do you know it's only one place? I really wish you'd work with me > > on folios. They make the compiler prove that it's not a tail page. > > I hasn't been following the effort closely, so I'm rereading the very > first discussion "Are THPs the right model for the pagecache?" and > then I need to rewatch the recorded Zoom meeting. As I said I'm on > board with the idea, but I can't create a roadmap based on my current > rough understanding, unless you prefer me to just randomly throw some > reviewed-bys at your patches in the next few days. (Our long-term plan > for folios is to support arbitrary anon page sizes because anon memory > is more than 90% of total user memory on Android, Chrome OS and in our > data centers.) > > That said, if you have something ready to test, we could do it for you > in our runtime environments immediately.
I don't have anything ready to test for anonymous memory; indeed I have no plans to work on anonymous memory myself. My focus is on the page cache. But, once we get the folio _concept_ into the kernel (ie a struct page which is definitely not a tail page), it can be used more widely than the page cache, and independently from anything I'm working on. The biggest risk is that we end up duplicating work ...