Subject: Re: CVS commit: src
To: David Laight <david@l8s.co.uk>
From: Luke Mewburn <lukem@NetBSD.org>
List: source-changes
Date: 12/22/2003 12:44:06
--YZVh52eu0Ophig4D
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sun, Dec 21, 2003 at 09:43:11PM +0000, David Laight wrote:
  | > 	This is up to 30% faster when populating an empty /dev,
  | > 	and nearly 2x faster when re-running on an existing /dev.
  |=20
  | Did you benchmark MAKEDEV -s | pax -M (or | mtree) ?

Oh Yes.

Here's the numbers on a P4-2400;
the first time is populating an empty directory,
the second time is rerunning MAKEDEV in that directory.

1.  old  MAKEDEV all
		1.516u 1.522s 0:03.18 95.2%     0+0k 28+4363io 0pf+0w
		1.625u 1.700s 0:03.36 98.8%     0+0k 0+6116io 0pf+0w

2.  new  MAKEDEV all
		1.184u 1.309s 0:02.50 99.2%     0+0k 28+3799io 0pf+0w
		1.032u 1.116s 0:02.09 102.3%    0+0k 0+39io 0pf+0w

3.  new  MAKEDEV -s all | pax -w -M | pax -r -pe
		0.189u 0.316s 0:00.51 96.0%     0+0k 0+3767io 0pf+0w
		0.164u 0.472s 0:00.66 95.4%     0+0k 0+5559io 0pf+0w

4.  new  MAKEDEV -s all | mtree -e -u
		0.040u 0.160s 0:00.21 95.2%     0+0k 0+3769io 0pf+0w
		0.061u 0.010s 0:00.07 100.0%    0+0k 0+1io 0pf+0w


The problem with 3 & 4 is that they lose the benefit of the "mknod -r",
which is to retain permissions and ownership of existing devices.
That said, we could use pax|pax or mtree to populate an empty /dev
in sysinst and possibly the "init mfs /dev" trick.

Cheers,
Luke.

--YZVh52eu0Ophig4D
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (NetBSD)

iD8DBQE/5kxmpBhtmn8zJHIRAnzYAJ9W8B38g8ljud92Qxuef6wd9WiktwCfXUHT
Pc+DY8G7GIhfHVyjqckRrQQ=
=bPJk
-----END PGP SIGNATURE-----

--YZVh52eu0Ophig4D--