[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <4DAF0DAA.5080608@redhat.com>
Date: Wed, 20 Apr 2011 12:45:30 -0400
From: Rik van Riel <riel@...hat.com>
To: rwhitton@....org
CC: linux-kernel@...r.kernel.org
Subject: Re: Background memory scrubbing
On 04/20/2011 03:58 AM, Robert Whitton wrote:
> for each PFN from 256 to the highest valid PFN
> {
> if (pfn_valid(PFN))
> {
> page = pfn_to_page(PFN)
> va = kmap(page)
> atomic_scrub(va, PAGE_SIZE)
> kunmap(page)
> }
>
> sleep(for_a_while)
> }
What exactly does atomic_scrub do?
> This code works absolutely fine up to a short distance beyond the 16MB boundary (specifically it seems to always fail on my hardware at PFN 4105). At this point despite the fact that kmap returns a valid virtual address (and it is the virtual address that I expect - 0xffff880001009000) I get the kernel oops - "unable to handle kernel paging request".
Looks like you might be making some of the kernel code that
is running at that moment unreachable, leading to a kernel
page fault.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists