graphene
graphene copied to clipboard
Supporting timerfd_create
Is the timerfd_create syscall on a roadmap of being supported?
Not any time soon, unfortunately. There are plans to work on such low-level interfaces, but this work will not be done earlier than say mid-summer.
We are aware that some applications (in particular, IoT applications) rely on timerfd. We have broad plans to support such IoT use cases. However, we are currently targeting more data-centric applications.
But we would appreciate any suggestions on timerfd. What is the exact usage of timerfd in your scenarios? What functionality at a minimum it should support? Do you need it for communication with non-Graphene applications and/or host OS?
We've had some discussions regarding this in other threads and repos. Ref: https://github.com/emilhem/graphene-erlang/issues/2, https://github.com/emilhem/graphene-erlang/issues/3
But to summarize:
Erlang has this as an optional dependency (although currently not yet a configurable option (ref: https://bugs.erlang.org/browse/ERL-1258), but you can patch files to enforce it (ref: https://github.com/emilhem/graphene-erlang/blob/timerfd-disabled/Makefile#L58))
Erlang uses timerfd for more high resolution control of its schedulers.