-
-
Notifications
You must be signed in to change notification settings - Fork 395
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
Revert "Implement fallback for sendmmsg
and recvmmsg
"
#1966
Conversation
026adea
to
b1fc3b2
Compare
e8934b7
to
7680e38
Compare
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.
This makes sense to me, but I'll want to wait for @Ralith's opinion.
Friendly ping @Ralith. Do you have some time to take a look? |
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.
Do we still need the ENOSYS
path and the recvmmsg_fallback
definition? Prior to e6f1844 we just called libc::recvmmgs
directly rather than wrapping it at all -- can we return to that?
This reverts commit e6f1844. e6f1844 called `sendmmsg` and `recvmmsg` through `libc::syscall` instead of `libc::sendmmsg` and `libc::recvmmsg`, thus preventing linking issues on old Android systems where `libc::sendmmsg` and `libc::recvmmsg` isn't available. In quinn-rs#1503 (comment) the decision was made to no longer support these old Android systems (API level 16). This commit reverts e6f1844. Given that `sendmmsg` support was previously dropped in ee08826, only the `recvmmsg` calls are reverted.
bf31877
to
fb44c77
Compare
Thank you for the review! I am fine with no longer supporting both:
(1) allows us to drop indirection I updated this pull request accordingly. @Ralith would you mind taking another look? |
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.
LGTM! I don't think Rust officially supports targeting linux 2.x anyway.
|
Thank you @djc for the prompt release. Very much appreciated 🙏 |
Currently we use `quinn-udp` `v0.5.4`. `quinn-udp` `v0.5.5` fixes [`recvmmsg` calls on Android x86](quinn-rs/quinn#1966). `quinn-udp` `v0.5.6` adds [experimental multi-message support on Apple platforms](quinn-rs/quinn#1993) and [fixes an unnecessary `windows-sys` version restriction](quinn-rs/quinn#2021). While not strictly necessary, given that our current version specification (i.e. `version = "0.5.4"`) already allows users to use Neqo with `quinn-udp` `v0.5.6`, this commit updates to `quinn-udp` `v0.5.6` anyways, thus making sure CI tests with latest version. In case mozilla#2208 lands, future compatible version updates would touch the `Cargo.lock` file, not `Cargo.toml`.
Currently we use `quinn-udp` `v0.5.4`. `quinn-udp` `v0.5.5` fixes [`recvmmsg` calls on Android x86](quinn-rs/quinn#1966). `quinn-udp` `v0.5.6` adds [experimental multi-message support on Apple platforms](quinn-rs/quinn#1993) and [fixes an unnecessary `windows-sys` version restriction](quinn-rs/quinn#2021). While not strictly necessary, given that our current version specification (i.e. `version = "0.5.4"`) already allows users to use Neqo with `quinn-udp` `v0.5.6`, this commit updates to `quinn-udp` `v0.5.6` anyways, thus making sure CI tests with latest version. In case #2208 lands, future compatible version updates would touch the `Cargo.lock` file, not `Cargo.toml`.
Currently we use `quinn-udp` `v0.5.4`. `quinn-udp` `v0.5.5` fixes [`recvmmsg` calls on Android x86](quinn-rs/quinn#1966). `quinn-udp` `v0.5.6` adds [experimental multi-message support on Apple platforms](quinn-rs/quinn#1993) and [fixes an unnecessary `windows-sys` version restriction](quinn-rs/quinn#2021). While not strictly necessary, given that our current version specification (i.e. `version = "0.5.4"`) already allows users to use Neqo with `quinn-udp` `v0.5.6`, this commit updates to `quinn-udp` `v0.5.6` anyways, thus making sure CI tests with latest version. In case #2208 lands, future compatible version updates would touch the `Cargo.lock` file, not `Cargo.toml`.
Currently we use `quinn-udp` `v0.5.4`. `quinn-udp` `v0.5.5` fixes [`recvmmsg` calls on Android x86](quinn-rs/quinn#1966). `quinn-udp` `v0.5.6` adds [experimental multi-message support on Apple platforms](quinn-rs/quinn#1993) and [fixes an unnecessary `windows-sys` version restriction](quinn-rs/quinn#2021). While not strictly necessary, given that our current version specification (i.e. `version = "0.5.4"`) already allows users to use Neqo with `quinn-udp` `v0.5.6`, this commit updates to `quinn-udp` `v0.5.6` anyways, thus making sure CI tests with latest version. In case #2208 lands, future compatible version updates would touch the `Cargo.lock` file, not `Cargo.toml`.
Currently we use `quinn-udp` `v0.5.4`. `quinn-udp` `v0.5.5` fixes [`recvmmsg` calls on Android x86](quinn-rs/quinn#1966). `quinn-udp` `v0.5.6` adds [experimental multi-message support on Apple platforms](quinn-rs/quinn#1993) and [fixes an unnecessary `windows-sys` version restriction](quinn-rs/quinn#2021). While not strictly necessary, given that our current version specification (i.e. `version = "0.5.4"`) already allows users to use Neqo with `quinn-udp` `v0.5.6`, this commit updates to `quinn-udp` `v0.5.6` anyways, thus making sure CI tests with latest version. In case #2208 lands, future compatible version updates would touch the `Cargo.lock` file, not `Cargo.toml`. Co-authored-by: Lars Eggert <lars@eggert.org>
Currently we use `quinn-udp` `v0.5.4`. `quinn-udp` `v0.5.5` fixes [`recvmmsg` calls on Android x86](quinn-rs/quinn#1966). `quinn-udp` `v0.5.6` adds [experimental multi-message support on Apple platforms](quinn-rs/quinn#1993) and [fixes an unnecessary `windows-sys` version restriction](quinn-rs/quinn#2021). While not strictly necessary, given that our current version specification (i.e. `version = "0.5.4"`) already allows users to use Neqo with `quinn-udp` `v0.5.6`, this commit updates to `quinn-udp` `v0.5.6` anyways, thus making sure CI tests with latest version. In case #2208 lands, future compatible version updates would touch the `Cargo.lock` file, not `Cargo.toml`. Co-authored-by: Lars Eggert <lars@eggert.org>
…ply-chain-reviewers,sunil https://bugzilla.mozilla.org/show_bug.cgi?id=1910360 replaced NSPR with quinn-udp for HTTP3 QUIC UDP IO on Firefox Nightly. Calls to `recvmmsg` were prohibited by seccomp on Android x86. See https://bugzilla.mozilla.org/show_bug.cgi?id=1910594, upstream quinn-udp tracking issue: quinn-rs/quinn#1947 and upstream quinn-udp fix: quinn-rs/quinn#1966 Now that the upstream fix is merged and released, this commit upgrads neqo_glue to use quinn-udp `v0.5.6`. In addition, given the fix, quinn-udp can now be used on Android x86 Firefox Nightly. Thus this commit also removes the conditional around the `network.http.http3.use_nspr_for_io` pref. Differential Revision: https://phabricator.services.mozilla.com/D220890
…ply-chain-reviewers,sunil https://bugzilla.mozilla.org/show_bug.cgi?id=1910360 replaced NSPR with quinn-udp for HTTP3 QUIC UDP IO on Firefox Nightly. Calls to `recvmmsg` were prohibited by seccomp on Android x86. See https://bugzilla.mozilla.org/show_bug.cgi?id=1910594, upstream quinn-udp tracking issue: quinn-rs/quinn#1947 and upstream quinn-udp fix: quinn-rs/quinn#1966 Now that the upstream fix is merged and released, this commit upgrads neqo_glue to use quinn-udp `v0.5.6`. In addition, given the fix, quinn-udp can now be used on Android x86 Firefox Nightly. Thus this commit also removes the conditional around the `network.http.http3.use_nspr_for_io` pref. Differential Revision: https://phabricator.services.mozilla.com/D220890 UltraBlame original commit: 768c0cdc9453e75f3adca22194c725f78d314cf2
…ply-chain-reviewers,sunil https://bugzilla.mozilla.org/show_bug.cgi?id=1910360 replaced NSPR with quinn-udp for HTTP3 QUIC UDP IO on Firefox Nightly. Calls to `recvmmsg` were prohibited by seccomp on Android x86. See https://bugzilla.mozilla.org/show_bug.cgi?id=1910594, upstream quinn-udp tracking issue: quinn-rs/quinn#1947 and upstream quinn-udp fix: quinn-rs/quinn#1966 Now that the upstream fix is merged and released, this commit upgrads neqo_glue to use quinn-udp `v0.5.6`. In addition, given the fix, quinn-udp can now be used on Android x86 Firefox Nightly. Thus this commit also removes the conditional around the `network.http.http3.use_nspr_for_io` pref. Differential Revision: https://phabricator.services.mozilla.com/D220890 UltraBlame original commit: 768c0cdc9453e75f3adca22194c725f78d314cf2
…ply-chain-reviewers,sunil https://bugzilla.mozilla.org/show_bug.cgi?id=1910360 replaced NSPR with quinn-udp for HTTP3 QUIC UDP IO on Firefox Nightly. Calls to `recvmmsg` were prohibited by seccomp on Android x86. See https://bugzilla.mozilla.org/show_bug.cgi?id=1910594, upstream quinn-udp tracking issue: quinn-rs/quinn#1947 and upstream quinn-udp fix: quinn-rs/quinn#1966 Now that the upstream fix is merged and released, this commit upgrads neqo_glue to use quinn-udp `v0.5.6`. In addition, given the fix, quinn-udp can now be used on Android x86 Firefox Nightly. Thus this commit also removes the conditional around the `network.http.http3.use_nspr_for_io` pref. Differential Revision: https://phabricator.services.mozilla.com/D220890 UltraBlame original commit: 768c0cdc9453e75f3adca22194c725f78d314cf2
Currently we use `quinn-udp` `v0.5.4`. `quinn-udp` `v0.5.5` fixes [`recvmmsg` calls on Android x86](quinn-rs/quinn#1966). `quinn-udp` `v0.5.6` adds [experimental multi-message support on Apple platforms](quinn-rs/quinn#1993) and [fixes an unnecessary `windows-sys` version restriction](quinn-rs/quinn#2021). While not strictly necessary, given that our current version specification (i.e. `version = "0.5.4"`) already allows users to use Neqo with `quinn-udp` `v0.5.6`, this commit updates to `quinn-udp` `v0.5.6` anyways, thus making sure CI tests with latest version. In case #2208 lands, future compatible version updates would touch the `Cargo.lock` file, not `Cargo.toml`. Co-authored-by: Lars Eggert <lars@eggert.org>
…ply-chain-reviewers,sunil https://bugzilla.mozilla.org/show_bug.cgi?id=1910360 replaced NSPR with quinn-udp for HTTP3 QUIC UDP IO on Firefox Nightly. Calls to `recvmmsg` were prohibited by seccomp on Android x86. See https://bugzilla.mozilla.org/show_bug.cgi?id=1910594, upstream quinn-udp tracking issue: quinn-rs/quinn#1947 and upstream quinn-udp fix: quinn-rs/quinn#1966 Now that the upstream fix is merged and released, this commit upgrads neqo_glue to use quinn-udp `v0.5.6`. In addition, given the fix, quinn-udp can now be used on Android x86 Firefox Nightly. Thus this commit also removes the conditional around the `network.http.http3.use_nspr_for_io` pref. Differential Revision: https://phabricator.services.mozilla.com/D220890
…ply-chain-reviewers,sunil https://bugzilla.mozilla.org/show_bug.cgi?id=1910360 replaced NSPR with quinn-udp for HTTP3 QUIC UDP IO on Firefox Nightly. Calls to `recvmmsg` were prohibited by seccomp on Android x86. See https://bugzilla.mozilla.org/show_bug.cgi?id=1910594, upstream quinn-udp tracking issue: quinn-rs/quinn#1947 and upstream quinn-udp fix: quinn-rs/quinn#1966 Now that the upstream fix is merged and released, this commit upgrads neqo_glue to use quinn-udp `v0.5.6`. In addition, given the fix, quinn-udp can now be used on Android x86 Firefox Nightly. Thus this commit also removes the conditional around the `network.http.http3.use_nspr_for_io` pref. Differential Revision: https://phabricator.services.mozilla.com/D220890
This reverts commit e6f1844.
e6f1844 called
sendmmsg
andrecvmmsg
throughlibc::syscall
instead oflibc::sendmmsg
andlibc::recvmmsg
, thus preventing linking issues on old Android systems wherelibc::sendmmsg
andlibc::recvmmsg
isn't available.In #1503 (comment) the suggestion was made to no longer support these old Android systems (API level 16).
This commit reverts e6f1844. Given that
sendmmsg
support was previously dropped in ee08826, only therecvmmsg
calls are reverted.Alternative to #1964. Given the additional simplicity, my preference is for this change.