对GetFreeCount的取值比较困惑
yinghaoyu opened this issue · 5 comments
yinghaoyu commented
std::size_t GetFreeCount(std::size_t upto) {
return std::min(upto, std::max(upto / 2, kMinimumFreePerWash));
}
- 当
upto > 2 * kMinimumFreePerWash
,取upto / 2
显然大于kMinimumFreePerWash
。 - 当
2 * kMinimumFreePerWash >= upto >= kMinimumFreePerWash
,取kMinimumFreePerWash
。 - 当
kMinimumFreePerWash > upto
,取upto
显然小于kMinimumFreePerWash
。
请问这样取值的意义在哪?L32C1-L32C1
0x804d8000 commented
没理解问题,是说觉得这儿有bug吗
yinghaoyu commented
不是bug
,是觉得为什么要以这个逻辑取值
0x804d8000 commented
限制upto是为了避免一次释放太多阻塞太久,设置一个下界是为了避免每次释放太少导致反复跑这个逻辑
yinghaoyu commented
谢谢
yinghaoyu commented