Skip to content
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

Why is the quiche timer still used after using SO_TXTIME? #80

Open
bianmingkun opened this issue Dec 8, 2024 · 0 comments
Open

Why is the quiche timer still used after using SO_TXTIME? #80

bianmingkun opened this issue Dec 8, 2024 · 0 comments

Comments

@bianmingkun
Copy link

In TCP, pacing is changed from the internal timer of the TCP protocol stack to the sch_fq of qdisc(EDT),which can reduce the load of the timer.

In UDP(quic), quic supports SO_TXTIME after the following patch. It can use sch_fq of qdisc to accurately control the sending time like TCP's fq.
acfdb39#diff-efe9b159470f6628daa390488bfa556bc44dae31c89682ae90554ff9b6fe7993R87

At the same time, this patch can more accurately determine the packet sending time, which can make the calculation of rtt more accurate by function "QuicGsoBatchWriter::GetReleaseTime".

My question is:

  1. Why does quiche still need a timer (TCP has deleted the pacing timer) Since SO_TXTIME is used, Is it because UDP does not have a TSQ mechanism similar to TCP(This mechanism prevents the qdisc queue from being stored in too many skb)?

  2. Can I just use the release_time mechanism, not use SO_TXTIME? I think release_time is more for calculating a more accurate RTT.
    For example, Only Delele “*hdr->GetNextCmsgData<uint64_t>(SOL_SOCKET, SO_TXTIME) = release_time;” In "QuicGsoBatchWriter::BuildCmsg".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant