Hi again, [it compiles, but I have not runned it yet] I read through __alloc_pages again and found out that allocs with order > 0 are not treated nicely. To begin with if order > 0 then direct_reclaim will be false even if it is allowed to wait... This version allows direct_reclaim with order > 0 ! How? Like we finally end up doing anyway... reclaiming pages and freeing. While adding this I thought why not always do it like this, even with order == 0? since it will allow for merging of pages to higher orders. Before returning a page that was not mergeable... Doing this - the code started to collaps... __alloc_pages_limit could suddenly handle all special cases! (with small functional differences) Comments? /RogerL -- Roger Larsson Skelleftea Sweden