| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of sparse entries.
I started to add code to modify the children_map of the
parent entry when a child is evicted but that ended up
being too much trouble for too little gain. We have to be
prepared to handle the case of not finding a child entry
because there is no way to make sure that the process
doesn't go away at any time, so adding a lot of complexity
just to avoid an extra entry lookup is just not worth it.
On the other hand, potentially freeing up a lot of space when
a sparse entry is deleted (insetad of just waiting for the
eviction code to do the cleanup) seems like a good thing.
BUG=12258
TEST=unittest
Review URL: http://codereview.chromium.org/149306
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20325 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=15596
TEST=none
Review URL: http://codereview.chromium.org/155231
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20190 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We still have a few crashes when for some reason we believe
an entry is not dirty and we follow the pointer stored by
its rankings node only to crash while accessing the memory.
I have no explanation to why the dirty id matches the current
one (a page boundary issue maybe?), but having a map with all
open entries solves the issue of having to follow pointers
from disk.
BUG=15596, b/1120346
TEST=unittests
Review URL: http://codereview.chromium.org/149218
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20067 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Most of the changes are cosmetic, but there is also a
memory leak in CreateExpiredServer.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/153001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19788 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently we have several uses of %I64d in format strings to indicate
a 64-bit value. This does not work on Mac or Linux, where 'I'
indicates the use of locale specific digits.
Instead, we introduce base/format_macros.h which mimic the C99
standard macros for 64-bit values in a cross-platform manner.
Dean pointed out that V8 is handling this themselves rather than use
inttypes.h. Maybe we'll end up going down the same path but, for the
moment, we'll try and do it the 'correct' way and see how it works
out.
http://codereview.chromium.org/147154
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19500 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of the disk cache.
This switch is intended for troubleshooting, not to
add another supported configuration.
BUG=15117
TEST=none
Review URL: http://codereview.chromium.org/146136
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19439 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implemented the following methods:
MemEntryImpl::ReadSparseData
MemEntryImpl::WriteSparseData
MemEntryImpl::GetAvailableRange
TEST=DiskCacheEntryTest.Memory*
original CL: http://codereview.chromium.org/140049
Review URL: http://codereview.chromium.org/147217
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19380 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
TBR=rvargas
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/149041
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19308 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implemented the following methods for memory only cache:
ReadSparseData
WriteSparseData
GetAvailableRange
BUG=12258
Review URL: http://codereview.chromium.org/140049
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19270 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
on the cache size.
BUG=10727
TEST=none
Review URL: http://codereview.chromium.org/146129
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19256 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For some reason, I have less than 1% of clients taking part
of the eviction algorithm experiment, so I'm adding clients
again.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/147066
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19175 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TBR=nsylvain
BUG=none
Review URL: http://codereview.chromium.org/146054
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19071 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This is required to enable sparse caching.
BUG=12258
TEST=unittest
Review URL: http://codereview.chromium.org/146005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19069 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adding Read/Write support.
BUG=12258
TEST=unittests.
original review: http://codereview.chromium.org/126179
Review URL: http://codereview.chromium.org/132031
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18772 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
TBR=nsylvain
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18726 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adding Read/Write support.
BUG=12258
TEST=unittests.
Review URL: http://codereview.chromium.org/126179
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18723 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Defines enums for kParentEntry and kChildEntry in
MemEntryImpl. Also has code in MemBackendImpl to
create a slave entry. Parent entries are non-sparse
entries until sparse API are called on them, and
they would start to keep a list of child entries.
Child entries hold partial content and are not
susposed to be accessible from the public and
are managed by the parent entry that created it.
Child entries are registered in the backend's
ranking list to allow individual eviction. More
details about how child entries are to be used
are in the comments.
TEST=DiskCacheEntryTest.MemoryOnlyEnumerationWithSlaveEntries
Review URL: http://codereview.chromium.org/120004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18432 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
TrimCacheV2() calls EvictEntry() to move a given entry to
the "deleted" list. EvictEntry() deletes the actual data,
and that may end up calling ModifyStorageSize() and
TrimCacheV2() again.
BUG=b/1909376
TEST=none
Review URL: http://codereview.chromium.org/121002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18115 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Remove the callback id... it's not useful anymore.
BUG=none
TEST=current unit tests.
Review URL: http://codereview.chromium.org/118407
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17924 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/119218
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17772 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is just the interface declaration plus a mocked
implementation of the interface.
BUG=12258
TEST=none
Review URL: http://codereview.chromium.org/119072
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17669 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
Also adds more explicit #includes for needed things.
Review URL: http://codereview.chromium.org/118162
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17479 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since the code now does range request without any caching
the code path for passing file handle is not used any more.
Changes:
1. Remove response_data_file in webkit_glue::ResourceResponseHead
2. Remove response_data_file in net::ResourceInfo
3. Remove code that passes file handle using IPC
4. Remove code that passes file hadnle from network layer to ResourceDispatcherHost
5. Remove MediaResourceHandler
6. Remove code in disk_cache that expose the file handle
7. Remove ChromeURLRequestContext::CreateOffTheRecordForMedia() so no more OTR request context for media, in OTR mode simply memory cache is used
8. Reset cache size for media cache to default
BUG=12249
BUG=12256
Review URL: http://codereview.chromium.org/113931
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17227 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
TBR=nsylvain
Review URL: http://codereview.chromium.org/115848
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17053 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It is possible that the size for the index table is reduced when
the cache is restarted (the available disk space could be lower
than what it was when the cache was originally created). If that
is the case, not resetting mask_ to 0 will prevent the mask to
be set correctly for the new table size, resulting in a crash.
BUG=12378
TEST=unittests
Review URL: http://codereview.chromium.org/113930
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17052 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
is set.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/115271
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15918 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/114014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15646 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
after failing to map the index file.
BUG=11414
TEST=none
Review URL: http://codereview.chromium.org/100349
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15235 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/100240
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15088 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/99214
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14984 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
Enable the new eviction algorithm for 10% of the current
users on the dev channel.
Review URL: http://codereview.chromium.org/79064
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14229 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/79053
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14121 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
eviction algorithms without having to recompile the code.
Review URL: http://codereview.chromium.org/79031
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13909 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/67174
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13759 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/67144
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13717 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
(still limiting the ceiling).
Review URL: http://codereview.chromium.org/68007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13684 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/67046
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13535 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/62176
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13431 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"clean" is not really dirty.
If for some reason an entry is left on disk with a pointer
on the rankings node but without the dirty flag set, we now
recognize it as dirty the next time we read it from disk.
BUG=3987
TEST=DiskCacheTest.Backend_NotMarkedButDirty
Review URL: http://codereview.chromium.org/57024
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12820 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
base/string16.h uses EOF thus #include <stdio.h>
net/disk_cache/trace.cc uses vsnprintf thus #include <stdio.h>
Patch by Craig Schlenter <craig.schlenter@gmail.com>
Review URL: http://codereview.chromium.org/46092
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12777 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of BackendImpl.
This cl takes care of all the histograms on the disk cache. Most
of them have to be splitted in three so that we get separate data
from different cache types. There are a few places where the complexity
of splitting the histogram is not worth it so we just keep either all
data together (if it makes sense), or just ignore data for some types of
caches.
note: Having multiple versions of a histogram but only one "active" for a
given client is not the same as having multiple histograms working at the
same time for different objects.
Review URL: http://codereview.chromium.org/42682
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12692 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
at the same time (for media files).
Review URL: http://codereview.chromium.org/45061
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12561 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
multiple instances of BackendImpl. We need multiple
objects to be able to support media files on the cache.
After this change, histograms will be the only thing that
get messed up by multiple disk caches.
Review URL: http://codereview.chromium.org/49027
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12520 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
new users (so the file format has a valid create_time)
Histograms from dev channel (171) are incorrect.
Review URL: http://codereview.chromium.org/49032
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12505 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
There is no real change in functionality.
Review URL: http://codereview.chromium.org/42514
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12400 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/49017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12384 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now we separate data between before and after the cache
is full. Also, reduce the rate at which a particular
client sends data to be only once a week. The effect is
that the histogram data will only have one value per client,
and the same client will not be "voting" on more than one
version (release) at the same time.
Review URL: http://codereview.chromium.org/50063
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12218 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/42419
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12193 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/48171
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12070 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
the destructor is called, store them each five minutes.
From the dev channel, 15% of the runs the disk cache destructor
is not called, so the stats are not that reliable without
this change.
Review URL: http://codereview.chromium.org/42373
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12043 0039d316-1c4b-4281-b951-d872f2087c98
|