Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wire up viona params from illumos#16738 #814

Merged
merged 1 commit into from
Nov 19, 2024

Conversation

pfmooney
Copy link
Collaborator

Now that illumos#16738 has landed, it'd be nice if propolis could make use of that functionality.

In propolis-server, we set parameters in line with how we expect it to operate in the oxide rack. propolis-standalone remains at the defaults, while allowing modification via the toml config.

@@ -713,10 +713,32 @@ impl<'a> MachineInitializer<'a> {
info!(self.log, "Creating vNIC {}", device_name);
let bdf: pci::Bdf = nic.device_spec.pci_path.into();

// Set viona device params if possible
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
// Set viona device params if possible
// Set viona device params if possible. These parameters are tuned
// to maximize performance when Propolis is used with OPTE in a full
// Oxide deployment, though viona devices should continue to
// operate normally even when OPTE is not in use. These parameters
// are not guest-visible.

@FelixMcFelix
Copy link
Contributor

FelixMcFelix commented Nov 19, 2024

Adding in some testing notes from this morning, I spun up a standalone omicron on helios-2.0.23031 with a couple of VMs using this change. We're no longer seeing encap allocations on xde_mc_tx for either outbound paths or local loopback using the ingot-flavoured OPTE bytes (verified using DTrace's FBT provider), so this interoperates nicely there. 🎉

OPTE's also not falling off the copied header segment and needing to pull up any packets, so it's also behaving nicely with the copy_data change.

@pfmooney pfmooney merged commit 70a94f9 into oxidecomputer:master Nov 19, 2024
11 checks passed
@pfmooney pfmooney deleted the il16738 branch November 19, 2024 19:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants