Messages in this thread | | | Date | Thu, 10 Feb 2011 13:00:37 -0800 | From | Andrew Morton <> | Subject | Re: [PATCH] mm: batch-free pcp list if possible |
| |
On Thu, 10 Feb 2011 09:35:44 +0000 Mel Gorman <mel@csn.ul.ie> wrote:
> > What's the point in that? What relationship does the number of > > contiguous empty lists have with the number of pages to free from one > > list? > > > > The point is to avoid excessive checking of empty lists.
It seems pretty simple to me to skip the testing of empty lists altogether. I suggested one way, however I suspect a better approach might be to maintain a count of the number of pages in each list and then change free_pcppages_bulk() so that it calculates up-front the number of pages to free from each list (equal proportion of each) then sits in a tight loop freeing that number of pages.
It might be that the overhead of maintaining the per-list count makes that not worthwhile. It'll be hard to tell because the count maintenance cost will be smeared all over the place.
I doubt if any of it matters much, compared to the cost of allocating, populating and freeing a page. I just want free_pcppages_bulk() to stop hurting my brain ;)
| |