Hello, Andrew. 2013/8/7 Andrew Morton <a...@linux-foundation.org>: > On Tue, 6 Aug 2013 17:40:40 +0900 Joonsoo Kim <iamjoonsoo....@lge.com> wrote: > >> If we use a division operation, we can compute a batch count more closed >> to ideal value. With this value, we can finish our job within >> MIGRATE_PCPTYPES iteration. In addition, batching to free more pages >> may be helpful to cache usage. >> > > hm, maybe. The .text got 120 bytes larger so the code now will > eject two of someone else's cachelines, which can't be good. I need > more convincing, please ;) > > (bss got larger too - I don't have a clue why this happens).
In my testing, it makes .text just 64 byes larger. I think that I cannot avoid such few increasing size. Current round-robin freeing algorithm access 'struct page' at random order, because it change it's migrate type and list on every iteration and a page on different list may be far from each other. If we do more batch free, we have more probability to access adjacent 'struct page' than before, so I think that this is cache-friendly. But this is just theoretical argument, so I'm not sure whether it is useful or not :) Thanks. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/