Control: tags -1 moreinfo Hi!
On Wed, 2016-05-18 at 10:44:34 +0200, Dr. Johann Pfefferl wrote: > Package: dpkg > Version: 1.17.26 > Severity: important > * What led up to the situation? > > Installation of a system takes an extreme long time. The systems have > RAID controllers included: > > - Serial Attached SCSI controller: LSI Logic / Symbios Logic SAS2008 > PCI-Express Fusion-MPT SAS-2 > - Serial Attached SCSI controller: Intel Corporation C606 chipset Dual > 4-Port SATA/SAS Storage Control Unit > > Classic SATA harddisks are connected to the IO controllers. > > Normally an install takes 10 minutes. On these systems it takes 50 > minutes. Hmmm, I don't see why the hardware used there should in principle affect this but let's see. > * Analysis > > By bisecting the source code of "dpkg" package with git showed that > commit 87b0b20b86407baf1deb4e91b3fd839e01228ac8 > > commit 87b0b20b86407baf1deb4e91b3fd839e01228ac8 > Author: Guillem Jover <[email protected]> > Date: Tue Jul 15 21:00:52 2014 +0200 > > dpkg: Try to preallocate the disk size for extracted files > > This might help in avoiding filesystem fragmentation, and possibly > improve performance on some filesystems. > > We use the system specific methods if available, and only use > posix_fallocate() if nothing else is available, because on some > systems > its semantics are counter to what we want to obtain here, as the > libc > library will fallback to manually writing '\0' to each block to > force > the preallocation, instead of just failing and leaving the > application > to do so if desired. > > introduced the massive slow down of the install process. > > After "git revert" of this commit the installation behaved as expected. > > So the problematic system call on these systems is "fallocate". Thanks for tracking this down! What filesystem did you use there? In case it's not ext3/4 and you can try another reinstall using another filesystem to see if it helps, would be appreciated, because that would hint at a problem in the filesystem in the kernel. Thanks, Guillem

