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 from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html