On Fri 04-08-17 11:02:46, Igor Stoppa wrote: > > > On 03/08/17 18:15, Michal Hocko wrote: > > > I would check the one where we have mapping. It is rather unlikely > > vmalloc users would touch this one. > > That was also the initial recommendation from Jerome Glisse, but it > seemed unusable, because of the related comment. > > I should have asked for clarifications back then :-( > > But it's never too late ... > > > struct page { > /* First double word block */ > unsigned long flags; /* Atomic flags, some possibly > * updated asynchronously */ > union { > struct address_space *mapping; /* If low bit clear, points to > * inode address_space, or NULL. > * If page mapped as anonymous > * memory, low bit is set, and > * it points to anon_vma object: > * see PAGE_MAPPING_ANON below. > */ > ... > } > > mapping seems to be used exclusively in 2 ways, based on the value of > its lower bit. Not really. The above applies to LRU pages. Please note that Slab pages use s_mem and huge pages use compound_mapcount. If vmalloc pages are using none of those already you can add a new field there. -- Michal Hocko SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>