Commit b197869b authored by Misha Shneerson's avatar Misha Shneerson Committed by Facebook Github Bot 8

Fix gcpu regression associated with 1ms tick in HHWheelTimer

Summary:
We should go back to 10ms granularity.
Because regressions -
https://www.facebook.com/groups/wfi/permalink/1107102889338325/

Reviewed By: haijunz

Differential Revision: D3616784

fbshipit-source-id: dc1d7ff5195ae836df4a334a9ac5c41164c0627b
parent 0a19e938
......@@ -496,7 +496,7 @@ class EventBase : private boost::noncopyable,
HHWheelTimer& timer() {
if (!wheelTimer_) {
wheelTimer_ = HHWheelTimer::newTimer(this, std::chrono::milliseconds(1));
wheelTimer_ = HHWheelTimer::newTimer(this);
}
return *wheelTimer_.get();
}
......
......@@ -135,7 +135,7 @@ TEST_F(HHWheelTimerTest, TestSchedulingWithinCallback) {
*/
TEST_F(HHWheelTimerTest, CancelTimeout) {
HHWheelTimer& t = eventBase.timer();
StackWheelTimer t(&eventBase, milliseconds(1));
// Create several timeouts that will all fire in 5ms.
TestTimeout t5_1(&t, milliseconds(5));
......@@ -350,7 +350,7 @@ TEST_F(HHWheelTimerTest, AtMostEveryN) {
*/
TEST_F(HHWheelTimerTest, SlowLoop) {
HHWheelTimer& t = eventBase.timer();
StackWheelTimer t(&eventBase, milliseconds(1));
TestTimeout t1;
TestTimeout t2;
......@@ -429,7 +429,7 @@ TEST_F(HHWheelTimerTest, DefaultTimeout) {
}
TEST_F(HHWheelTimerTest, lambda) {
HHWheelTimer& t = eventBase.timer();
StackWheelTimer t(&eventBase, milliseconds(1));
size_t count = 0;
t.scheduleTimeoutFn([&]{ count++; }, milliseconds(1));
eventBase.loop();
......@@ -439,14 +439,14 @@ TEST_F(HHWheelTimerTest, lambda) {
// shouldn't crash because we swallow and log the error (you'll have to look
// at the console to confirm logging)
TEST_F(HHWheelTimerTest, lambdaThrows) {
HHWheelTimer& t = eventBase.timer();
StackWheelTimer t(&eventBase, milliseconds(1));
t.scheduleTimeoutFn([&]{ throw std::runtime_error("expected"); },
milliseconds(1));
eventBase.loop();
}
TEST_F(HHWheelTimerTest, cancelAll) {
HHWheelTimer& t = eventBase.timer();
StackWheelTimer t(&eventBase, milliseconds(1));
TestTimeout tt;
t.scheduleTimeout(&tt, std::chrono::minutes(1));
EXPECT_EQ(1, t.cancelAll());
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment