-
-
Notifications
You must be signed in to change notification settings - Fork 416
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
Android is broken on master (GSO is enabled) #2042
Comments
cc @larseggert / @mxinden -- have you deployed quinn-udp 0.5.7 to Nightly already? |
Taking a look now.
We have not yet. Also, we don't do GSO (yet). |
Yes, you are right. Sorry for not catching this earlier. On a more general note, ignoring the fact that this should not have happened in adc4a06, what is the reason to disable GSO on Android? I am not familiar with |
I think this was an accident. Probably it didn't occur to me that android didn't count as linux for
Is this fixed by #2046? |
#2047 should get this stuff working as intended on non-Linux Unixes in general. |
I just tested latest
Which then in turn triggers the following on the first packet:
|
So interestingly enough, this only happens when my phone is on mobile data. When I am on WiFI, GSO and GRO work just fine. Additionally, halting GSO doesn't seem to have any impact in that case. I have a suspicion that Android doesn't like to be told to "do GSO" even if the segment length is just 1. So perhaps we need a special-case to check if |
So with #2050 applied, I am seeing the following:
Here is a tidied up log excerpt from our application:
As you can see, we first send and receive some smaller packets. Then, we try to send one with GSO, that fails and we then continue without GSO. |
We have the same kind of problem ( |
The following commit adc4a06 (MacOs optimizations) introduced a side effect on android.
These two modifications lead to BATCH_SIZE being set to 32 on android platform, enabling GSO :
quinn/quinn-udp/src/unix.rs
Line 765 in d23e4e4
quinn/quinn-udp/src/unix.rs
Line 807 in d23e4e4
Tests are done on and Android 14, armv8, phone using Wifi with and MTU of 1500 :
quinn/quinn-proto/src/connection/packet_builder.rs
Line 160 in d23e4e4
We observed similar issue on an android 9 x86 emulator.
The text was updated successfully, but these errors were encountered: