On Wed, 28 Sep 2011 01:19:50 -0700 Michel Lespinasse <walken@xxxxxxxxxx> wrote: > On Wed, Sep 28, 2011 at 1:13 AM, KAMEZAWA Hiroyuki > <kamezawa.hiroyu@xxxxxxxxxxxxxx> wrote: > > On Tue, 27 Sep 2011 17:49:04 -0700 > > Michel Lespinasse <walken@xxxxxxxxxx> wrote: > > > >> Scan some number of pages from each node every second, instead of trying to > >> scan the entime memory at once and being idle for the rest of the configured > >> interval. > >> > >> In addition to spreading the CPU usage over the entire scanning interval, > >> this also reduces the jitter between two consecutive scans of the same page. > >> > >> > >> Signed-off-by: Michel Lespinasse <walken@xxxxxxxxxx> > > > > Does this scan thread need to be signle thread ? > > It tends to perform worse if we try making it multithreaded. What > happens is that the scanning threads call page_referenced() a lot, and > if they both try scanning pages that belong to the same file that > causes the mapping's i_mmap_mutex lock to bounce. Same things happens > if they try scanning pages that belong to the same anon VMA too. > Hmm. with brief thinking, if you can scan list of page tables, you can set young flags without any locks. For inode pages, you can hook page lookup, I think. You only need to clear Young flag by scanning [pfn, end_pfn]. Then, multi-threaded. ? Thanks, -Kame -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>