All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@zip.com.au>
To: Daniel Phillips <phillips@arcor.de>
Cc: William Lee Irwin III <wli@holomorphy.com>,
	Rik van Riel <riel@conectiva.com.br>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>
Subject: Re: how not to write a search algorithm
Date: Sun, 04 Aug 2002 16:03:11 -0700	[thread overview]
Message-ID: <3D4DB2AF.48B07053@zip.com.au> (raw)
In-Reply-To: E17bU7n-0000Yb-00@starship

Daniel Phillips wrote:
> 
> On Sunday 04 August 2002 23:09, Andrew Morton wrote:
> > Seems that simply changing the page_add_ramp() interface to require the
> > caller to pass in one (err, two) pte_chains would suffice.  The tricky
> > one is copy_page_range(), which is probably where -ac panics.
> 
> Hmm, seems to me my recent patch did exactly that.  Somebody called
> it 'ugly' ;-)
> 
> I did intend to move the initialization of that little pool outside
> copy_page_range, and never free the remainder.
> 
> Why two pte_chains, by the way?

Converting from a PageDirect representation to a shared-by-two
representation needs two pte_chains.

> > I suppose we could hang the pool of pte_chains off task_struct
> > and have a little "precharge the pte_chains" function.  Gack.
> 
> It's not that bad.  It's much nicer than hanging onto the rmap lock
> while kmem_cache_alloc does its thing.

The list walk is killing us now.   I think we need:

struct pte_chain {
	struct pte_chain *next;
	pte_t *ptes[L1_CACHE_BYTES/4 - 4];
};

Still poking...
--
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/

  reply	other threads:[~2002-08-04 23:03 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-08-04  8:35 how not to write a search algorithm Andrew Morton
2002-08-04 13:16 ` Rik van Riel
2002-08-04 20:00   ` Andrew Morton
2002-08-04 19:54     ` Rik van Riel
2002-08-04 20:38     ` William Lee Irwin III
2002-08-04 21:09       ` Andrew Morton
2002-08-04 22:02         ` William Lee Irwin III
2002-08-04 22:43           ` Andrew Morton
2002-08-04 22:47             ` William Lee Irwin III
2002-08-05  3:00               ` Andrew Morton
2002-08-05  2:55                 ` Rik van Riel
2002-08-05  7:40                 ` William Lee Irwin III
2002-08-05  8:44                   ` Andrew Morton
2002-08-05 10:50                     ` William Lee Irwin III
2002-08-04 22:45         ` Daniel Phillips
2002-08-04 23:03           ` Andrew Morton [this message]
2002-08-04 23:00             ` William Lee Irwin III
2002-08-04 23:02             ` Daniel Phillips
2002-08-04 23:21               ` Andrew Morton
2002-08-05  0:03             ` Daniel Phillips

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=3D4DB2AF.48B07053@zip.com.au \
    --to=akpm@zip.com.au \
    --cc=linux-mm@kvack.org \
    --cc=phillips@arcor.de \
    --cc=riel@conectiva.com.br \
    --cc=wli@holomorphy.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.