Project

General

Profile

Actions

Feature #14202

closed

Need direct callbacks from socket upcalls via ksocket

Added by Andy Fiddaman 7 months ago. Updated 4 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
kernel
Start date:
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:

Description

This is an upstream of https://smartos.org/bugview/OS-3080, a pre-requisite for #13500

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).


Related issues

Blocks illumos gate - Feature #13500: Want support for overlay networksClosedAndy Fiddaman

Actions
Actions #1

Updated by Andy Fiddaman 7 months ago

Actions #2

Updated by Electric Monk 5 months ago

  • Gerrit CR set to 1917
Actions #3

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.

Actions #4

Updated by Andy Fiddaman 4 months ago

  • Description updated (diff)
Actions #5

Updated by Electric Monk 4 months ago

  • Status changed from In Progress to Closed
  • % Done changed from 0 to 100

git commit 907c2824088edd487e0b231d3df0654a81aec933

commit  907c2824088edd487e0b231d3df0654a81aec933
Author: Robert Mustacchi <rm@joyent.com>
Date:   2022-01-27T15:51:27.000Z

    14202 Need direct callbacks from socket upcalls via ksocket
    Reviewed by: Andy Fiddaman <andy@omnios.org>
    Reviewed by: Gordon Ross <Gordon.W.Ross@gmail.com>
    Reviewed by: Toomas Soome <tsoome@me.com>
    Approved by: Dan McDonald <danmcd@joyent.com>

Actions

Also available in: Atom PDF