Bug#481369: run ioniced and in background
#readahead-list (1:1.20060421.1016-5) unstable; urgency=low # # * Allow to run in the background, see README.Debian (Closes: #481369) # package readahead-list readahead tags 481369 + pending thanks On Tue, Sep 30, 2008 at 12:49:18PM +0200, Guus Sliepen wrote: On Mon, 02 Jun 2008 10:53:33 +0100, Scott James Remnant wrote: Running it in the background would mean you were seeking the disk all over the shop, On a solid state disk (CompactFlash, USB stick or otherwise), there is no overhead due to seeking. For rotating disks the kernel uses an elevator algorithm that minimises the amount of seeking necessary. This elevator and attempting to readahead pages that were already read by an application running in parallel. That is not a problem at all, the pages won't be read twice, the readahead will just be a no-op since the pages are already in memory, and readahead-list will then just continue with the next file. Likewise ioniceing readahead is basically moronic. If you run it in the foreground, it doesn't make a difference. If you run readahead-list in the background it will. Unless readahead-list really I have read you arguments, and I see no reason to not provide an option to enable such a behavior. See commit f0eab721c81c7810f69db8b30cc9b861cdab1f38, e.g. using gitweb: http://git.debian.org/?p=collab-maint/readahead-list.git;a=commit;h=f0eab72 from README.Debian == Running in background - If you want to run readahead-list in background, enable RUN_IN_BACKGROUND=true in /etc/default/readahead. This may be useful for medias without high seek times (e.g. SSD). When enabled, readahead-list will be running at idle priority, so the boot will not slow down. -- Julian Andres Klode - Free Software Developer Debian Developer - Contributing Member of SPI Ubuntu Member - Fellow of FSFE Website: http://jak-linux.org/ XMPP: juli...@jabber.org Debian: http://www.debian.org/ SPI: http://www.spi-inc.org/ Ubuntu: http://www.ubuntu.com/ FSFE: http://www.fsfe.org/ signature.asc Description: Digital signature
Bug#481369: run ioniced and in background
On Mon, 02 Jun 2008 10:53:33 +0100, Scott James Remnant wrote: Running it in the background would mean you were seeking the disk all over the shop, On a solid state disk (CompactFlash, USB stick or otherwise), there is no overhead due to seeking. For rotating disks the kernel uses an elevator algorithm that minimises the amount of seeking necessary. This elevator algorithm works best if there is multiple concurrent IO, because if there is only one thread doing IO, there is not much to schedule. For example, the readahead() call blocks according to its manpage, so if you just run readahead-list, you might actually see more disk seeks if the list itself is not optimised for the layout of the blocks on disk than if it runs in the background. and attempting to readahead pages that were already read by an application running in parallel. That is not a problem at all, the pages won't be read twice, the readahead will just be a no-op since the pages are already in memory, and readahead-list will then just continue with the next file. Likewise ioniceing readahead is basically moronic. If you run it in the foreground, it doesn't make a difference. If you run readahead-list in the background it will. Unless readahead-list really accurately predicts what files to read in what order, it could be that some boot scripts might start earlier or behave different than when the boot was profiled, and then they might want to read in some file that was not readahead yet. In that case you want to give that script precedence over readahead-list. -- Met vriendelijke groet / with kind regards, Guus Sliepen [EMAIL PROTECTED] signature.asc Description: Digital signature
Bug#481369: run ioniced and in background
On Thu, 2008-05-15 at 18:09 +0200, Julian Andres Klode wrote: Am Donnerstag, den 15.05.2008, 17:14 +0200 schrieb Alberto: Since version 1:0.20050517.0220-0ubuntu4, readahead runs in the foreground, not the background, in order to avoid i/o concurrency (which is slow). Not true. It runs in the foreground because the entire point of using readahead is to perform boot I/O in one optimal pass. Running it in the background would mean you were seeking the disk all over the shop, and attempting to readahead pages that were already read by an application running in parallel. While you do see a slight performance improvement when in the background, you always see an improvement in the foreground. Likewise ioniceing readahead is basically moronic. Scott -- Scott James Remnant [EMAIL PROTECTED] signature.asc Description: This is a digitally signed message part
Bug#481369: run ioniced and in background
[Alberto] I send attached both graphs as you suggested [bootchartioniced.png (image/png, inline)] [bootchartnotioniced.png (image/png, inline)] The graphs look strange. Are you sure the profiling worked as it should? The readahead run do not seem to have loaded all the files needed by the boot, as some files are read later in the boot sequence. Happy hacking, -- Petter Reinholdtsen -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#481369: run ioniced and in background
package: readahead version: 1.20060421.1016-3 severity: wishlist Since version 1:0.20050517.0220-0ubuntu4, readahead runs in the foreground, not the background, in order to avoid i/o concurrency (which is slow). A better approach: run with the ionice wrapper (not available at time of 1:0.20050517.0220-0ubuntu4) and in the background. This can make use of the many delays that exists at boot time. I think this shoud suffice: ... if /sbin/start-stop-daemon --start --background --quiet \ --pidfile /var/run/readahead-list.bogus \ --startas /usr/bin/ionice -- -c 3 /sbin/readahead-list -s /etc/readahead/boot; then ... Another variant is ionice -n7. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#481369: run ioniced and in background
Am Donnerstag, den 15.05.2008, 17:14 +0200 schrieb Alberto: package: readahead version: 1.20060421.1016-3 severity: wishlist Since version 1:0.20050517.0220-0ubuntu4, readahead runs in the foreground, not the background, in order to avoid i/o concurrency (which is slow). A better approach: run with the ionice wrapper (not available at time of 1:0.20050517.0220-0ubuntu4) and in the background. This can make use of the many delays that exists at boot time. In the next upload of readahead-list, I may change this, provided I receive further information. Therefore, please follow this procedure: 1. Run 'touch /etc/readahead/profile-once' and reboot 2. Install bootchart and renderer Now, do the following one time for standard readahead and one time for readahead with ionice: 3. Reboot with option 'init=/sbin/bootchartd' 4. Run bootchart to create an image 5. Send an email with both images attached. I think this shoud suffice: ... if /sbin/start-stop-daemon --start --background --quiet \ --pidfile /var/run/readahead-list.bogus \ --startas /usr/bin/ionice -- -c 3 /sbin/readahead-list -s /etc/readahead/boot; then ... Another variant is ionice -n7. -- Julian Andres Klode, Fellow of the Free Software Foundation Europe Debian Maintainer | Developer | Ubuntu Member try Debian: http://www.debian.org/ | my site: http://jak-linux.org/ jabber: [EMAIL PROTECTED] | IRC: juliank (FreeNode, OFTC) languages: German | English signature.asc Description: Dies ist ein digital signierter Nachrichtenteil