mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2025-02-25 15:10:48 +01:00
Merge remote-tracking branch 'tor-gitlab/mr/269' into maint-0.4.5
This commit is contained in:
commit
3d952b461d
2 changed files with 17 additions and 1 deletions
6
changes/bug24857
Normal file
6
changes/bug24857
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
o Minor bugfixes (directory cache, performance, windows):
|
||||||
|
- Limit the number of items in the consensus diff cache to 64 on Windows.
|
||||||
|
We hope this will resolve an issue where Windows relay operators reported
|
||||||
|
Tor using 100% CPU while we investigate better solutions. Fixes bug 24857;
|
||||||
|
bugfix on tor-0.3.1.1-alpha.
|
||||||
|
|
|
@ -177,6 +177,16 @@ typedef struct cdm_diff_t {
|
||||||
/** Hashtable mapping flavor and source consensus digest to status. */
|
/** Hashtable mapping flavor and source consensus digest to status. */
|
||||||
static HT_HEAD(cdm_diff_ht, cdm_diff_t) cdm_diff_ht = HT_INITIALIZER();
|
static HT_HEAD(cdm_diff_ht, cdm_diff_t) cdm_diff_ht = HT_INITIALIZER();
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
// XXX(ahf): For tor#24857, a contributor suggested that on Windows, the CPU
|
||||||
|
// begins to spike at 100% once the number of files handled by the consensus
|
||||||
|
// diff manager becomes larger than 64. To see if the issue goes away, we
|
||||||
|
// hardcode this value to 64 now while we investigate a better solution.
|
||||||
|
# define CACHE_MAX_NUM 64
|
||||||
|
#else
|
||||||
|
# define CACHE_MAX_NUM 128
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Configuration for this module
|
* Configuration for this module
|
||||||
*/
|
*/
|
||||||
|
@ -184,7 +194,7 @@ static consdiff_cfg_t consdiff_cfg = {
|
||||||
// XXXX I'd like to make this number bigger, but it interferes with the
|
// XXXX I'd like to make this number bigger, but it interferes with the
|
||||||
// XXXX seccomp2 syscall filter, which tops out at BPF_MAXINS (4096)
|
// XXXX seccomp2 syscall filter, which tops out at BPF_MAXINS (4096)
|
||||||
// XXXX rules.
|
// XXXX rules.
|
||||||
/* .cache_max_num = */ 128
|
/* .cache_max_num = */ CACHE_MAX_NUM
|
||||||
};
|
};
|
||||||
|
|
||||||
static int consdiffmgr_ensure_space_for_files(int n);
|
static int consdiffmgr_ensure_space_for_files(int n);
|
||||||
|
|
Loading…
Add table
Reference in a new issue