public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <andrewm@uow.edu.au>
To: Rik van Riel <riel@conectiva.com.br>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>, linux-kernel@vger.kernel.org
Subject: Re: Patch submissions
Date: Tue, 06 Mar 2001 23:46:15 +0000	[thread overview]
Message-ID: <3AA576C7.B00DF382@uow.edu.au> (raw)
In-Reply-To: <Pine.LNX.4.33.0103061422030.1409-100000@duckman.distro.conectiva>

Rik van Riel wrote:
> 
> On Tue, 6 Mar 2001, Alan Cox wrote:
> 
> > I'm getting a notable increase in people sending me patches that
> > do major things and should be 2.5 stuff. Please if you want to
> > rewrite the VM completely, redesign the scsi layer and the like
> > wait until 2.5.
> 
> VM folks can post their patches to linux-mm@kvack.org, where
> we can play with things until 2.5 is forked.
> 

With respect, Rik.  You haven't finished the 2.4 VM yet.

It needs better design description.  I've been reading
through it lately, and in some parts it is very, very
hard to go backwards from the implementation to the
designer's intent.

Let's take just one line:

        count = inactive_shortage() + free_shortage();

That expands to, approximately, sometimes:

inactive_shortage():
        freepages.high + inactive_target - nr_free_pages() -
		nr_inactive_clean_pages() - nr_inactive_dirty_pages;

plus free_shortage():

	(freepages.high + inactive_target / 3) -
              (nr_free_pages() + nr_inactive_clean_pages())

IOW:

	2 * freepages.high + 1.33*(min((memory_pressure >> INACTIVE_SHIFT),
                (num_physpages / 4))) - 2 * nr_free_pages() -
        2 * nr_inactive_clean_pages() - nr_inactive_dirty_pages

That's not a thing which just leaps out at me and shouts "ah-ha!"  :)

Across the lifetime of 2.4, other people are going to need to
understand this stuff.  To be able to analyse and even predict how the
VM dynamics will change with varying tuning, varying workload
and varying platform characteristics.

There *is* a fair quantity of good design description in there,
but there are gaps.

Could you please take the time to raise a commentary patch
which describes the underlying design intent?  I'd
strongly recommend *against* some offstream document (it
doesn't get updated) or API documentation (usually lame and useless).
Inline description is much more useful and better maintained.

Thanks

-

  parent reply	other threads:[~2001-03-06 23:47 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-03-06 16:56 Patch submissions Alan Cox
2001-03-06 17:02 ` Lars Marowsky-Bree
2001-03-06 17:23   ` Rik van Riel
2001-03-06 17:22 ` Rik van Riel
2001-03-06 18:26   ` Kurt Garloff
2001-03-06 18:44     ` Rik van Riel
2001-03-06 21:29       ` Jeff Garzik
2001-03-06 23:46   ` Andrew Morton [this message]
2001-03-07  0:54     ` 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=3AA576C7.B00DF382@uow.edu.au \
    --to=andrewm@uow.edu.au \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=riel@conectiva.com.br \
    /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