Re: Speeding up dpkg, a proposal
Chow Loong Jin wrote the following on 02.03.2011 18:51
> On Thursday 03,March,2011 12:02 AM, Marius Vollmer wrote:
>> - Instead, we move all packages that are to be unpacked into
>> half-installed / reinstreq before touching the first one, and put a
>> big sync() right before carefully writing /var/lib/dpkg/status.
> Could we somehow avoid using sync()? sync() syncs all mounted filesystems, which
> isn't exactly very friendly when you have a few slow-syncing filesystems like
> btrfs (or even NFS) mounted. I recall my schroots that ran on tmpfs unpacking
> exceptionally slowly due to this issue until I stuck libeatmydata (or a variant
> of it) onto the schroots' dpkgs.
> I actually recall there being some things mentioned about FS_IOC_SYNCFS (lkml
> thread, dpkg-devel thread) for faster per-filesystem syncing, but that
> seems to have died of natural causes last year.
>  http://thread.gmane.org/gmane.linux.file-systems/44628
>  http://lists.debian.org/debian-dpkg/2010/11/msg00069.html
Just for reference afaik there has been a discussion about this topic last year.
If you are interested why dpkg does all those syncs read:
721B 1BA0 095C 1ABA 3FC6 7C18 89A4 A2A0 C70B 1A8F