Re: Non-standard FFS parameters

1999-11-23 Thread Andrzej Bialecki

On Tue, 23 Nov 1999, Joe Greco wrote:

  On Fri, 8 Oct 1999, Matthew Dillon wrote:
  
   : 
   : Adjusting the bytes-per-inode (-i) specification in newfs should not 
   : pose a problem.
   :
   :IOW now you say it's ok to use very high values of -i... ;-) 
   :
   :Andrzej Bialecki
   
   No, I didn't say that.  My recommended maximum is still 262144.  Fsck 
   should be reasonably fast with that number and the filesystem should 
   still be able to maintain reasonable efficiency.
  
  Ok, I can live with that, I guess. Thanks a lot for your help!
 
 What's the recommended way to reduce the number of cylinder groups a bit?

...except manually changing the calculations in newfs/mkfs.c ? What values
are reasonable for large filesystems?

Andrzej Bialecki

//  [EMAIL PROTECTED] WebGiro AB, Sweden (http://www.webgiro.com)
// ---
// -- FreeBSD: The Power to Serve. http://www.freebsd.org 
// --- Small  Embedded FreeBSD: http://www.freebsd.org/~picobsd/ 



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: Non-standard FFS parameters

1999-11-22 Thread Joe Greco

 On Fri, 8 Oct 1999, Matthew Dillon wrote:
 
  : 
  : Adjusting the bytes-per-inode (-i) specification in newfs should not 
  : pose a problem.
  :
  :IOW now you say it's ok to use very high values of -i... ;-) 
  :
  :Andrzej Bialecki
  
  No, I didn't say that.  My recommended maximum is still 262144.  Fsck 
  should be reasonably fast with that number and the filesystem should 
  still be able to maintain reasonable efficiency.
 
 Ok, I can live with that, I guess. Thanks a lot for your help!

What's the recommended way to reduce the number of cylinder groups a bit?
-c's maximum limit is affected by combinations of -b and -i, possibly some
others.  PHK was talking about new, more sensible values for filesystem
parameters, but I don't know what happened.  I just think it's a bit silly
to go generating hundreds of cg's for a 34GB unit...  and this _with_ the
max -c setting of 26 (for this fs).

