From: David Chinner <dgc@sgi.com>
To: xaiki@sgi.com
Cc: xfs@oss.sgi.com
Subject: Re: [[PATCH, RESEND]] less AGs for single disks configs.
Date: Mon, 12 Nov 2007 20:01:47 +1100 [thread overview]
Message-ID: <20071112090147.GD66820511@sgi.com> (raw)
In-Reply-To: <1194839329-22003-6-git-send-email-xaiki@sgi.com>
On Mon, Nov 12, 2007 at 02:48:49PM +1100, xaiki@sgi.com wrote:
> From: Niv Sardi <xaiki@sgi.com>
>
> get the underlying structure with get_subvol_stripe_wrapper(),
> and pass sunit | swidth as an argument to calc_default_ag_geometry().
>
> if it is set, get the AG sizes bigger.
>
> this also cleans up a typo:
> - } else if (daflag) /* User-specified AG size */
> + } else if (daflag) /* User-specified AG count */
No need to mention that you are cleaning up a typo in the description ;)
> ---
> xfsprogs/mkfs/xfs_mkfs.c | 18 ++++++++++++------
> 1 files changed, 12 insertions(+), 6 deletions(-)
>
> diff --git a/xfsprogs/mkfs/xfs_mkfs.c b/xfsprogs/mkfs/xfs_mkfs.c
> index 78c2c77..4cf9975 100644
> --- a/xfsprogs/mkfs/xfs_mkfs.c
> +++ b/xfsprogs/mkfs/xfs_mkfs.c
> @@ -393,6 +393,7 @@ void
> calc_default_ag_geometry(
> int blocklog,
> __uint64_t dblocks,
> + int multidisk,
> __uint64_t *agsize,
> __uint64_t *agcount)
> {
> @@ -428,12 +429,13 @@ calc_default_ag_geometry(
> *
> * This scales us up smoothly between min/max AG sizes.
> */
> +
> if (dblocks > GIGABYTES(512, blocklog))
> - shift = 5;
> + shift = 5 - (multidisk == 0);
> else if (dblocks > GIGABYTES(8, blocklog))
> - shift = 4;
> + shift = 4 - (multidisk == 0);
> else if (dblocks >= MEGABYTES(128, blocklog))
> - shift = 3;
> + shift = 3 - (multidisk == 0);
> else
> ASSERT(0);
Ok, so now we end up with half the number of allocation groups
at these different sizes. That's not exactly what I had in mind.
basically, what you've done works out as:
> 512GB old = 32 AGs, new = 16AGs
> 8 GB old = 16 AGs, new = 8AGs
> 128MB old = 8 AGs, new = 4AGs
on an 8Gb filesystem we still get 8 AGs, which is far too many.
on a 750GB disk, we still get 16AGs, which to far too many.
A single spindle, regardless of it's size, will have similar
seek characteristics so scaling the number of AGs with size
is the wrong thing to do - you don't get better parallelism
out of a single spindle, just more seeks and lower performance.
hence keeping the number of AGs fixed up to the point where
the AG size tops out (i.e. 4TB) seems like a better scaling
factor to me. i.e. something like:
if (!multidisk) {
if (dblocks >= TERABYTES(4, blocklog)) {
blocks = XFS_AG_MAX_BLOCKS(blocklog);
goto done;
}
agcount = 4;
/* work out ag size here */
goto done;
}
I'd also like to see some test results showing the mkfs output
for the different configurations to confirm it works correctly
(i.e. that the corner cases work correctly).
Cheers,
Dave.
--
Dave Chinner
Principal Engineer
SGI Australian Software Group
next prev parent reply other threads:[~2007-11-12 13:25 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-29 7:56 Default mount options (that suck less) Niv Sardi
2007-10-29 8:55 ` David Chinner
2007-10-29 10:44 ` nscott
2007-10-29 14:01 ` Eric Sandeen
2007-10-29 21:26 ` David Chinner
2007-10-29 14:03 ` Eric Sandeen
2007-10-29 15:05 ` Hannes Dorbath
2007-10-29 15:07 ` Eric Sandeen
2007-10-30 8:40 ` Stewart Smith
2007-10-31 4:11 ` Nathan Scott
2007-10-31 4:13 ` Eric Sandeen
2007-10-29 21:05 ` David Chinner
2007-10-29 15:26 ` Eric Sandeen
2007-10-29 15:44 ` Chris Wedgwood
2007-10-29 15:51 ` Eric Sandeen
2007-10-30 0:45 ` Timothy Shimmin
2007-10-31 11:05 ` James Braid
2007-10-31 11:27 ` Justin Piszcz
2007-11-01 0:47 ` James Braid
2007-10-31 15:21 ` Eric Sandeen
2007-10-31 15:41 ` Chris Wedgwood
2007-11-01 0:32 ` James Braid
2007-10-29 23:48 ` David Chinner
2007-10-31 23:35 ` Niv Sardi
2007-10-31 23:40 ` Niv Sardi
2007-11-01 1:17 ` Niv Sardi
2007-11-01 2:27 ` Eric Sandeen
2007-11-12 2:28 ` Niv Sardi
2007-11-12 3:10 ` David Chinner
2007-11-12 3:48 ` [[PATCH, RESEND]] Default to log version 2 xaiki
2007-11-12 3:48 ` [[PATCH, RESEND]] Default to version 2 attributes xaiki
2007-11-12 3:48 ` [[PATCH, RESEND]] Drop the ability to turn unwritten extents off completly xaiki
2007-11-12 3:48 ` [[PATCH, RESEND]] V2 inodes per default, and move DFL bits to XFS_DFL_SB_VERSION_BITS, xaiki
2007-11-12 3:48 ` [[PATCH, RESEND]] reduce imaxpct for big filesystems, xaiki
2007-11-12 3:48 ` [[PATCH, RESEND]] less AGs for single disks configs xaiki
2007-11-12 9:01 ` David Chinner [this message]
2007-11-12 14:57 ` Justin Piszcz
2007-11-12 20:31 ` David Chinner
2007-11-12 6:33 ` [[PATCH, RESEND]] reduce imaxpct for big filesystems, David Chinner
2007-11-12 6:31 ` [[PATCH, RESEND]] V2 inodes per default, and move DFL bits to XFS_DFL_SB_VERSION_BITS, David Chinner
2007-11-13 0:51 ` Niv Sardi
2007-11-12 6:27 ` [[PATCH, RESEND]] Drop the ability to turn unwritten extents off completly David Chinner
2007-11-12 6:24 ` [[PATCH, RESEND]] Default to version 2 attributes David Chinner
2007-11-12 6:23 ` [[PATCH, RESEND]] Default to log version 2 David Chinner
2007-11-13 4:10 ` RESEND(2) xaiki
2007-11-13 4:10 ` [PATCH TAKE 2 1/6] Default to log version 2 xaiki
2007-11-13 4:10 ` [PATCH TAKE 2 2/6] Default to version 2 attributes xaiki
2007-11-13 4:10 ` [PATCH TAKE 2 3/6] Drop the ability to turn unwritten extents off completly xaiki
2007-11-13 4:10 ` [PATCH TAKE 2 4/6] V2 inodes per default, and move DFL bits to XFS_DFL_SB_VERSION_BITS, xaiki
2007-11-13 4:10 ` [PATCH TAKE 2 5/6] reduce imaxpct for big filesystems, xaiki
2007-11-13 4:10 ` [PATCH TAKE 2 6/6] less AGs for single disks configs xaiki
2007-11-13 4:47 ` RESEND(2) David Chinner
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=20071112090147.GD66820511@sgi.com \
--to=dgc@sgi.com \
--cc=xaiki@sgi.com \
--cc=xfs@oss.sgi.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.