Messages in this thread | | | Date | Mon, 9 Jun 2008 06:07:09 +0900 | From | "KOSAKI Motohiro" <> | Subject | Re: [PATCH -mm 13/25] Noreclaim LRU Infrastructure |
| |
>> > +#ifdef CONFIG_NORECLAIM_LRU >> > + PG_noreclaim, /* Page is "non-reclaimable" */ >> > +#endif >> >> I fear that we're messing up the terminology here. >> >> Go into your 2.6.25 tree and do `grep -i reclaimable */*.c'. The term >> already means a few different things, but in the vmscan context, >> "reclaimable" means that the page is unreferenced, clean and can be >> stolen. "reclaimable" also means a lot of other things, and we just >> made that worse. >> >> Can we think of a new term which uniquely describes this new concept >> and use that, rather than flogging the old horse? > > Want to reuse the BSD term "pinned" instead?
I like this term :) but I afraid to somebody confuse Xen/KVM term's pinned page. IOW, I guess somebody imazine from "pinned page" to below flag.
#define PG_pinned PG_owner_priv_1 /* Xen pinned pagetable */
I have no idea....
>> > +/** >> > + * add_page_to_noreclaim_list >> > + * @page: the page to be added to the noreclaim list >> > + * >> > + * Add page directly to its zone's noreclaim list. To avoid races with >> > + * tasks that might be making the page reclaimble while it's not on the >> > + * lru, we want to add the page while it's locked or otherwise "invisible" >> > + * to other tasks. This is difficult to do when using the pagevec cache, >> > + * so bypass that. >> > + */ >> >> How does a task "make a page reclaimable"? munlock()? fsync()? >> exit()? >> >> Choice of terminology matters... > > Lee? Kosaki-san?
IFAIK, moving noreclaim list to reclaim list happend at below situation.
mlock'ed page - all mlocked process exit. - all mlocked process call munlock(). - page related vma vanished (e.g. mumap, mmap, remap_file_page)
SHM_LOCKed page - sysctl(SHM_UNLOCK) called.
| |