Messages in this thread | | | Date | Thu, 2 Oct 2014 11:57:50 -0400 | From | Johannes Weiner <> | Subject | Re: [patch 1/3] mm: memcontrol: do not kill uncharge batching in free_pages_and_swap_cache |
| |
On Thu, Sep 25, 2014 at 03:44:03PM +0200, Michal Hocko wrote: > On Wed 24-09-14 17:03:22, Johannes Weiner wrote: > [...] > > In release_pages, break the lock at least every SWAP_CLUSTER_MAX (32) > > pages, then remove the batching from free_pages_and_swap_cache. > > Actually I had something like that originally but then decided to > not change the break out logic to prevent from strange and subtle > regressions. I have focused only on the memcg batching POV and led the > rest untouched. > > I do agree that lru_lock batching can be improved as well. Your change > looks almost correct but you should count all the pages while the lock > is held otherwise you might happen to hold the lock for too long just > because most pages are off the LRU already for some reason. At least > that is what my original attempt was doing. Something like the following > on top of the current patch:
Yep, that makes sense.
Would you care to send it in such that Andrew can pick it up? Thanks!
| |