Necko/Cache/Plans

From MozillaWiki
Jump to navigation Jump to search

Type 1: Locking / Initialization Performance / Asynchronicity

These are run-time items, things that don't involve changing anything about the cache on-disk.

Open

  • 717761 - Main thread can be blocked by IO on the cache thread
  • 701909 - Disk cache seems to cause exceptionally slow startups(1min+)
  • 723362 - Make nsCacheEntryDescriptor::Doom asynchronous
  • 695399 - Remove synchronous cache API (nsICacheSession::openCacheEntry)
    • Alternatively leave them but entirely disabled on the main thread.
  • 761736 - CACHE_SERVICE_LOCK_MAINTHREAD possibly regressed
  • 744388, 762094 - New tab page shouldn't use synchronous cache APIs.
  • 763555 - Do not do I/O while holding the cache lock

Closed

  • 716293 - IO on the main thread caused by nsDiskCacheOutputStream::Close()
  • 722034 - Cache entry check--CheckCache()--is done on the main thread, causing the main thread to wait on the cache service lock, which may be blocked on disk I/O
  • 722033 - Remove calls to synchronous openCacheEntry in nsHttpChannel

Type 2: Deleting / Moving / Sizing Entire Cache

These items involve our ability to delete and move the disk cache as a whole, treating it as "black box."

Open

  • 745340 - Improve disk cache smart sizing for mobile
  • Allow cache to be deleted out from under us so that we can put cache in designated purge-able cache directories.
  • Make sure we are deleting unwanted caches as efficiently and with as little disruption as possible.
    • 754575 - Cache.Trash* files fill up disk space

Closed

Type 3: On-Disk Layout Changes

These items involve changing the on-disk layout for the cache, changing things inside the "black box."

Open

  • 105843 - Cache lost if Mozilla crashes
  • 715714 - Adapt cache based on io rates
  • 715752 - Add version numbers to cache
  • Disk layout optimizations for different device types (SSD vs. HDD)
  • 593198 - Use CACHE__00X files for larger sizes to lower total # of cache files

Closed

Prioritization

Only bug numbers go in this list. If it doesn't have a bug it can't be a priority. Any bugs in this list should also be in an above bucket with a description.

  1. 717761
  2. 105843