[comp.os.minix] Questions for Bruce on 386 patches

scottc@bnlux0.bnl.gov (david scott coburn) (09/20/90)

I decided last night to install Bruce Evans 386 patches to my minix system.
I appropriated an little used 32M partition on my disk and made a duplicate
of my 1.5.10 system on it (see side note).  Now I have some questions.
These questions are mostly directed at Bruce Evans (I can't find his address),
but if anyone else wants to have a go...

1) from which directory should the file 'makelib' be run?  I created the
   directory /usr/src/minix386 and unloaded the tar files into it (bcc,
   bccbin16, bccbin32, and bcclib).  When I cd to /usr/src/minix386/lib
   /bcc and run makelib it complains about missing ../ansi, ../ibm, etc.
   Should I create these directories as empty directories, or should
   there be something in them?

b) I see in the cdif files in fix1.5.10 that the path for the original
   files to patch is /usr/src/lib or /usr/src/fs or /usr/lib/kernel etc.
   Should I move all the files from /usr/src/minix/lib (/fs, /kernel ...)
   up into these directories?  Will these then be the sources that the
   rebuilding will be done from, or will there be still another set (lib,
   fs, kernel...) within the /usr/src/minix386 directory?

now for the side note:

I transferred about 10,000 blocks of data between partitions using two
tars piped together.  It took about 20 minutes to complete.  So...

   2 (read and write) x 10,000,000 bytes / 1200 seconds = ~170kb/sec

Any comments on this through-put?  I have a ZEOS 386sx 16MHz, 2M ram and
a Conner 80M IDE drive.

scott coburn                                brookhaven national laboratory
scottc@max.bnl.gov [130.199.128.6]                          upton, ny, usa
 .....q.. ...q.... ......q. q....... .......q .q...... ....q... ..q......

	"I awoke in a fever,
	 The bed clothes were all soaked in sweat,
	 She said 'You've been having a nightmare,
	  and it's not over yet...'"
					- Pros and Cons of Hitch-hiking

adrie@philica.ica.philips.nl (Adrie Koolen) (09/21/90)

In article <2141@bnlux0.bnl.gov> scottc@bnlux0.bnl.gov (david scott coburn) writes:
>I transferred about 10,000 blocks of data between partitions using two
>tars piped together.  It took about 20 minutes to complete.  So...
>
>   2 (read and write) x 10,000,000 bytes / 1200 seconds = ~170kb/sec
>
>Any comments on this through-put?

If my calculator is right, your throughput is 17KB/sec. On my SparcStation,
I `cpdir'ed a directory tree of 3549 blocks in 104 seconds. That results
in some 68KB/sec. It doesn't seem very fast, but my SCSI driver is tuned
for fast reading, writing goes relatively slow. BTW, I use a fs cache of
1536 blocks. I hardly notice hard disk activity when issueing the cpdir!

Adrie Koolen (adrie@ica.philips.nl)
Philips Innovation Centre Aachen

evans@syd.dit.CSIRO.AU (Bruce.Evans) (09/25/90)

In article <2141@bnlux0.bnl.gov> scottc@bnlux0.bnl.gov (david scott coburn) writes:
>1) from which directory should the file 'makelib' be run?  I created the
>   directory /usr/src/minix386 and unloaded the tar files into it (bcc,
>   bccbin16, bccbin32, and bcclib).  When I cd to /usr/src/minix386/lib

The file runtime.crc gives complete paths to show where everything goes.
makelib should be run from its own directory (/usr/src/lib/bcc). The
/usr/src/ part may be varied.

>b) ...
>   rebuilding will be done from, or will there be still another set (lib,
>   fs, kernel...) within the /usr/src/minix386 directory?

The minix386 directory is only for convenience of distribution. Put
everything in the runtime places.

>I transferred about 10,000 blocks of data between partitions using two
>tars piped together.  It took about 20 minutes to complete.  So...
>
>   2 (read and write) x 10,000,000 bytes / 1200 seconds = ~170kb/sec
>
>Any comments on this through-put?  I have a ZEOS 386sx 16MHz, 2M ram and
>a Conner 80M IDE drive.

170K/sec would be great with 2:1 interleave, but you are only getting
17K/sec. I get about 70K/sec using gnu tar 1.08, 120K/sec using cp, and
200K/sec for input of /dev/hd0, out of a maximum of 250K/sec from a 2:1
controller on a 20MHz 386. The 120K/sec is (almost :-) acceptable but
below that is not. The pipes in the tar copy seem to be expensive.

The main reason that you are only getting 17K/sec is probably that you
are using Minix tar. This does all i/o in the mismatched block size of
512 bytes. This causes pre-reads for writes (one more i/o operation so
17K/sec is actually 25K/sec) and defeats the read-ahead algorithm. Without
read-ahead, almost all hard disks are limited to 60K/sec (1 block/rev).

Another point is that tarring will access a lot of directory and inode
blocks and thrash the cache more than a cp. (3 mounted partitions on my
system consume 17 blocks. The pipe consumes up to 7 more. DMA lossage may
consume 1 more. This doesn't leave much out of the standard 30 blocks.
Perhaps the pipe blocks even get swapped to the disk :-(. My times were
made with a 256K cache, so the cache should have been adequate.)

Consider yourself lucky to get 17K/sec, but don't be happy with it :-).
-- 
Bruce Evans		evans@syd.dit.csiro.au

s4016@mips1.uqam.ca (Vuong*Daniel) (10/02/90)

This user don't exit anymore, meaning s4016, so please stop sending mail!!


thanks.