-
Notifications
You must be signed in to change notification settings - Fork 13.1k
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
timerfd is incompatible with common linux kernels #13447
Comments
Another possibility is to completely axe the timerfd implementation of timers for libnative. We already have an implementation built on If we really do want to be gung-ho about supporting 2.6.18 and such, we need a bot building it to make sure this doesn't happen again. For now, I would probably be more in favor of removing timerfd completely and opening an issue about adding a 2.6.18 bot. Perhaps in the future we'll have a better way to support a timerfd implementation. |
It seems like its going to be a very small group of folks so conservative
|
Rust advertises itself as being compatible with linux 2.6.18, but the timerfd set of syscalls weren't added until linux 2.6.25. There is no real need for a specialized timer implementation beyond being a "little more accurate", but the select() implementation will suffice for now. If it is later deemed that an accurate timerfd implementation is needed, it can be added then through some method which will allow the standard distribution to continue to be compatible with 2.6.18 Closes rust-lang#13447
Rust advertises itself as being compatible with linux 2.6.18, but the timerfd set of syscalls weren't added until linux 2.6.25. There is no real need for a specialized timer implementation beyond being a "little more accurate", but the select() implementation will suffice for now. If it is later deemed that an accurate timerfd implementation is needed, it can be added then through some method which will allow the standard distribution to continue to be compatible with 2.6.18 Closes #13447
Feature detection at build time wouldn't be ideal for us. We build our rust code and ship shared objects. If the feature detection was at build time, we would need to ship builds for both kernels and figure out which so to load at runtime. @DaGenix this is an incorrect assertion. Rust can be used to build shared objects that are distributed in binary form to customers. Also, while 2.6.18 is an "old kernel" red hat enterprise linux has shipped a version of their OS w/ kernel 2.6.18 as recently as October 2013. Also, there is still at least one fairly large cloud hosting provider providing VMs w/ linux kernel 2.6.18. |
I don't doubt that 2.6.18 (and earlier) kernel will continue to be used for a long time. I would imagine that the majority of those folks have systems that are running fine and aren't interested in messing around with them. For that reason, I'm sceptical that that group of people is going to be interested in using any new software, let alone software written in a language that is still rapidly evolving. Regardless, the point isn't all that important. It will be interesting to see if Rust based programs do make inroads with the RHEL5 crowd. |
fix: Fix DidSaveDocument requests blocking the server on startup Follow up to rust-lang/rust-analyzer#13428 Fixes rust-lang/rust-analyzer#13434
We use timerfd for timers on linux, but this feature was only introduced in 2.6.22, and we expect these kernels to hang around in enterprise and embedded systems for years.
One solution is to feature-detect at build time, and turn timerfd off for snaps and bins.
The text was updated successfully, but these errors were encountered: