Firefox/Goals/2010Q1/IO Reduction
Jump to navigation
Jump to search
Pitch
Reducing I/O operations on the main thread will remove potential points of hanging that users experience, providing a substantially better user experience to our users. Removing at least 50% of our current I/O operations (as of January 1, 2010) from the main thread.
Goals
- Reduce at least 50% of the I/O operations on the main thread (read, write, fsync, fstat) based on a certain set of criteria.
Non-Goals
- Reduce the number of I/O operations that we do
Status
- IN FLIGHT
- Project Lead: sdwilsh
- Project Members: Bjarne, mak, rflint, Unfocused
- Cookie stuff should have a new patch up this week. About 27% of the IO has been removed from mozilla-central. See this table for more details
Timeline / Milestones
Initial numbers from v1.1 of the criteria are:
- write counts: 4084
- read counts: 1073
- fsync counts: 49
- total count: 5206
These are the bugs of interest:
Bug | Owner | Status | reads | writes | fsyncs | fstats | % I/O Responsible |
---|---|---|---|---|---|---|---|
bug 513074 - remove sync writes from current cache | Bjarne | landed | 1423 | 3 | 27.3% | ||
bug 536978 - Cookies should write asynchronously | sdwilsh | need to address review comments | 1137 | 21.8% | |||
bug 540765 | mak | some bits landed in bug bug 522855. Revising Favicon Service interface to make it async. | 10 | 111 | 2.3% | ||
bug 513008 - Eliminate synchronous reads from cache | michal.novotny | wip patch up; discussion ongoing | 75 | 1.4% | |||
bug 546255 - Make nsIBrowserHistory.[un]registerOpenPage async | Unfocused | ? | ? | ? | |||
bug 541779 - Make site-specific zoom check asynchronous | rflint | waiting on review | ? | ? | ? | ||
bug 461199 - Make visitedness checks asynchronous | sdwilsh | landed | ? | ? | ? |
Delivery Requirements
This work must be landed on mozilla-central by March 31, 2010.
Constraints
None
Dependencies
None
Testing
Our normal automated testing should be sufficient here. Numbers of calls are generated by this DTrace script.
Related Projects
None