All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ed Tomlinson <tomlins@cam.org>
To: William Lee Irwin III <wli@holomorphy.com>,
	Craig Kulesa <ckulesa@as.arizona.edu>
Cc: Steven Cole <elenstev@mesatop.com>,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	Steven Cole <scole@lanl.gov>
Subject: Re: [PATCH 2/2] move slab pages to the lru, for 2.5.27
Date: Tue, 23 Jul 2002 07:45:53 -0400	[thread overview]
Message-ID: <200207230745.53629.tomlins@cam.org> (raw)
In-Reply-To: <20020723043653.GF13589@holomorphy.com>

On July 23, 2002 12:36 am, William Lee Irwin III wrote:
> On Mon, 22 Jul 2002, William Lee Irwin III wrote:
> >> The pte_chain mempool was ridiculously huge and the use of mempool for
> >> this at all was in error.
>
> On Mon, Jul 22, 2002 at 03:36:33PM -0700, Craig Kulesa wrote:
> > That's what I thoguht too -- but Steven tried making the pool 1/4th the
> > size and it still failed.  OTOH, he tried 2.5.27-rmap, which uses the
> > *same mempool patch* and he had no problem with the monster 128KB
> > allocation.  Maybe it was all luck. :)  I can't yet see anything in the
> > slablru patch that has anything to do with it...
>
> While waiting for the other machine to boot I tried these out. There
> appear to be bootstrap ordering problems either introduced by or
> exposed by this patch:

I would vote for ordering.  The slab init code was changed to initialize 
new fields...   Allocating memory for slabs is another story.  They depend on
the lru lists and the pagemap_lru_lock being setup...   Has this happened 
when slab storage is initialized?  If not a call to do this in the slab init logic 
would fix things.  It could also be fixed using this fragment (slab.c):

+       /*
+        * We want the pagemap_lru_lock, in UP spin locks to not
+        * protect us in interrupt context...  In SMP they do but,
+        * optimizating for speed, we process if we do not get it.
+        */
+       if (!(cachep->flags & SLAB_NO_REAP)) {
+#ifdef CONFIG_SMP
+               locked = spin_trylock(&pagemap_lru_lock);
+#else
+               locked = !in_interrupt() && spin_trylock(&pagemap_lru_lock);
+#endif
+               if (!locked && !in_interrupt())
+                       goto opps1;

If there is some way to verify that the pagemap_lru_lock is ready.  Note its
fine to just set locked to 0 and proceed - as long as this condition does not
last forever.  Also this code is in a fastpath so efficient is good...

Thoughts?
Ed Tomlinson





  reply	other threads:[~2002-07-23 11:42 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-07-21 11:24 [PATCH 2/2] move slab pages to the lru, for 2.5.27 Craig Kulesa
2002-07-21 11:24 ` Craig Kulesa
2002-07-21 13:33 ` Ed Tomlinson
2002-07-21 21:24   ` Craig Kulesa
2002-07-21 21:24     ` Craig Kulesa
2002-07-21 23:15     ` Ed Tomlinson
2002-07-21 23:15       ` Ed Tomlinson
2002-07-21 21:31 ` William Lee Irwin III
2002-07-21 21:31   ` William Lee Irwin III
2002-07-22  7:08   ` Craig Kulesa
2002-07-22  7:08     ` Craig Kulesa
2002-07-22 18:54 ` Steven Cole
2002-07-22 18:54   ` Steven Cole
2002-07-22 22:17   ` Ed Tomlinson
2002-07-22 22:21   ` William Lee Irwin III
2002-07-22 22:21     ` William Lee Irwin III
2002-07-22 22:36     ` Craig Kulesa
2002-07-22 22:36       ` Craig Kulesa
2002-07-23  0:21       ` Ed Tomlinson
2002-07-23  4:36       ` William Lee Irwin III
2002-07-23  4:36         ` William Lee Irwin III
2002-07-23 11:45         ` Ed Tomlinson [this message]
2002-07-23 14:31       ` Steven Cole
2002-07-23 14:31         ` Steven Cole
2002-07-24 20:28         ` Steven Cole
2002-07-24 20:28           ` Steven Cole
2002-07-24 21:02           ` Steven Cole
2002-07-24 21:02             ` Steven Cole
  -- strict thread matches above, loose matches on Subject: below --
2002-07-25  0:12 Ed Tomlinson
2002-07-25 12:00 ` Craig Kulesa
2002-07-25 12:00   ` Craig Kulesa

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=200207230745.53629.tomlins@cam.org \
    --to=tomlins@cam.org \
    --cc=ckulesa@as.arizona.edu \
    --cc=elenstev@mesatop.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=scole@lanl.gov \
    --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.