From: Jens Axboe <axboe@suse.de>
To: Andrew Morton <akpm@digeo.com>
Cc: William Lee Irwin III <wli@holomorphy.com>,
lkml <linux-kernel@vger.kernel.org>,
linux-mm@kvack.org
Subject: Re: 2.5.46-mm2
Date: Mon, 11 Nov 2002 08:04:00 +0100 [thread overview]
Message-ID: <20021111070400.GP31134@suse.de> (raw)
In-Reply-To: <3DCEB5E7.5147A449@digeo.com>
On Sun, Nov 10 2002, Andrew Morton wrote:
> Jens Axboe wrote:
> >
> > Complete diff against 2.5.46-BK current attached.
> >
> > [rbtree IO scheduler.. ]
> >
>
> Well it's nice to see 250 megabytes under writeback to a single
> queue, but this could become a bit of a problem:
>
> blkdev_requests: 5760KB 5767KB 99.86
>
> (gdb) p sizeof(struct request)
> $1 = 136
>
> On a Pentium 4, that will be rounded up to 256 bytes, so it'd be
> up around 10 megabytes. Now imagine 200 disks....
Yes I'm well aware of this problem...
> Putting struct request on a diet would help - get it under 128
> bytes. Also, I'd suggest that SLAB_HWCACHE_ALIGN not be used in
> the blkdev_requests slab.
I can probably trim it to under 128 bytes.
> But we'll still have a problem with hundreds of disks.
>
> Of course, I'm assuming that there's a significant benefit
> in having 1024 requests. Perhaps there isn't, so we don't have
> a problem. But if it _is_ good (and for some things it will be),
> we need to do something sterner.
>
> It is hard to justify 1024 read requests, so the read pool and the
> write pool could be split up. 128 read requests, 1024 write requests.
Agree, at least to the idea of making reads and writes different sized
pools. The exact split is harder.
> Still not enough.
>
> Now, 1024 requests is enough to put up to 512 megabytes of memory
> under I/O. Which is cool, but it is unlikely that anyone would want
> to put 512 megs under IO against 200 disks at the same time.
>
> Which means that we need a common pool. Maybe a fixed pool of 128
> requests per queue, then any additional requests should be dynamically
> allocated on a best-effort basis. A mempool-per-queue would do that
> quite neatly. (Using GFP_ATOMIC & ~_GFP_HIGH). The throttling code
> would need some rework.
>
> All of which is a bit of a hassle. I'll do an mm3 later today which
> actually has the damn code in it and let's get in and find out whether
> the huge queue is worth pursuing.
I've already done exactly this (mempool per queue, global slab). I'll
share it later today.
But yes, lets see some numbers on huge queues first. Otherwise we can
just fall back to using a decent 128/512 split for reads/writes, or
whatever is a good split.
--
Jens Axboe
--
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/
next prev parent reply other threads:[~2002-11-11 7:04 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-11-10 3:59 2.5.46-mm2 Andrew Morton
2002-11-10 14:32 ` 2.5.46-mm2 Jens Axboe
2002-11-10 14:52 ` 2.5.46-mm2 William Lee Irwin III
2002-11-10 14:57 ` 2.5.46-mm2 Jens Axboe
2002-11-10 15:06 ` 2.5.46-mm2 William Lee Irwin III
2002-11-10 15:58 ` 2.5.46-mm2 Jens Axboe
2002-11-10 19:39 ` 2.5.46-mm2 Andrew Morton
2002-11-11 1:18 ` 2.5.46-mm2 William Lee Irwin III
2002-11-11 7:04 ` Jens Axboe [this message]
2002-11-11 7:41 ` 2.5.46-mm2 William Lee Irwin III
2002-11-10 16:58 ` 2.5.46-mm2 Andrew Morton
2002-11-10 17:11 ` 2.5.46-mm2 William Lee Irwin III
2002-11-10 18:14 ` 2.5.46-mm2 - oops Ed Tomlinson
2002-11-10 18:52 ` Andrew Morton
2002-11-10 19:17 ` Ed Tomlinson
2002-11-11 0:44 ` Denis Vlasenko
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=20021111070400.GP31134@suse.de \
--to=axboe@suse.de \
--cc=akpm@digeo.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox