-
Notifications
You must be signed in to change notification settings - Fork 152
Description
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:
-
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)?
-
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".