On Mon, Jul 25, 2016 at 05:04:56PM +0900, Minchan Kim wrote: > > @@ -1429,6 +1429,9 @@ static unsigned long isolate_lru_pages(unsigned long nr_to_scan, > > continue; > > } > > > > + /* Pages skipped do not contribute to scan */ > > + scan++; > > + > > As I mentioned in previous version, under irq-disabled-spin-lock, such > unbounded operation would make the latency spike worse if there are > lot of pages we should skip. > > Don't we take care it? It's not unbounded, it's bound by the size of the LRU list and it's not going to be enough to trigger a warning. While the lock hold time may be undesirable, unlocking it every SWAP_CLUSTER_MAX pages may increase overall contention. There also is the question of whether skipped pages should be temporarily putback before unlocking the LRU to avoid isolated pages being unavailable for too long. It also cannot easily just return early without prematurely triggering OOM due to a lack of progress. I didn't feel the complexity was justified. -- Mel Gorman 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>