-
Notifications
You must be signed in to change notification settings - Fork 60
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
WIP: Add new custom event loop for Linux I/O layer #456
base: master
Are you sure you want to change the base?
Conversation
4cf0f12
to
24680d8
Compare
@decarv Rebase, squash, and CI |
24680d8
to
45da25d
Compare
45da25d
to
87204f9
Compare
@decarv Please, look at the CI |
Please, see if you can get the liburing version check in place as well |
Introduce ev.h and ev.c, establishing the foundation for the new custom event loop, `pgagroal_ev`. Replace previous dependencies on libev with the custom event loop. Implement support for io_uring with a fallback to epoll if io_uring is unavailable.
f57a6f3
to
4a8a32c
Compare
src/libpgagroal/ev.c
Outdated
} | ||
else | ||
{ | ||
pgagroal_log_debug("no ev backends available"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this should be at an higher level, like warn
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If there is no supported EV backend it should be FATAL and result in exit(1)
src/libpgagroal/ev.c
Outdated
|
||
if (!strlen(config->ev_backend)) | ||
{ | ||
pgagroal_log_warn("ev_backend not set in configuration file. Selected default: '%s'", FALLBACK_BACKEND); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add a note about the configuration tunable ev_backend
, so that the user knows how to configure it.
Also add the configuration setting to the documentation CONFIGURATION.md
and friends.
Introduce ev.h and ev.c, establishing the foundation for the new custom event loop, `pgagroal_ev`. Replace previous dependencies on libev with the custom event loop. Implement support for io_uring with a fallback to epoll if io_uring is unavailable. Update documentation.
4a8a32c
to
4258ac0
Compare
Issue with shutdown ? |
Yes. I will investigate shutdown issues. However, from the CI output it could be anything, really. |
Try and a TRACE log file for gcc and clang, and see if there are pointers there... |
Introduce ev.h and ev.c, establishing the
foundation for the new custom event loop,
pgagroal_ev
.Replace previous dependencies on libev with the
custom event loop.
Implement support for io_uring with a fallback to
epoll if io_uring is unavailable.