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. Therefore I discarded it as valid option ("private", otoh was far more alluring), but maybe I could wrap it inside a union, together with vm_area? --- thanks, igor