Thread (24 messages) 24 messages, 10 authors, 2005-02-08

Re: A scrub daemon (prezeroing)

From: Marcelo Tosatti <hidden>
Date: 2005-02-02 18:42:24
Also in: lkml

On Thu, Jan 27, 2005 at 12:15:24PM +0000, David Woodhouse wrote:
On Fri, 2005-01-21 at 12:29 -0800, Christoph Lameter wrote:
quoted
Adds management of ZEROED and NOT_ZEROED pages and a background daemon
called scrubd. scrubd is disabled by default but can be enabled
by writing an order number to /proc/sys/vm/scrub_start. If a page
is coalesced of that order or higher then the scrub daemon will
start zeroing until all pages of order /proc/sys/vm/scrub_stop and
higher are zeroed and then go back to sleep.
Some architectures tend to have spare DMA engines lying around. There's
no need to use the CPU for zeroing pages. How feasible would it be for
scrubd to use these?
Hi David,

I suppose you are talking about DMA engines which are not being driven 
by any driver ?

Sounds very interesting idea to me. Guess it depends on whether the cost of 
DMA write for memory zeroing, which is memory architecture/DMA engine dependant, 
offsets the cost of CPU zeroing.

Do you have any thoughts on that?

I wonder if such thing (using unrelated devices DMA engine's for zeroing) ever been
done on other OS'es?

AFAIK SGI's BTE is special purpose hardware for memory zeroing.

BTW, Andrew noted on lkml sometime ago that disabling caches before doing 
zeroing could enhance overall system performance by decreasing cache thrashing.
What are the conclusions about that?
--
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:"aart@kvack.org"> aart@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help