Closed howardjohn closed 1 month ago
Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all
This looks good. I do wonder if we can get most/all of the benefit by just asking the compiler to inline the call rather than using a macro though.
+1 to avoiding a macro if we can
Inlining has no impact. I can't say I understand why, but also feel the 1kb/connection benefit here is worth a small macro... would love to avoid it if anyone has a solution, though.
That is ultimately just a compiler suggestion. Things I could see impacting it are:
Anyhow, if you want to fiddle more go for it, but otherwise I think we did our due diligence on keeping ztunnel's syntax simpler for folks and came up lacking this time. I'll go ahead and approve but add a dnm in case you'd prefer to fiddle around with inlining more based on the suggestions I left.
Builds on https://github.com/istio/ztunnel/pull/1330 First, add new checks. Our inbound flow has 3 nested futures, we only measured the outer one.
Next, two optimizations. Unfortunately, I dont really understand either of them... the stack sizing is a bit of black magic.
Before
After