Hrm. Something's awry here. The baseline control package install only took 27 seconds. In fact it only takes 10 seconds on subsequent installations (i.e. after a dpkg -P). This really did take much much longer previously.
However, the same operation over NFS on Gige does take 25 minutes.
Over the same NFS with --force-unsafe-io it takes 26 minutes and that's probably because in analysing with strace, I don't see dpkg doing anything different per file being installed:
read(9, "./usr/src/linux-headers-3.2.0-24"..., 512) = 512
lstat64("/usr/src/linux-headers-3.2.0-24/arch/alpha/include/asm/gpio.h", 0xbfd1e310) = -1 ENOENT (No such file or directory)
rename("/usr/src/linux-headers-3.2.0-24/arch/alpha/include/asm/gpio.h.dpkg-tmp", "/usr/src/linux-headers-3.2.0-24/arch/alpha/include/asm/gpio.h") = -1 ENOENT (No such file or directory)
rmdir("/usr/src/linux-headers-3.2.0-24/arch/alpha/include/asm/gpio.h.dpkg-tmp") = -1 ENOENT (No such file or directory)
rmdir("/usr/src/linux-headers-3.2.0-24/arch/alpha/include/asm/gpio.h.dpkg-new") = -1 ENOENT (No such file or directory)
open("/usr/src/linux-headers-3.2.0-24/arch/alpha/include/asm/gpio.h.dpkg-new", O_RDWR|O_CREAT|O_EXCL|O_LARGEFILE, 0) = 10
read(9, "/*\n * Generic GPIO API implement"..., 1196) = 1196
write(10, "/*\n * Generic GPIO API implement"..., 1196) = 1196
read(9, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 340) = 340
sync_file_range(0xa, 0, 0, 0) = 0
fchown32(10, 0, 0) = 0
fchmod(10, 0644) = 0
close(10) = 0
utimes("/usr/src/linux-headers-3.2.0-24/arch/alpha/include/asm/gpio.h.dpkg-new", {{1338377227, 0}, {1325721344, 0}}) = 0
So it seems there is still a sync being done after each file is written, even with --force-unsafe-io.
Hrm. Something's awry here. The baseline control package install only took 27 seconds. In fact it only takes 10 seconds on subsequent installations (i.e. after a dpkg -P). This really did take much much longer previously.
However, the same operation over NFS on Gige does take 25 minutes.
Over the same NFS with --force-unsafe-io it takes 26 minutes and that's probably because in analysing with strace, I don't see dpkg doing anything different per file being installed:
read(9, "./usr/ src/linux- headers- 3.2.0-24" ..., 512) = 512 "/usr/src/ linux-headers- 3.2.0-24/ arch/alpha/ include/ asm/gpio. h", 0xbfd1e310) = -1 ENOENT (No such file or directory) "/usr/src/ linux-headers- 3.2.0-24/ arch/alpha/ include/ asm/gpio. h.dpkg- tmp", "/usr/src/ linux-headers- 3.2.0-24/ arch/alpha/ include/ asm/gpio. h") = -1 ENOENT (No such file or directory) /usr/src/ linux-headers- 3.2.0-24/ arch/alpha/ include/ asm/gpio. h.dpkg- tmp") = -1 ENOENT (No such file or directory) /usr/src/ linux-headers- 3.2.0-24/ arch/alpha/ include/ asm/gpio. h.dpkg- new") = -1 ENOENT (No such file or directory) usr/src/ linux-headers- 3.2.0-24/ arch/alpha/ include/ asm/gpio. h.dpkg- new", O_RDWR| O_CREAT| O_EXCL| O_LARGEFILE, 0) = 10 0\0\0\0\ 0\0\0\0\ 0\0\0\0\ 0\0\0\0\ 0\0\0\0\ 0\0\0\0\ 0\0\0\0\ 0"..., 340) = 340 range(0xa, 0, 0, 0) = 0 "/usr/src/ linux-headers- 3.2.0-24/ arch/alpha/ include/ asm/gpio. h.dpkg- new", {{1338377227, 0}, {1325721344, 0}}) = 0
lstat64(
rename(
rmdir("
rmdir("
open("/
read(9, "/*\n * Generic GPIO API implement"..., 1196) = 1196
write(10, "/*\n * Generic GPIO API implement"..., 1196) = 1196
read(9, "\0\0\0\
sync_file_
fchown32(10, 0, 0) = 0
fchmod(10, 0644) = 0
close(10) = 0
utimes(
So it seems there is still a sync being done after each file is written, even with --force-unsafe-io.