xfs
[Top] [All Lists]

Re: Incredibly slow rebuild of small access_db on xfs partition

To: Jarek Luberek <jarek@xxxxxxxxxx>
Subject: Re: Incredibly slow rebuild of small access_db on xfs partition
From: Steve Lord <lord@xxxxxxx>
Date: Mon, 07 May 2001 16:49:23 -0500
Cc: Eric Sandeen <sandeen@xxxxxxx>, linux-xfs@xxxxxxxxxxx
In-reply-to: Message from Jarek Luberek <jarek@xxxxxxxxxx> of "Mon, 07 May 2001 23:29:44 +0200." <01050723294400.00685@marvin>
Sender: owner-linux-xfs@xxxxxxxxxxx
> Finally some success. I booted into my reiserfs partition with
> the xfs-enabled kernel from cvs and mounted the xfs partition
> with biosize=13 (as you suggested) and chroot:ted there.
> Voila, 
> 
> /etc/mail > mount
> /dev/hda6 on / type xfs (rw,biosize=13)
> proc on /proc type proc (rw)
> none on proc type proc (rw)
> root@marvin:/etc/mail > time make
> Rebuilding /etc/mail/access.db.
> makemap hash -f /etc/mail/access.db < /etc/mail/access
> test -e /etc/mail/access.db && touch /etc/mail/access.db
>  
> real    0m0.081s
> user    0m0.050s
> sys     0m0.030s
> root@marvin:/etc/mail >
> 
> Ok so it was cached this time but even the first time I run the
> comman it was quite satisfactory. Now, back to the manual.
> What is biosize=13 :-) and how do I set the lilo option. I find
> out. Thanks for all help.

The biosize mount option sets the default I/O size reported by xfs to be
that power of 2 - so 8K in this case, 8K is the lowest it will go without
code changes. This affects the st_blksize reported by stat which is being
used by various applications to determine the size to use for operations.

It may be that use of this field is a little different on Linux and Irix
and having it default to 64K is more problem than it is worth. It also looks
like there is no generic mechanism for passing mount options for the root
filesystem.

If you want to change the values used by default you can do this by changing
some constants in fs/xfs/xfs_mount.h and rebuilding. Change these values:

/*
 * Default minimum read and write sizes.
 */
#define XFS_READIO_LOG_SMALL    15      /* <= 32MB memory */
#define XFS_WRITEIO_LOG_SMALL   15
#define XFS_READIO_LOG_LARGE    16      /* > 32MB memory */
#define XFS_WRITEIO_LOG_LARGE   16

To all be 13

Steve

> 
> Greetings,
> jarek



<Prev in Thread] Current Thread [Next in Thread>