Re: Page table cache problem

Bill Hawes (whawes@transmeta.com)
Sun, 26 Jul 1998 15:56:25 -0700


David S. Miller wrote:

> I think the correct way to fix this is to directly call
> check_pgt_cache() after unloading the page tables.
>
> No, the correct fix is to see if the count is > the high water mark,
> and directly free the page if so, not to expensively call the
> check_pgt_cache() function.

I thought that doing the test for every page would be more costly, as
the count won't always go over the limit. Also, that would have made a
big arch-specific patch that I couldn't test.

> It is a bug, but I wonder when it would actually happen in real
> operation. I can run "swap-stress" which eats %99.5 of all memory and
> swap, and has a stupid spin loop to guarentee the idle thread never
> runs, and get fork failures, what have I proven?

A lot of people may be running useful background loops that prevent the
idle thread from ever running. (e.g. the RC5 cracking code or such.) So
the issue of whether the idle thread will properly regulate the cache
size remains, but this at least keeps it below the high water mark.

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