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. | | 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.
Attachment:
pgpJ5kTIN5GT_.pgp
Description: PGP signature