/dev/vinum/rn8: 63700992 sectors in 15552 cylinders of 1 tracks, 4096 sectors
31104.0MB in 599 cyl groups (26 c/g, 52.00MB/g, 256 i/g)
super-block backups (for fsck -b #) at:
 32, 106528, 213024, 319520, 426016, 532512, 639008, 745504, 852000, 958496,

... Joe

---
Joe Greco - Systems Administrator [EMAIL PROTECTED]
Solaria Public Access UNIX - Milwaukee, WI 414/342-4847


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: Non-standard FFS parameters

1999-11-22 Thread Matthew Dillon

:What's the recommended way to reduce the number of cylinder groups a bit?
:-c's maximum limit is affected by combinations of -b and -i, possibly some
:others.  PHK was talking about new, more sensible values for filesystem
:parameters, but I don't know what happened.  I just think it's a bit silly
:to go generating hundreds of cg's for a 34GB unit...  and this _with_ the
:max -c setting of 26 (for this fs).
:
:/dev/vinum/rn8: 63700992 sectors in 15552 cylinders of 1 tracks, 4096 sectors
:31104.0MB in 599 cyl groups (26 c/g, 52.00MB/g, 256 i/g)
:super-block backups (for fsck -b #) at:
: 32, 106528, 213024, 319520, 426016, 532512, 639008, 745504, 852000, 958496,
:
:... Joe
:
:---
:Joe Greco - Systems Administrator[EMAIL PROTECTED]

Well, -i doesn't effect c/g any where near as much as -b does.  Try
bumping the block size up to 16K and use '-c 999' and see what newfs
tells you the max c/g is.  -b 16384 -f 2048 -c 999.  On my test it let
me do 89 c/g.

As we already know, non-standard block sizes will create problems under
stable and may create them under current.  I believe I have fixed the
bugs under current (in getnewbuf()) but since no comprehensive testing
has been done you still have a lockup risk.  Work on the VM system 
mainly by Luoqi a few months ago fixed the buffer corruption bugs,
so only lockup bugs should be left.

-Matt
Matthew Dillon 
[EMAIL PROTECTED]


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: Non-standard FFS parameters

1999-10-08 Thread Matthew Dillon

: 
: Adjusting the bytes-per-inode (-i) specification in newfs should not 
: pose a problem.
:
:IOW now you say it's ok to use very high values of -i... ;-) 
:
:Andrzej Bialecki

No, I didn't say that.  My recommended maximum is still 262144.  Fsck 
should be reasonably fast with that number and the filesystem should 
still be able to maintain reasonable efficiency.

-Matt
Matthew Dillon 
[EMAIL PROTECTED]


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: Non-standard FFS parameters

1999-10-07 Thread Andrzej Bialecki

On Wed, 6 Oct 1999, Matthew Dillon wrote:

 : test3:/root# newfs -i 262144 -f 8192 -b 65536 /dev/rvn1c
 : /dev/rvn1c: 83886080 sectors in 2560 cylinders of 1 tracks, 32768 sectors
 : 40960.0MB in 160 cyl groups (16 c/g, 256.00MB/g, 1024 i/g)

Running bonnie on the filesystem with these parameters results in
unkillable process sitting in getblk (it's the first phase of bonnie test
when they use putc() to create the file). It just sits there and doesn't
consume CPU. The OS is 3.3-R.

Andrzej Bialecki

//  [EMAIL PROTECTED] WebGiro AB, Sweden (http://www.webgiro.com)
// ---
// -- FreeBSD: The Power to Serve. http://www.freebsd.org 
// --- Small  Embedded FreeBSD: http://www.freebsd.org/~picobsd/ 



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: Non-standard FFS parameters

1999-10-07 Thread Andrzej Bialecki

On Thu, 7 Oct 1999, Matthew Dillon wrote:

 
 :
 :Running bonnie on the filesystem with these parameters results in
 :unkillable process sitting in getblk (it's the first phase of bonnie test
 :when they use putc() to create the file). It just sits there and doesn't
 :consume CPU. The OS is 3.3-R.
 :
 :Andrzej Bialecki
 
 Hmmm.  It's quite possible, 3.x's getnewbuf() code is pretty nasty.  I
 have a solution under test for 4.x (current).  There simply may not be
 anything that can be done for 3.x short of porting current's getnewbuf()
 code over, and doing so has been deemed too risky by DG due to all the
 collateral porting that would also have to be done.  I agree with that
 assessment, plus it's a huge amount of work that I don't have time to do
 at this late date.
 
 Try using a smaller block size, like 16K.  If that doesn't work then just
 stick with 8K I guess.  The kernel's clustering code should still make it
 reasonably efficient.

Yeah, I guess that's the only way to do it on 3.x... But how can I speed
up fsck then, since newfs will create millions of inodes I don't need
which will cause fsck to run for ages...

Andrzej Bialecki

//  [EMAIL PROTECTED] WebGiro AB, Sweden (http://www.webgiro.com)
// ---
// -- FreeBSD: The Power to Serve. http://www.freebsd.org 
// --- Small  Embedded FreeBSD: http://www.freebsd.org/~picobsd/ 



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: Non-standard FFS parameters

1999-10-07 Thread Matthew Dillon

: 
: Try using a smaller block size, like 16K.  If that doesn't work then just
: stick with 8K I guess.  The kernel's clustering code should still make it
: reasonably efficient.
:
:Yeah, I guess that's the only way to do it on 3.x... But how can I speed
:up fsck then, since newfs will create millions of inodes I don't need
:which will cause fsck to run for ages...
:
:Andrzej Bialecki

The problem should only be effected by the blocksize (-b) specification.

Adjusting the bytes-per-inode (-i) specification in newfs should not 
pose a problem.

-Matt
Matthew Dillon 
[EMAIL PROTECTED]


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: Non-standard FFS parameters

1999-10-06 Thread Andrzej Bialecki

On Tue, 5 Oct 1999, Matthew Dillon wrote:

 Mmmm.  I ran into problems in -current trying to use a block size of
 64K.  It should be relatively easy for me to track this down and fix
 it, but I don't know if there are other problems lying in wait.

IOW it may appear to run while eating your FS away No,thanks :-/

 :* what maximum value can I use for -i (bytes per inode) parmeter? I
 :aalready tried 16mln ...
 
 I wouldn't go that high.  Try 262144.  Here's an example:

Why? I only need a couple o hundred inodes on this fs..

 
 newfs -i 262144 -b 65536 -f 8192 /dev/rvn1c
 
 test3:/root# newfs -i 262144 -f 8192 -b 65536 /dev/rvn1c
 /dev/rvn1c: 83886080 sectors in 2560 cylinders of 1 tracks, 32768 sectors
 40960.0MB in 160 cyl groups (16 c/g, 256.00MB/g, 1024 i/g)

Well, yes, but you used non-standar blocksize which you yourself don't
recommend. With standard 8192/1024 this command creates millions of
inodes which I don't need - what's worse, they cause fsck to run for
hours instead of seconds.

 
 :* and finally, how th above choices affect the FS performance in my case?
 :
 :Thanks in advance for any insights!
 :
 :Andrzej Bialecki
 
 The higher the bytes per inode the fewer the inodes and the faster
 fsck will run if you have to recover the filesystem.  Too high a 
 bytes-per-inode will screw up the filesystem's ability to manage
 the cylinder groups, though.

Why? I thought this parameter describes (indirectly) only the total number
of inodes in the FS, which is otherwise set proportionally to FS size,
assuming it will be filled with very small files (2048B IIRC).

I suspect it might have something to do with the placement policy (which
CG to use to put additional blocks belonging to the file), but I don't see
any immediate connection...

 
 The higher the block size the fewer indirect blocks are required to 
 access a linear file, but as the block size increases the system's
 caching effectiveness will decrease.
 
 I would not use a block size greater then 64K, and I wouldn't specify
 a bytes-per-inode greater then 262144.
 
 There may be problems specifying larger block sizes, though nothing
 that we can't fix.

What kind of problems? Will it simply not work, or will it corrupt the
FS?

Thanks a lot for these comments!

Andrzej Bialecki

//  [EMAIL PROTECTED] WebGiro AB, Sweden (http://www.webgiro.com)
// ---
// -- FreeBSD: The Power to Serve. http://www.freebsd.org 
// --- Small  Embedded FreeBSD: http://www.freebsd.org/~picobsd/ 



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Non-standard FFS parameters

1999-10-05 Thread Andrzej Bialecki

Hi,

The system in question (3.3-stable) needs to use a large FS (ca. 40GB).
The defaults for such filesystem are ridiculous, given that it will hold
at most couple of hundred big data files. So, my question is:

* should I change the cpg (default 16) to some bigger value?
* is it safe to run production system with non-standard block and fragment
size (e.g. 32768 and 4096)?
* what maximum value can I use for -i (bytes per inode) parmeter? I
aalready tried 16mln ...
* and finally, how th above choices affect the FS performance in my case?

Thanks in advance for any insights!

Andrzej Bialecki

//  [EMAIL PROTECTED] WebGiro AB, Sweden (http://www.webgiro.com)
// ---
// -- FreeBSD: The Power to Serve. http://www.freebsd.org 
// --- Small  Embedded FreeBSD: http://www.freebsd.org/~picobsd/ 



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: Non-standard FFS parameters

1999-10-05 Thread Kevin Day

 
 Hi,
 
 The system in question (3.3-stable) needs to use a large FS (ca. 40GB).
 The defaults for such filesystem are ridiculous, given that it will hold
 at most couple of hundred big data files. So, my question is:
 
 * should I change the cpg (default 16) to some bigger value?
 * is it safe to run production system with non-standard block and fragment
 size (e.g. 32768 and 4096)?
 * what maximum value can I use for -i (bytes per inode) parmeter? I
 aalready tried 16mln ...
 * and finally, how th above choices affect the FS performance in my case?
 

One thing that bit me before

(from the newfs man page)

BUGS
 The boot code of FreeBSD assumes that the file system that carries the
 kernel has blocks of 8 kilobytes and fragments of 1 kilobyte. You will
 not be able to boot from a file system that uses another size.


Kevin


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: Non-standard FFS parameters

1999-10-05 Thread Matthew Dillon

:Hi,
:
:The system in question (3.3-stable) needs to use a large FS (ca. 40GB).
:The defaults for such filesystem are ridiculous, given that it will hold
:at most couple of hundred big data files. So, my question is:
:
:* should I change the cpg (default 16) to some bigger value?

No, let newfs figure it out.

:* is it safe to run production system with non-standard block and fragment
:size (e.g. 32768 and 4096)?

Mmmm.  I ran into problems in -current trying to use a block size of
64K.  It should be relatively easy for me to track this down and fix
it, but I don't know if there are other problems lying in wait.

test3:/root# ps axl | fgrep nbuf
0 14265 14201   0  -2  0   620  536 nbufkv D+p00:02.55 cpdup / /mnt


:* what maximum value can I use for -i (bytes per inode) parmeter? I
:aalready tried 16mln ...

I wouldn't go that high.  Try 262144.  Here's an example:

newfs -i 262144 -b 65536 -f 8192 /dev/rvn1c

test3:/root# newfs -i 262144 -f 8192 -b 65536 /dev/rvn1c
/dev/rvn1c: 83886080 sectors in 2560 cylinders of 1 tracks, 32768 sectors
40960.0MB in 160 cyl groups (16 c/g, 256.00MB/g, 1024 i/g)


:* and finally, how th above choices affect the FS performance in my case?
:
:Thanks in advance for any insights!
:
:Andrzej Bialecki

The higher the bytes per inode the fewer the inodes and the faster
fsck will run if you have to recover the filesystem.  Too high a 
bytes-per-inode will screw up the filesystem's ability to manage
the cylinder groups, though.

The higher the block size the fewer indirect blocks are required to 
access a linear file, but as the block size increases the system's
caching effectiveness will decrease.

I would not use a block size greater then 64K, and I wouldn't specify
a bytes-per-inode greater then 262144.

There may be problems specifying larger block sizes, though nothing
that we can't fix.

-Matt
Matthew Dillon 
[EMAIL PROTECTED]


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message