From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Kyle Simpson" To: illumos-developer Subject: IPD 45 -- Flow trees in the MAC datapath Message-Id: <17207021530.7949.197230@composer.illumos.topicbox.com> Date: Thu, 11 Jul 2024 08:49:13 -0400 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary=17207021531.B8819e.197230 Content-Transfer-Encoding: 7bit Topicbox-Policy-Reasoning: allow: sender is a member Topicbox-Message-UUID: fab993fe-3f83-11ef-95bb-c256242d11b0 --17207021531.B8819e.197230 Date: Thu, 11 Jul 2024 08:49:13 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi all, To support a bunch of ongoing performance work in oxide's packet transforma= tion stack , we'd initially consider= ed the use of flows with custom callback functions. However, we found that = there a lot of places that flows in general fall short today. I've put toge= ther an IPD to outline where most of the negative interactions with perform= ance optimisations are, what conceptual similarities DLS bypass has with fl= ows, and how we can unify the flow_tab and subflow_tab into a single tree t= o iron out those issues. https://github.com/illumos/ipd/blob/master/ipd/0045/README.adoc The main goal here is to reframe how flows fit into the MAC datapath in a m= ore first-class way, such that subflows and flows can make identical use of= polling, softrings, and DLS bypass. The secondary goal is to=C2=A0allow `d= ls`/`ip` to delegate traffic processing early in the stack to modules that = offer to do so. This should also pave the way for dedicating hardware resou= rces (Rx/Tx rings) to certain traffic classes. I'd really appreciate any feedback. Cheers, --Kyle Simpson= --17207021531.B8819e.197230 Date: Thu, 11 Jul 2024 08:49:13 -0400 MIME-Version: 1.0 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable
Hi all,

To sup= port a bunch of ongoing performance work in oxide's packet transformation stack, we'd initially = considered the use of flows with custom callback functions. However, we fou= nd that there a lot of places that flows in general fall short today. I've = put together an IPD to outline where most of the negative interactions with= performance optimisations are, what conceptual similarities DLS bypass has= with flows, and how we can unify the flow_tab and subflow_tab into a singl= e tree to iron out those issues.

https://gith= ub.com/illumos/ipd/blob/master/ipd/0045/README.adoc

<= /div>
The main goal here is to reframe how flows fit into the MAC datap= ath in a more first-class way, such that subflows and flows can make identi= cal use of polling, softrings, and DLS bypass. The secondary goal is to&nbs= p;allow `dls`/`ip` to delegate traffic processing early in the stack to mod= ules that offer to do so. This should also pave the way for dedicating hard= ware resources (Rx/Tx rings) to certain traffic classes.

I'd really appreciate any feedback.

Che= ers,
--Kyle Simpson
= --17207021531.B8819e.197230--