← Back to team overview

ubuntu-eee-coders team mailing list archive

[Bug 286454] [NEW] eee 1000 + bad vm settings + firefox3 bug = crap browsing experience

 

Public bug reported:

On the eee 1000 and maybe other systems, firefox 3 runs like a piece of
crap under 8.04.1.  This was reported here:

https://bugs.launchpad.net/ubuntu-eee/+bug/226469

This guy thinks that there's a problem with firefox 3 and the Atom
processor.  He is wrong.  Firefox 3 can be made to run great on ubuntu-
eee with some changes:

This is not, however, entirely the fault of firefox 3 (though it has a
bug) or ubuntu-eee or the hardware.

The problem is a combination of all 3:
* Firefox calls operating-system "sync" constantly unless you disable history.
* The SSD on the eee 1000 is really slow at writing.  Much slower than an ordinary hard drive.
* The kernel vm settings are not right for the SSD
-- also, indexing programs that chew through the drive and make big databases do not help.  I'm looking at you Google Desktop.

In order to resolve this problem you must do the following:
1. Disable history in firefox 3 by going to the preferences -> Privacy and unchecking "Keep my history for at least ..."  This keeps firefox from constantly calling sync and blocking until the operating system commits every dirty page to the SSD.
2. Disable laptop mode.  "chmod -x /usr/lib/pm-utils/power.d/laptop-tools".  This evil little script will enable laptop mode every time you unplug your AC.  Also, it will seriously mess with your VM settings.  Laptop mode is bad because every time a program reads a file from the disk, the computer then commits every oustanding write.  Good idea if you have a hard drive that must spin up to read.  Terrible idea if you have an SSD with bad write performance.
3. Set the kernel vm settings in /etc/sysctl.conf like so:
 vm.laptop_mode = 0
 vm.dirty_background_ratio = 20
 vm.dirty_expire_centisecs = 0
 vm.dirty_ratio = 80
 vm.dirty_writeback_centisecs = 0
What this does is: turn off laptop mode (described above); make sure the VM does not constantly try to write frequently updated files like the databases firefox uses to store every little detail of what happens in your browsing session; makes sure the VM doesn't intermittently just commit everything to the disk causing your eee PC to act flaky while this is happening.
4. Remove the vm.* settings from /etc/init.d/eeepc-config 

After you do all this, the eeepc browses like a macbook pro.

Items 2,3 and 4 above should be integrated with eeepc-config.  It needs
a way to detect if you have an eee 1000 or other solid-state drive
model.  This is not a good solution for hard-drive models.

Item 1 is tricky.  I'm reporting it as a bug to Mozilla, but surely it
won't get fixed in a release for a while.  The package maintainer might
be able to setup a script so that history is disabled by default, but it
needs to be disabled in a way that the user won't re-enable it unless he
really knows what he's doing.  Otherwise that use will think his eeepc
sucks and chuck it out the window.

** Affects: ubuntu-eee
     Importance: Undecided
         Status: New

-- 
eee 1000 + bad vm settings + firefox3 bug = crap browsing experience
https://bugs.launchpad.net/bugs/286454
You received this bug notification because you are a member of Ubuntu
Eee Coders, which is subscribed to Ubuntu Eee.

Status in Ubuntu Eee: New

Bug description:
On the eee 1000 and maybe other systems, firefox 3 runs like a piece of crap under 8.04.1.  This was reported here:

https://bugs.launchpad.net/ubuntu-eee/+bug/226469

This guy thinks that there's a problem with firefox 3 and the Atom processor.  He is wrong.  Firefox 3 can be made to run great on ubuntu-eee with some changes:

This is not, however, entirely the fault of firefox 3 (though it has a bug) or ubuntu-eee or the hardware.

The problem is a combination of all 3:
* Firefox calls operating-system "sync" constantly unless you disable history.
* The SSD on the eee 1000 is really slow at writing.  Much slower than an ordinary hard drive.
* The kernel vm settings are not right for the SSD
-- also, indexing programs that chew through the drive and make big databases do not help.  I'm looking at you Google Desktop.

In order to resolve this problem you must do the following:
1. Disable history in firefox 3 by going to the preferences -> Privacy and unchecking "Keep my history for at least ..."  This keeps firefox from constantly calling sync and blocking until the operating system commits every dirty page to the SSD.
2. Disable laptop mode.  "chmod -x /usr/lib/pm-utils/power.d/laptop-tools".  This evil little script will enable laptop mode every time you unplug your AC.  Also, it will seriously mess with your VM settings.  Laptop mode is bad because every time a program reads a file from the disk, the computer then commits every oustanding write.  Good idea if you have a hard drive that must spin up to read.  Terrible idea if you have an SSD with bad write performance.
3. Set the kernel vm settings in /etc/sysctl.conf like so:
 vm.laptop_mode = 0
 vm.dirty_background_ratio = 20
 vm.dirty_expire_centisecs = 0
 vm.dirty_ratio = 80
 vm.dirty_writeback_centisecs = 0
What this does is: turn off laptop mode (described above); make sure the VM does not constantly try to write frequently updated files like the databases firefox uses to store every little detail of what happens in your browsing session; makes sure the VM doesn't intermittently just commit everything to the disk causing your eee PC to act flaky while this is happening.
4. Remove the vm.* settings from /etc/init.d/eeepc-config 

After you do all this, the eeepc browses like a macbook pro.

Items 2,3 and 4 above should be integrated with eeepc-config.  It needs a way to detect if you have an eee 1000 or other solid-state drive model.  This is not a good solution for hard-drive models.

Item 1 is tricky.  I'm reporting it as a bug to Mozilla, but surely it won't get fixed in a release for a while.  The package maintainer might be able to setup a script so that history is disabled by default, but it needs to be disabled in a way that the user won't re-enable it unless he really knows what he's doing.  Otherwise that use will think his eeepc sucks and chuck it out the window.



Follow ups

References