| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
change the queue of entry operations so that the operation
that is posted is kept on the list.
BUG=54338
TEST=net_unittests
Review URL: http://codereview.chromium.org/3744007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65118 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
should result in data going to an external file.
After PrepareBuffer() we must always have either a buffer
that will receive the user data, or an initialized address
that points to the correct block or external file to
receive the data.
This CL makes sure that when we end up without a buffer, the
second condition is met.
BUG=56872
TEST=net_unittests
Review URL: http://codereview.chromium.org/3471016
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60958 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
throttling cache requests.
BUG=54338
TEST=none
Review URL: http://codereview.chromium.org/3388009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59729 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
from the block files.
Stress testing the cache reveals a problem with the deletion
of some data from an entry: it is possible to crash in a way
that the block file thinks a block is free and an entry
thinks the block is in use. This CL corrects that issue.
There is also some new tests and a bunch of DCHECKS added
while looking for the problem, as well as adding tests to
make sure that a block file is accessed only from one thread
(there is no problem with the current code in that regard)
BUG=55605
TEST=netunittests
Review URL: http://codereview.chromium.org/3430004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59711 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This makes browser.h not depend on extension.h.
BUG=none
TEST=compiles
Review URL: http://codereview.chromium.org/3399008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59588 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Note that no throttling is performed with this change,
the backend is not activating the feature.
BUG=54338
TEST=none.
Review URL: http://codereview.chromium.org/3416002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59437 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Adding/Moving dtors of objects that have CancelableRequestConsumers shaves
three megs off browser.a.
- Adding/Moving dtors of objects that have ScopedRunnableMethodFactories only
shaved 100k off browser.a/renderer.a.
- Adding/Moving dtors of objects that used some form of base::*Timer<> was
negligible; there were only a few classes that had a Timer but had a
ctor/dtor in the header after the previous cleanups.
BUG=none
TEST=compiles
Review URL: http://codereview.chromium.org/3278006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58192 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to cover external files.
We now keep a variable-size buffer and use it even after we
know that the data is not going to be stored by a block-file.
The backend keeps track of the total memory used by all entries
and prevents that value from going over a max value that
depends on the total memory available.
This CL removes the tests that were checking the synchronous
operation of sparse IO because that model is no longer supported
by the public API, and this CL would add complexity to them
(they fail due to thread safety concerns).
BUG=6626
TEST=net_unittests
Review URL: http://codereview.chromium.org/3167020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57082 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
with a weak pointer to avoid crashing at shutdown.
BUG=50082
TEST=net_unittests
Review URL: http://codereview.chromium.org/3054012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53838 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=50273
TEST=everything still builds, build is 10% faster on windows, same speed on mac/linux
TBR: erg
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53716 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=49547
TEST=none
Review URL: http://codereview.chromium.org/3008014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53421 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The evictions code may post tasks for further processing and
that is a problem at cache destruction, so add an explicit
method to stop evictions.
BUG=49547
TEST=none
Review URL: http://codereview.chromium.org/2854053
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52964 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=26730
TEST=none
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52527 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add an InFlightBackendIO class that handles posting of
cacheoperations back and forth between the IO thread and
the cachethread.
BUG=26730
TEST=unit tests
Review URL: http://codereview.chromium.org/2945002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52185 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/2863039
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52140 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add an InFlightBackendIO class that handles posting of
cacheoperations back and forth between the IO thread and
the cachethread.
BUG=26730
TEST=unit tests
Review URL: http://codereview.chromium.org/2827043
TBR=rvargas@google.com
Review URL: http://codereview.chromium.org/2944002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51874 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add an InFlightBackendIO class that handles posting of
cacheoperations back and forth between the IO thread and
the cachethread.
BUG=26730
TEST=unit tests
Review URL: http://codereview.chromium.org/2827043
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51858 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add an InFlightBackendIO class that handles posting of
cacheoperations back and forth between the IO thread and
the cachethread.
BUG=26730
TEST=unit tests
Review URL: http://codereview.chromium.org/2841034
TBR=rvargas@google.com
Review URL: http://codereview.chromium.org/2881010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51469 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add an InFlightBackendIO class that handles posting of
cacheoperations back and forth between the IO thread and
the cachethread.
BUG=26730
TEST=unit tests
Review URL: http://codereview.chromium.org/2841034
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51456 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(tsan errors on the unit tests)
Add an InFlightBackendIO class that handles posting of
cacheoperations back and forth between the IO thread and
the cachethread.
BUG=26730
TEST=unit tests
Review URL: http://codereview.chromium.org/2829008
TBR=nsylvain@chromium.org
Review URL: http://codereview.chromium.org/2819032
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51325 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add an InFlightBackendIO class that handles posting of
cacheoperations back and forth between the IO thread and
the cachethread.
BUG=26730
TEST=unit tests
Review URL: http://codereview.chromium.org/2829008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51312 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=26730
TEST=current tests
Review URL: http://codereview.chromium.org/2869005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50147 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
the new interface (provide a cache thread and callback).
BUG=26730
TEST=unit tests
Review URL: http://codereview.chromium.org/2739007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49819 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
TODO: Fix the remaining usages in third_party libraries and get rid of the macro in question.
BUG=None
TEST=trybots
Review URL: http://codereview.chromium.org/2657005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49032 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
More changes to the state machine: now we really issue
asynchronous calls when getting new cache entries. We have
to add a new serialization mechanism to the http cache in
order to handle races among multiple requests creating and
opening the same entry.
BUG=26729
TEST=unittests
Review URL: http://codereview.chromium.org/523019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36211 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
of any operation that may block.
BUG=26730
TEST=none
Review URL: http://codereview.chromium.org/355028
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31160 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
wstring. After this patch, I'm able to start chrome in a
user data dir with non-ascii characters on non-utf8 systems.
BUG=24444
Review URL: http://codereview.chromium.org/267085
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29136 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=24444
Review URL: http://codereview.chromium.org/274012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28873 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
This converts BackendImpl to using FilePath.
BUG=24444
Review URL: http://codereview.chromium.org/261045
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28711 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
algorithm by default.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/248022
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27514 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
10 pending operations to 5.
Data from the Beta channel shows that for all group sizes
except one, the 99.90% cutoff of number of pending
operations falls below 5 (in fact, below 3).
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/164355
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23120 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also, fix the code that makes the unit tests have
consistent results.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/160485
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22238 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We now have a map of open entries so we don't need to
do a lookup through the rankings node anymore. This
simplifies the 64 bit version of the code.
BUG=17881
TEST=unittests
Review URL: http://codereview.chromium.org/159643
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22074 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now the code that releases resources runs from the message loop
so that methods can cause the cache to disable itself while
still being able to touch internal state.
BUG=17604
TEST=unittests.
Review URL: http://codereview.chromium.org/159327
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21550 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
when doing evictions or enumerations.
This cl fixes an issue with dirty entries being deleted
twice from disk, and improves the whole thing so that
different flavors or corrupt entries are removed
gracefully. We started deleting things twice when we
created the map of currently-open entries, because
we don't want to have dirty entries on that map, so it is
possible to have multiple EntryImpl objects that refer
to the same entry (for corrupt entries).
BUG=17474
TEST=Unittests, stress_cache.exe
Review URL: http://codereview.chromium.org/155951
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21360 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=10727
TEST=none
Review URL: http://codereview.chromium.org/155314
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20330 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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
(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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
Normalize end of file newlines in net/. All files end in a single newline.
Review URL: http://codereview.chromium.org/43079
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11442 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Disabled by a #def. When enabled, file format 2.1 is used,
with a possible update from ver 2.0. If a version with this
code disabled is run after the upgrade, it will just
discard the file and go back to 2.0.
We now put some of those extra list to use! Entries are
separated into various lists depending on how often are
used, and we keep track of previously evicted entries.
If the new algorithm is not enabled, most of the code just
goes through a different path (with the old code instead of
the new one). One notable exception is OpenFollowingEntry,
used to enumerate the entries on the cache; the code changed
significantly to support the new version of the "cache
iterator", but functionally should do the same as the current
code.
Review URL: http://codereview.chromium.org/27345
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11145 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
There should be no change in behavior with this CL.
Review URL: http://codereview.chromium.org/14183
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7190 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The rankings module now works with any list, not just
the first one. This is part of the support needed for
new eviction algorithms.
note: Rankings::CheckList() is basically the code that
was implementing the old Rankings::SelfCheck() (moved
with this cl).
The disk cache behavior is not changing with this cl.
Review URL: http://codereview.chromium.org/14141
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7074 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
increasing the maximum cache size.
There will be three groups on the experiment, each group with
10% of the users (Dev Channel). Each group will have the max
cache size increased by a factor from 2 to 4 times the current
size, and we'll measure the age of evicted entries.
I'm also adding a few metrics of reliability, to detect how
often we're not getting to do proper cleanup.
Review URL: http://codereview.chromium.org/14013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6847 0039d316-1c4b-4281-b951-d872f2087c98
|