From: Rik van Riel <riel@redhat.com>
To: rwhitton@iee.org
Cc: linux-kernel@vger.kernel.org
Subject: Re: Background memory scrubbing
Date: Wed, 20 Apr 2011 13:53:43 -0400 [thread overview]
Message-ID: <4DAF1DA7.9040705@redhat.com> (raw)
In-Reply-To: <20131.1303319102@jupiter.eclipse.co.uk>
On 04/20/2011 01:05 PM, Robert Whitton wrote:
> On Wed 20/04/11 6:45 PM , Rik van Riel<riel@redhat.com> wrote:
>> 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?
>
> atomic_scrub is part of the edac subsystem see arch/x86/include/asm/edac.h. It simply does a locked add of zero to each DWORD in the specified range.
I can think of only a few ways in which that could cause a
kernel page fault.
One of the more obvious causes would be running into an
area of kernel memory that is mapped read-only. Writing
to a page that is mapped read-only would cause a page
fault :)
Walking the page tables to check whether my guess is correct
should be possible in the current context. Look at current->mm->pgd for
the page directory and start walking from there.
Incidentally, the kernel mappings should be the same for any
process, so the above should hold true from any context.
next prev parent reply other threads:[~2011-04-20 17:53 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-20 17:05 Background memory scrubbing Robert Whitton
2011-04-20 17:53 ` Rik van Riel [this message]
2011-04-24 20:47 ` Pavel Machek
-- strict thread matches above, loose matches on Subject: below --
2011-04-20 15:46 Robert Whitton
2011-04-20 16:01 ` Borislav Petkov
2011-04-25 16:53 ` Chris Friesen
2011-04-20 14:40 Robert Whitton
2011-04-20 15:19 ` Clemens Ladisch
2011-04-20 15:35 ` Borislav Petkov
2011-04-20 15:46 ` Markus Trippelsdorf
2011-04-20 15:58 ` Borislav Petkov
2011-04-20 16:45 ` Markus Trippelsdorf
2011-04-20 16:55 ` Markus Trippelsdorf
2011-04-20 17:36 ` Borislav Petkov
2011-04-20 19:23 ` Bill Gatliff
2011-04-20 7:58 Robert Whitton
2011-04-20 13:30 ` Clemens Ladisch
2011-04-20 16:45 ` Rik van Riel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4DAF1DA7.9040705@redhat.com \
--to=riel@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rwhitton@iee.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox