Hello, Andrew. 2013/8/7 Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: > On Tue, 6 Aug 2013 17:40:40 +0900 Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> 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, 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>