Re: [PATCH 05/10] ksm: no debug in page_dup_rmap()

From: Nick Piggin
Date: Tue Jul 21 2009 - 03:17:05 EST


On Mon, Jul 20, 2009 at 02:11:14PM -0400, Rik van Riel wrote:
> Izik Eidus wrote:
> >From: Hugh Dickins <hugh.dickins@xxxxxxxxxxxxx>
> >
> >page_dup_rmap(), used on each mapped page when forking, was originally
> >just an inline atomic_inc of mapcount. 2.6.22 added CONFIG_DEBUG_VM
> >out-of-line checks to it, which would need to be ever-so-slightly
> >complicated to allow for the PageKsm() we're about to define.
> >
> >But I think these checks never caught anything. And if it's coding
> >errors we're worried about, such checks should be in page_remove_rmap()
> >too, not just when forking; whereas if it's pagetable corruption we're
> >worried about, then they shouldn't be limited to CONFIG_DEBUG_VM.
>
> Acked-by: Rik van Riel <riel@xxxxxxxxxx>

I like debug code like this as it helps comment the code a litte
bit too. We've got lots of debug checks in the VM and probably
very few of them catch anything useful... I'd kind of like to see
it be ever-so-slightly complicated with PageKsm, and even a call
to page_check_anon_rmap put into page_remove_rmap (which is a good
idea).

pagetable corruption/struct page corruption I think is good to
check for, but it is fine to have such checks under DEBUG_VM --
we have a couple of orders of magnitude more memory that is not
for struct page, so decent coverage of memory corruption kind of
wants slab and page debugging too, don't you think?

/checks the sky for pigs...

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/