Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Eliminate the separate timer #24

Open
gdamore opened this issue Jul 18, 2017 · 1 comment
Open

Eliminate the separate timer #24

gdamore opened this issue Jul 18, 2017 · 1 comment

Comments

@gdamore
Copy link
Contributor

gdamore commented Jul 18, 2017

The timer logic we have in src/core/timer.c could probably go away now. The main timeouts we have are using aios and their builtin timers, and it seems that the timer.c code is now duplicate; it also forces yet another thread to be created.

@gdamore
Copy link
Contributor Author

gdamore commented Apr 20, 2018

Just a note here, the structure of aios and cancellation of them seems to be somewhat rough, in that cancellation of the aio may cost quite a bit, whereas with timers we can simply deschedule the timer. The REQ protocol makes use of this to reduce the cost of what would otherwise be a fairly frequent code path.

One thing we might look at doing is scheduling a receive from the REQ, even before the client has issued it, and then having that timeout. That would allow us to use the same AIO for both purposes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant