speed up Firefox start by a factor of 3 on x86

John Reiser jreiser at BitWagon.com
Fri Mar 17 01:35:03 UTC 2006


The Firefox browser often takes 15 seconds to start because random placement
of the vDSO page disrupts the pre-linking of the 133 shared libraries involved.
(Fedora Core 5 Test 3, kernel-2.6.15-1.2054_FC5, updated by yum to today,
1.1GHz Athlon Plain, 768MB RAM, ext3 UDMA100 local disk.)  Similar delays
are encountered by any application that uses many or large shared libraries.

In contrast, Firefox always starts in 5 seconds or less on a kernel which places
the vDSO intelligently: just below the .text of ld-linux or the main executable.
This preserves the benefits of exec-shield (including randomization, when prelink
randomizes) without destroying performance.

Want to experience the difference for yourself?  These two kernels have
only my patch applied on top of what will be released Monday as Fedora Core 5:
  (14MB) http://bitwagon.com/ftp/kernel-2.6.15-1.2054_FC5.jreiser.i686.rpm
  (14MB) http://bitwagon.com/ftp/kernel-smp-2.6.15-1.2054_FC5.jreiser.i686.rpm
The source is
  (48MB) http://bitwagon.com/ftp/kernel-2.6.15-1.2054_FC5.jreiser.src.rpm
   (7KB) http://bitwagon.com/ftp/linux-2.6-x86-vdso-stacktop.patch
While running, you can revert to FC5 standard behavior by using
     echo 1  > /proc/sys/kernel/exec-shield
See the .patch for documentation.

This issue appears as part of
   https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=162797

-- 




More information about the fedora-devel-list mailing list