public inbox for linux-nfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Martin Wilck <martin.wilck@ts.fujitsu.com>
To: NeilBrown <neilb@suse.de>
Cc: Trond Myklebust <Trond.Myklebust@netapp.com>,
	"linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>,
	Chuck Lever <chuck.lever@oracle.com>
Subject: Re: [PATCH] sunrpc: replace large table of slots with mempool
Date: Wed, 04 Nov 2009 18:17:23 +0100	[thread overview]
Message-ID: <4AF1B723.1030106@ts.fujitsu.com> (raw)
In-Reply-To: <4f145776da1d0765ddc46cdb4be28b76.squirrel-eq65iwfR9nKIECXXMXunQA@public.gmane.org>

NeilBrown wrote:

> I think I would still recommend using mempools as they are a well tested
> and understood concept.
> I think the key difference that you are proposing is that instead of
> a single mempool with 256 slots preallocated, we have a separate mempool
> for each client with 4 slots preallocated.
> I think that would be a good change.  The 'struct mempool_s' isn't very
> large, only about 8 pointers, so havng them per-client is not a big cost.

You also need to create a slab cache for each client - /proc/slabinfo 
could grow quite a bit.

How about mempool_resize()? We could have a single pool and increase it 
by 4 for every new client. I would prefer to avoid shrinking the pool 
when connections are terminated, though. Thus it might be best to track 
the number of simultaneously active clients and increase the pool when 
it increases above the previous maximum value.

Martin

-- 
Dr. Martin Wilck
PRIMERGY System Software Engineer
x86 Server Engineering

Fujitsu Technology Solutions GmbH
Heinz-Nixdorf-Ring 1
33106 Paderborn, Germany

Phone:			++49 5251 525 2796
Fax:			++49 5251 525 2820
Email:			martin.wilck@ts.fujitsu.com
Internet:		http://ts.fujitsu.com
Company Details:	http://de.ts.fujitsu.com/imprint.html

      parent reply	other threads:[~2009-11-04 17:27 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-30  5:53 [PATCH] sunrpc: replace large table of slots with mempool Neil Brown
     [not found] ` <19178.32618.958277.726234-wvvUuzkyo1EYVZTmpyfIwg@public.gmane.org>
2009-10-30 19:25   ` Chuck Lever
2009-10-30 21:51     ` NeilBrown
2009-10-30 19:53   ` Trond Myklebust
     [not found]     ` <1256932398.15679.0.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2009-10-30 21:58       ` NeilBrown
     [not found]         ` <4f145776da1d0765ddc46cdb4be28b76.squirrel-eq65iwfR9nKIECXXMXunQA@public.gmane.org>
2009-10-30 22:05           ` Chuck Lever
2009-11-04 17:17           ` Martin Wilck [this message]

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=4AF1B723.1030106@ts.fujitsu.com \
    --to=martin.wilck@ts.fujitsu.com \
    --cc=Trond.Myklebust@netapp.com \
    --cc=chuck.lever@oracle.com \
    --cc=linux-nfs@vger.kernel.org \
    --cc=neilb@suse.de \
    /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