Recent changes to HPTS have broken an API that was somehow removed (used by user space programs for
time calculations). This commit will add back the inline function that was removed.
Details
- Reviewers
glebius tuexen nickbanks_netflix.com rrs - Group Reviewers
transport
Test read_bbrlog and other utilities that use this function and make sure they compile :)
Diff Detail
- Lint
Lint Skipped - Unit
Tests Skipped
Event Timeline
| sys/netinet/tcp_hpts.h | ||
|---|---|---|
| 35–38 | nit: I'm not sure this comment is strictly necessary, at least not here (if we keep it). There is a #ifdef _KERNEL below that IMHO defines what *isn't* userspace. But if you would like an explicit comment, why not up at the top, indicating that even though this is an internal kernel networking, header several of these definitions are used by userspace. | |
| 57–61 | This is at best only a temporary fix. We've already completely moved these definitions out of HPTS and changed HPTS to use bintime, internally. I think the more fundamental problem here is the read_bblog port nature. Internally, we keep it up to date with these FreeBSD changes, but the external one is out of date. | |
| sys/netinet/tcp_hpts.h | ||
|---|---|---|
| 35–38 | The comment was their originally above the tcp_tv_to_xxx macros to note they are available for user space. It makes it explicit instead of a user including it and having to look for the separation. | |
Nick
I think you forget that I am the author of read_bbrlog and it will slowly change over time as I work on the next features I am planning in rack. I admit
I am a bit slow, since retirement keeps getting in the way :-D, but I anticipate getting a lot more done on measurements and improvements using
the measurements to DGP. As that all occurs read_bbrlog will change. As will other base things in FreeBSD... Gleb had asked me to move the socket
read/write code of of the generic for TCP.. I plan on doing that first and getting rid of the socket buffer locks. From there it will be onward to get the
measurements in.. hmm come to think about it I need to complete my improvements for reordering and get rid of the sysctl stuff that can make
rack use the old reorder methods from draft 1 of Rack... something that the recent fun with reordering proves is not a good idea :)