On Tue, 23 Apr 2013, Andrew Morton wrote: > On Tue, 23 Apr 2013 12:57:45 -0700 (PDT) Hugh Dickins <hughd@xxxxxxxxxx> wrote: > > I do agree that we should be able to set both PageReferenced and > PageActive on a lru_add_pvecs page and have those hints honoured when > lru_add_pvecs is spilled onto the LRU. > > At present the code decides up-front which LRU the lru_add_pvecs page > will eventually be spilled onto. That's a bit strange and I wonder why > we did it that way. Why not just have a single (per-cpu) magazine of > pages which are to go onto the LRUs, and decide *which* LRU that will > be at the last possible moment? Yes, it is strange, and I'm wanting to get away from that: though I won't be surprised if we discover that it's actually important for avoiding races in the current scheme - which won't cope well with a page being marked PageActive at the wrong moment (an instant after it has been placed on the Inactive list). What I want is for pages on the the per-cpu lru_add_pvecs to be already marked PageLRU, and without raised page count, so that they are eligible for isolation and migration without needing a drain. (But I may be too ambitious in trying to avoid the raised page count for lru_rotate_pvecs and the others too.) Hugh -- 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>