linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: ebiederm+eric@ccr.net (Eric W. Biederman)
To: Hans Eric Sandstrom <hes@xinit.se>
Cc: linux-mm@kvack.org
Subject: Re: Alpha quality write out daemon
Date: 15 Jan 1999 03:02:07 -0600	[thread overview]
Message-ID: <m1zp7kdi40.fsf@flinx.ccr.net> (raw)
In-Reply-To: Hans Eric Sandstrom's message of "Wed, 14 Jan 1998 19:44:22 +0100"

>>>>> "HS" == Hans Eric Sandstrom <hes@xinit.se> writes:

HS> "Eric W. Biederman" wrote:

>> >>>>> "EB" == Eric W Biederman <ebiederm> writes:
>> 
EB> Please take a look.  If it really is my fault shoot me.
>> Darn. It was me.

HS> I for one like the concept. So I won't shoot you.

HS> Just hope everyone else thinks the same (especially the ones that took the Gnus' with guns
HS> course in Atlanta) :-)

HS> But I would really like to have some trashing control here. Maybe this could be controlled
HS> at a higher level. This daemon is currently run each 30 seconds. Could this be prolonged if
HS> the system currently is doing heavy IO. Or could the daemon itself skip runs if the IO load
HS> is to high.

In the original concept, the daemon was just to sweep through memory and make sure
there were dirty buffers associated with the pages.  The actual writing is as close as
I can come for the 2.2 code base.

As far as crunching the dirty, (after the page scan) it would work about like bdflush.

For IO control I was thinking about having the same IO modes on the pages as we
have in the lowlevel code.  Specifically:
READ, WRITE, READA, WRITEA.  
Where READA & WRITEA are read ahead, or write ahead and it is fine to
throw those requests out of the queue if the can't be combined 
into another request.

Since this basic design also solves a lot of potential lockup
condition I was considering it for 2.2.    But my naive implementation
is having more bugs then I would have ever suspected, and the machine
totally freezes under high swapping load.  So unless something changes
I'm going to go back to aiming for an early 2.3 inclusion.

It is my expectation that getting the generic dirty pages in the page
cache will make the code much easier to balance for either heavy
IO loads or otherwise.

For where I'm aiming there is a lot still to do, but it keeps looking 
closer all the time.   After this patch stabalizes the work left
is to see about finalizing a design for dirty pages in the page cache
that is both generic, and not too open so we can optimize it.

Well that and see about removing some extra layers like the buffer
cache...

Eric
--
This is a majordomo managed list.  To unsubscribe, send a message with
the body 'unsubscribe linux-mm me@address' to: majordomo@kvack.org

  reply	other threads:[~1999-01-15  9:43 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-01-14 10:08 Eric W. Biederman
     [not found] ` <369E0501.987D2B3B@xinit.se>
1999-01-14 16:49   ` Eric W. Biederman
1999-01-15  7:31 ` Eric W. Biederman
1998-01-14 18:44   ` Hans Eric Sandström
1999-01-15  9:02     ` Eric W. Biederman [this message]
1999-01-17  6:12       ` Beta " Eric W. Biederman
1999-01-18  5:05         ` Eric W. Biederman
1999-01-19 15:15 ` Alpha " Stephen C. Tweedie
1999-01-20 14:52   ` Eric W. Biederman
1999-01-20 18:46     ` Zlatko Calusic
1999-01-25  1:40       ` Eric W. Biederman

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=m1zp7kdi40.fsf@flinx.ccr.net \
    --to=ebiederm+eric@ccr.net \
    --cc=hes@xinit.se \
    --cc=linux-mm@kvack.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