> The case when there are multiple page tables within one page is far more
> complicated. It cannot be per-cpu any longer (as otherwise freeing of the
> pages would be really difficult without locking), one has to keep track on
> which chunks of the page are free and which are allocated. So, even the
> check_pgt_cache routine for that has to take those things into account and
> free only pages which are completely free (but still it is a lot better
> than before with the big/small chunk allocator).
> But as most architectures use full pages only, the check_pgt_cache routine
> in memory.c could be used for most of them.
Hi Jakub,
I'd like to request one additional change, which is to have check_pgt_cache() accept the lower cache limit as an argument.
Then the normal cache level regulation can use something like
check_pgt_cache(pgt_cache_water[0]);
while the vm system can use check_pgt_cache(0) when the cache needs to be trimmed. (With the understanding that a value of 0
will free any memory not being used.)
If this sounds reasonable to you, I'll adapt my misc memory freeing patch to work with these calls.
Regards,
Bill
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html