On Sat, Mar 5, 2011 at 3:18 PM, <stef...@apache.org> wrote: > Author: stefan2 > Date: Sat Mar 5 21:18:33 2011 > New Revision: 1078357 > > URL: http://svn.apache.org/viewvc?rev=1078357&view=rev > Log: > Merge all changes (r1072541 - r1078213) from the > integrate-txdelta-caching branch. > > These patches introduce caching of txdelta hunks > to reduce disk I/O in operations like dump / verify. > > Modified: > subversion/trunk/ (props changed) > subversion/trunk/build.conf > subversion/trunk/subversion/libsvn_fs_fs/caching.c > subversion/trunk/subversion/libsvn_fs_fs/fs.h > subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c > subversion/trunk/subversion/svnadmin/main.c > > Propchange: subversion/trunk/ > ------------------------------------------------------------------------------ > --- svn:mergeinfo (original) > +++ svn:mergeinfo Sat Mar 5 21:18:33 2011 > @@ -21,6 +21,7 @@ > /subversion/branches/integrate-partial-getter:1072558-1076552 > /subversion/branches/integrate-readline-speedup:1072553-1072555 > /subversion/branches/integrate-stream-api-extensions:1068695-1072516 > +/subversion/branches/integrate-txdelta-caching:1072541-1078213 > /subversion/branches/issue-2779-dev:965496-984198 > /subversion/branches/issue-2843-dev:871432-874179 > /subversion/branches/issue-3000:871713,871716-871719,871721-871726,871728,871734 > @@ -34,7 +35,7 @@ > /subversion/branches/log-g-performance:870941-871032 > /subversion/branches/merge-skips-obstructions:874525-874615 > /subversion/branches/nfc-nfd-aware-client:870276,870376 > -/subversion/branches/performance:979193,980118,981087,981090,981189,981194,981287,981684,981827,982043,982355,983398,983406,983474,983488,983490,983764,983766,983770,984927,984973,984984,985014,985037,985046,985472,985477,985482,985487-985488,985493,985497,985500,985514,985601,985603,985606,985669,985695,986453,986465,986485,986491-986492,986517,986521,986605,986608,986817,986832,987865,987868-987869,987872,987886-987888,987893,988319,988898,990330,990533,990535-990537,990541,990568,990572,990574-990575,990600,990759,992899,992911,993127,993141,994956,995478,995507,995603,998012,998858,999098,1001413,1001417,1004291,1022668,1022670,1022676,1022715,1022719,1025660,1025672,1027193,1027203,1027206,1027214,1027227,1028077,1028092,1028094,1028104,1028107,1028111,1028354,1029038,1029042-1029043,1029054-1029055,1029062-1029063,1029078,1029080,1029090,1029092-1029093,1029111,1029151,1029158,1029229,1029232,1029335-1029336,1029339-1029340,1029342,1029344,1030763,1030827,1031203,10312 > 35,1032285,1032333,1033040,1033057,1033294,1035869,1039511,1043705,1053735,1056015,1066452,1067683 > +/subversion/branches/performance:979193,980118,981087,981090,981189,981194,981287,981684,981827,982043,982355,983398,983406,983430,983474,983488,983490,983764,983766,983770,984927,984973,984984,985014,985037,985046,985472,985477,985482,985487-985488,985493,985497,985500,985514,985601,985603,985606,985669,985695,986453,986465,986485,986491-986492,986517,986521,986605,986608,986817,986832,987865,987868-987869,987872,987886-987888,987893,988319,988898,990330,990533,990535-990537,990541,990568,990572,990574-990575,990600,990759,992899,992911,993127,993141,994956,995478,995507,995603,998012,998858,999098,1001413,1001417,1004291,1022668,1022670,1022676,1022715,1022719,1025660,1025672,1027193,1027203,1027206,1027214,1027227,1028077,1028092,1028094,1028104,1028107,1028111,1028354,1029038,1029042-1029043,1029054-1029055,1029062-1029063,1029078,1029080,1029090,1029092-1029093,1029111,1029151,1029158,1029229,1029232,1029335-1029336,1029339-1029340,1029342,1029344,1030763,1030827,103120 > 3,1031235,1032285,1032333,1033040,1033057,1033294,1035869,1039511,1043705,1053735,1056015,1066452,1067683 > /subversion/branches/py-tests-as-modules:956579-1033052 > /subversion/branches/ra_serf-digest-authn:875693-876404 > /subversion/branches/reintegrate-improvements:873853-874164 > > Modified: subversion/trunk/build.conf > URL: > http://svn.apache.org/viewvc/subversion/trunk/build.conf?rev=1078357&r1=1078356&r2=1078357&view=diff > ============================================================================== > --- subversion/trunk/build.conf (original) > +++ subversion/trunk/build.conf Sat Mar 5 21:18:33 2011 > @@ -121,7 +121,7 @@ type = exe > path = subversion/svnadmin > install = bin > manpages = subversion/svnadmin/svnadmin.1 > -libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr apriconv apr > +libs = libsvn_repos libsvn_fs libsvn_fs_util libsvn_delta libsvn_subr > apriconv apr > > # The subversion repository dump filtering tool > [svndumpfilter] > > Modified: subversion/trunk/subversion/libsvn_fs_fs/caching.c > URL: > http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/caching.c?rev=1078357&r1=1078356&r2=1078357&view=diff > ============================================================================== > --- subversion/trunk/subversion/libsvn_fs_fs/caching.c (original) > +++ subversion/trunk/subversion/libsvn_fs_fs/caching.c Sat Mar 5 21:18:33 > 2011 > @@ -205,5 +205,27 @@ svn_fs_fs__initialize_caches(svn_fs_t *f > SVN_ERR(svn_cache__set_error_handler(ffd->fulltext_cache, > warn_on_cache_errors, fs, pool)); > > + /* if enabled, enable the txdelta window cache */ > + if (svn_fs__get_global_membuffer_cache() && > + svn_fs_get_cache_config()->cache_txdeltas) > + { > + SVN_ERR(svn_cache__create_membuffer_cache > + (&(ffd->txdelta_window_cache),
Please remove the whitespace before the opening paren of the function call. > + svn_fs__get_global_membuffer_cache(), > + svn_fs_fs__serialize_txdelta_window, > + svn_fs_fs__deserialize_txdelta_window, > + APR_HASH_KEY_STRING, > + apr_pstrcat(pool, prefix, "TXDELTA_WINDOW", (char *)NULL), > + fs->pool)); > + } > + else > + { > + ffd->txdelta_window_cache = NULL; > + } > + > + if (ffd->txdelta_window_cache && ! no_handler) > + SVN_ERR(svn_cache__set_error_handler(ffd->txdelta_window_cache, > + warn_on_cache_errors, fs, pool)); > + > return SVN_NO_ERROR; > }