New issue
Advanced search Search tips

Issue 913107 link

Starred by 1 user

Issue metadata

Status: Available
Owner:
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Task

Blocking:
issue 611732
issue 853518



Sign in to add a comment

try to read stream 0 and footer in a single file read

Project Member Reported by wanderview@chromium.org, Dec 7

Issue description

As discussed in bug 611732 there are a number of seeks involved with opening a simple disk_cache entry.  Lets try to avoid some of them by reading stream 0 and the footer in a single operation.  The amount to read can either be speculative or stashed in the index to get the exact amount.

I have some work-in-progress that shows some promise with APP_CACHE mode.
 
Cc: morlovich@chromium.org
Project Member

Comment 2 by bugdroid1@chromium.org, Jan 4

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2a7d9319edab9fc103f2c7e34a5fa2f82e5fb0aa

commit 2a7d9319edab9fc103f2c7e34a5fa2f82e5fb0aa
Author: Ben Kelly <wanderview@chromium.org>
Date: Fri Jan 04 05:16:10 2019

SimpleCache: Add support for prefetching entry trailer data.

The SimpleCache stores stream 0 and a footer at the end of the entry
file.  Currently it must seek to the end to read the footer and then
seek to the beginning of stream 0 to read it.  This seeking may be
costly on devices with spinning disks.

This CL adds support for prefetching the entire stream 0 and footer
in a single read operation.  The amount to prefetch may be
speculatively set or, when in APP_CACHE mode, stored in the index.
Storing the exact amount is only supported in APP_CACHE mode since the
access time field is not needed in that mode and can be reused.

Bug: 913107
Change-Id: I3877fc08875bf0206bda9b97bd119d3543877016
Reviewed-on: https://chromium-review.googlesource.com/c/1366762
Reviewed-by: Steven Holte <holte@chromium.org>
Reviewed-by: Maks Orlovich <morlovich@chromium.org>
Commit-Queue: Ben Kelly <wanderview@chromium.org>
Cr-Commit-Position: refs/heads/master@{#619885}
[modify] https://crrev.com/2a7d9319edab9fc103f2c7e34a5fa2f82e5fb0aa/net/disk_cache/backend_unittest.cc
[modify] https://crrev.com/2a7d9319edab9fc103f2c7e34a5fa2f82e5fb0aa/net/disk_cache/entry_unittest.cc
[modify] https://crrev.com/2a7d9319edab9fc103f2c7e34a5fa2f82e5fb0aa/net/disk_cache/simple/simple_backend_version.h
[modify] https://crrev.com/2a7d9319edab9fc103f2c7e34a5fa2f82e5fb0aa/net/disk_cache/simple/simple_entry_impl.cc
[modify] https://crrev.com/2a7d9319edab9fc103f2c7e34a5fa2f82e5fb0aa/net/disk_cache/simple/simple_entry_impl.h
[modify] https://crrev.com/2a7d9319edab9fc103f2c7e34a5fa2f82e5fb0aa/net/disk_cache/simple/simple_file_tracker_unittest.cc
[modify] https://crrev.com/2a7d9319edab9fc103f2c7e34a5fa2f82e5fb0aa/net/disk_cache/simple/simple_histogram_enums.h
[modify] https://crrev.com/2a7d9319edab9fc103f2c7e34a5fa2f82e5fb0aa/net/disk_cache/simple/simple_index.cc
[modify] https://crrev.com/2a7d9319edab9fc103f2c7e34a5fa2f82e5fb0aa/net/disk_cache/simple/simple_index.h
[modify] https://crrev.com/2a7d9319edab9fc103f2c7e34a5fa2f82e5fb0aa/net/disk_cache/simple/simple_index_file.cc
[modify] https://crrev.com/2a7d9319edab9fc103f2c7e34a5fa2f82e5fb0aa/net/disk_cache/simple/simple_index_file.h
[modify] https://crrev.com/2a7d9319edab9fc103f2c7e34a5fa2f82e5fb0aa/net/disk_cache/simple/simple_index_file_unittest.cc
[modify] https://crrev.com/2a7d9319edab9fc103f2c7e34a5fa2f82e5fb0aa/net/disk_cache/simple/simple_index_unittest.cc
[modify] https://crrev.com/2a7d9319edab9fc103f2c7e34a5fa2f82e5fb0aa/net/disk_cache/simple/simple_synchronous_entry.cc
[modify] https://crrev.com/2a7d9319edab9fc103f2c7e34a5fa2f82e5fb0aa/net/disk_cache/simple/simple_synchronous_entry.h
[modify] https://crrev.com/2a7d9319edab9fc103f2c7e34a5fa2f82e5fb0aa/net/disk_cache/simple/simple_version_upgrade.cc
[modify] https://crrev.com/2a7d9319edab9fc103f2c7e34a5fa2f82e5fb0aa/testing/variations/fieldtrial_testing_config.json
[modify] https://crrev.com/2a7d9319edab9fc103f2c7e34a5fa2f82e5fb0aa/tools/metrics/histograms/enums.xml
[modify] https://crrev.com/2a7d9319edab9fc103f2c7e34a5fa2f82e5fb0aa/tools/metrics/histograms/histograms.xml

Sign in to add a comment