On 1/22/19 12:17 PM, Jerome Glisse wrote: > So lattely i have been looking at page flags and we are using 6 flags > for memory reclaim and compaction: > > PG_referenced > PG_lru > PG_active > PG_workingset > PG_reclaim > PG_unevictable > > On top of which you can add the page anonymous flag (anonymous or > share memory) > PG_anon // does not exist, lower bit of page->mapping > > And also the movable flag (which alias with KSM) > PG_movable // does not exist, lower bit of page->mapping > > > So i would like to explore if there is a way to express the same amount > of information with less bits. My methodology is to exhaustively list > all the possible states (valid combination of above flags) and then to > see how we change from one state to another (what event trigger the change > like mlock(), page being referenced, ...) and under which rules (ie do we > hold the page lock, zone lock, ...). > > My hope is that there might be someway to use less bits to express the > same thing. I am doing this because for my work on generic page write > protection (ie KSM for file back page) which i talk about last year and > want to talk about again ;) I will need to unalias the movable bit from > KSM bit. > > > Right now this is more a temptative ie i do not know if i will succeed, > in any case i can report on failure or success and discuss my finding to > get people opinions on the matter. > > > I think everyone interested in mm will be interested in this topic :) Explicitly adding Matthew on Cc as I am pretty sure he has been working in this area. -- Mike Kravetz