Need direct callbacks from socket upcalls via ksocket
From the original Joyent bug:
We'd like to be able receive direct callbacks from a ksocket as opposed to having to read and write.
Work by Robert Mustacchi
This provides an alternative way for a ksocket to directly receive data when it arrives in sockfs, rather than having it queued in a socket buffer that it must separately poll; the result being that no data ends up being queued in sockfs.
The initial consumer for this will be the #13500 (network overlays) feature which is being upstreamed from Joyent SmartOS via https://github.com/illumos/ipd/blob/master/ipd/0018/README.md
The current proposed changes for #13500 are available to view on Gerrit at https://code.illumos.org/c/illumos-gate/+/1972 - this has not been sent out for wider review pending completion of testing (in particular interoperability with SmartOS and OmniOS, which side-pulled this in 2019).
Updated by Andy Fiddaman 4 months ago
I have not tested this change in isolation, and there is no consumer yet until #13500 is integrated, but the same code (modulo the extra comment in the attached Gerrit) has been running in SmartOS since 2015 and OmniOS since 2019.
I have been testing the upcoming #13500 on top of this change, so it has had some exercise there.
Updated by Electric Monk 4 months ago
- Status changed from In Progress to Closed
- % Done changed from 0 to 100
commit 907c2824088edd487e0b231d3df0654a81aec933 Author: Robert Mustacchi <firstname.lastname@example.org> Date: 2022-01-27T15:51:27.000Z 14202 Need direct callbacks from socket upcalls via ksocket Reviewed by: Andy Fiddaman <email@example.com> Reviewed by: Gordon Ross <Gordon.W.Ross@gmail.com> Reviewed by: Toomas Soome <firstname.lastname@example.org> Approved by: Dan McDonald <email@example.com>