From: ebiederm@xmission.com (Eric W. Biederman)
To: Tim Small <tim@buttersideup.com>
Cc: Doug Thompson <norsk5@yahoo.com>,
ncunningham-lkml@crca.org.au, linux-mm@kvack.org,
linux-kernel@vger.kernel.org, Chris Friesen <cfriesen@nortel.com>,
Pavel Machek <pavel@suse.cz>,
bluesmoke-devel@lists.sourceforge.net,
Arjan van de Ven <arjan@infradead.org>
Subject: Re: marching through all physical memory in software
Date: Fri, 30 Jan 2009 19:54:05 -0800 [thread overview]
Message-ID: <m1iqnw1676.fsf@fess.ebiederm.org> (raw)
In-Reply-To: <49836114.1090209@buttersideup.com> (Tim Small's message of "Fri\, 30 Jan 2009 20\:20\:36 +0000")
Tim Small <tim@buttersideup.com> writes:
> Eric W. Biederman wrote:
>> A background software scrubber simply has the job of rewritting memory
>> to it's current content so that the data and the ecc check bits are
>> guaranteed to be in sync
>
> Don't you just need to READ memory? The memory controller hardware takes care
> of the rest in the vast majority of cases.
>
> You only need to rewrite RAM if a correctable error occurs, and the chipset
> doesn't support automatic write-back of the corrected value (a different problem
> altogether...). The actual memory bits themselves are refreshed by the hardware
> quite frequently (max of every 64ms for DDR2, I believe)...
At the point we are talking about software scrubbing it makes sense to assume
a least common denominator memory controller, one that does not do automatic
write-back of the corrected value, as all of the recent memory controllers
do scrubbing in hardware.
Once you handle the stupidest hardware all other cases are just software optimizations
on that, and we already have the tricky code that does a read-modify-write without
changing the contents of memory, so guarantees everything it touches will be written
back.
Eric
--
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>
next prev parent reply other threads:[~2009-01-31 3:54 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <715599.77204.qm@web50111.mail.re2.yahoo.com>
2009-01-30 19:32 ` Eric W. Biederman
2009-01-30 20:20 ` Tim Small
2009-01-31 3:54 ` Eric W. Biederman [this message]
2009-01-31 12:48 ` Tim Small
2009-01-31 13:43 ` Henrique de Moraes Holschuh
2009-01-31 21:27 ` Pavel Machek
2009-02-01 1:25 ` Henrique de Moraes Holschuh
2009-01-30 21:10 ` Nigel Cunningham
2009-02-02 18:29 ` Chris Friesen
2009-02-02 22:45 ` Valdis.Kletnieks
2009-02-03 14:31 ` Chris Friesen
2009-02-03 22:25 ` Pavel Machek
2009-02-04 16:03 ` Chris Friesen
2009-02-04 16:47 ` Dave Jiang
[not found] <497DD8E5.1040305@nortel.com>
[not found] ` <20090126075957.69b64a2e@infradead.org>
[not found] ` <497F5289.404@nortel.com>
2009-01-27 20:16 ` Eric W. Biederman
2009-01-28 19:38 ` Pavel Machek
2009-01-30 9:05 ` Nigel Cunningham
2009-01-30 9:13 ` Pavel Machek
2009-01-30 13:00 ` Nigel Cunningham
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=m1iqnw1676.fsf@fess.ebiederm.org \
--to=ebiederm@xmission.com \
--cc=arjan@infradead.org \
--cc=bluesmoke-devel@lists.sourceforge.net \
--cc=cfriesen@nortel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=ncunningham-lkml@crca.org.au \
--cc=norsk5@yahoo.com \
--cc=pavel@suse.cz \
--cc=tim@buttersideup.com \
/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