On Fri, Mar 14, 2014 at 03:33:11PM +0200, Kirill A. Shutemov wrote: > On Fri, Mar 14, 2014 at 03:37:47PM +0900, Minchan Kim wrote: > > diff --git a/include/linux/mm.h b/include/linux/mm.h > > index c1b7414c7bef..9b048cabce27 100644 > > --- a/include/linux/mm.h > > +++ b/include/linux/mm.h > > @@ -933,10 +933,16 @@ void page_address_init(void); > > * Please note that, confusingly, "page_mapping" refers to the inode > > * address_space which maps the page from disk; whereas "page_mapped" > > * refers to user virtual address space into which the page is mapped. > > + * > > + * PAGE_MAPPING_LZFREE bit is set along with PAGE_MAPPING_ANON bit > > + * and then page->mapping points to an anon_vma. This flag is used > > + * for lazy freeing the page instead of swap. > > */ > > #define PAGE_MAPPING_ANON 1 > > #define PAGE_MAPPING_KSM 2 > > -#define PAGE_MAPPING_FLAGS (PAGE_MAPPING_ANON | PAGE_MAPPING_KSM) > > +#define PAGE_MAPPING_LZFREE 4 > > +#define PAGE_MAPPING_FLAGS (PAGE_MAPPING_ANON | PAGE_MAPPING_KSM | \ > > + PAGE_MAPPING_LZFREE) > > Is it safe to use third bit in pointer everywhere? I overlooked ARCH_SLAB_MINALIGN which is 8 byte for most arch but surely some of arch would have less than it(ex, 4 byte). Alternative is PG_private or PG_private2. That flags is used for file pages mostly while zsmalloc uses it but it should not LRU page. Other thing in mm/ is memory-hotplug but I guess we don't need to set PG_private because I couldn't find PagePrivate for that. So, I think using that flag for anon page has no problem if we tweak page_has_private works with only !PageAnon. > > -- > Kirill A. Shutemov > > -- > 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> -- 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>