Re: [PATCH v2] fix mlocked page counter mistmatch
From: KOSAKI Motohiro <hidden>
Date: 2009-02-03 16:45:04
Also in:
lkml
Hi MinChan, I'm confusing now. Can you teach me?
When I tested following program, I found that mlocked counter is strange. It couldn't free some mlocked pages of test program. It is caused that try_to_unmap_file don't check real page mapping in vmas.
What meanining is "real" page mapping?
That's because goal of address_space for file is to find all processes into which the file's specific interval is mapped. What I mean is that it's not related page but file's interval.
hmmm. No. I ran your reproduce program. two vma pointing the same page cause this leaking. iow, any library have .text and .data segment. then the tail of .text and the head of .data vma point the same page. its page was leaked.
Even if the page isn't really mapping at the vma, it returns SWAP_MLOCK since the vma have VM_LOCKED, then calls try_to_mlock_page. After all, mlocked counter is increased again. COWed anon page in a file-backed vma could be a such case. This patch resolves it.
What meaning is "anon page in a file-backed"? As far as I know, if cow happend on private mapping page, new page is treated truth anon. So, I don't reach to your conclusion yet. please teach me. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>