On Mon, Sep 27, 2021 at 1:30 PM Johannes Lundberg <jlundberg@xxxxxxxx> wrote:
The EPOLLEMPTY event will trigger when the TCP write buffer becomes
empty, i.e., when all outgoing data have been ACKed.
The need for this functionality comes from a business requirement
of measuring with higher precision how much time is spent
transmitting data to a client. For reference, similar functionality
was previously added to FreeBSD as the kqueue event EVFILT_EMPTY.
Adding yet another indirect call [1] in TCP fast path, for something
(measuring with higher precision..)
which is already implemented differently in TCP stack [2] is not desirable.
Our timestamping infrastructure should be ported to FreeBSD instead :)
[1] CONFIG_RETPOLINE=y
[2] Refs :
commit e1c8a607b28190cd09a271508aa3025d3c2f312e
net-timestamp: ACK timestamp for bytestreams
tools/testing/selftests/net/txtimestamp.c