Hi, On Thu, 03 Mar 2011, Phillip Susi wrote: > I have another proposal. It looks like right now dpkg extracts all of > the files in the archive, then for each one, calls fsync() then > rename(). Because this is done serially for each file in the archive, > it forces small, out of order writes that cause extra seeking and queue > plugging.
That's wrong. The writeback is initiated before the fsync() so the filesystem can order the write how it wants. And we use some linux specific ioctl to avoid that fragmentation. > It would be much better to use aio to queue up all of the syncs at once, > so that the elevator can coalesce and reorder them for optimal writing. I'm not convinced it would help. You're welcome to try and provide a patch if it works. I'm not even convinced it's possible with the existing interfaces (but I have no experience with AIO). aio_fsync() is only usable with aio_write() and it's not possible to use lio_listio() to batch a bunch of aio_fsync(). Cheers, -- Raphaël Hertzog ◈ Debian Developer Follow my Debian News ▶ http://RaphaelHertzog.com (English) ▶ http://RaphaelHertzog.fr (Français) -- To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110303174944.gb13...@rivendell.home.ouaza.com