-
Notifications
You must be signed in to change notification settings - Fork 292
Add xen-platform-pci-bar-uc key in xenstore to activate AMD xen-pci MMIO WB cache for grant table #6555
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
Conversation
34242ed to
f441583
Compare
ocaml/idl/datamodel_vm.ml
Outdated
| ~allowed_roles:_R_VM_ADMIN ~doc_tags:[Windows] () | ||
|
|
||
| let set_xen_platform_pci_bar_uc = | ||
| call ~name:"set_xen_platform_pci_bar_uc" ~lifecycle: [] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is too low level of a setting to be exposed as-is from xapi.
What's preventing the setting to be simply always disabled so the perf improvement is always present?
- The version of xen? xenopsd should be aware of the xen version in use and select the option.
- The guest kernel? Then a field in the VM object should be added (no need for new calls to set it) (maybe Hvm_mmio_bar)
- ...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is enabled by default in new versions of hvmloader. Xapi change is to allow disabling this optimization in case something is wrong
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tend to agree with @psafont that this should not be exposed in the VM data model. Otherwise all kind of low-level and Xen-specific parameters end up here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is enabled by default in new versions of hvmloader. Xapi change is to allow disabling this optimization in case something is wrong.
Then I'm not convinced this setting should be per-vm, nor that it should be exposed in the API.
In first instance, if there's a problem, it should be treated as a bug bug. If we want to have a workaround / failsafe while the issue is being fixed and release, a configuration option in xenopsd.conf should be enough to enable a workaround for the bug
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the feedbacks. I will close this PR to work in this new direction. I will create a new PR with the changes on xenopsd only.
|
@robhoes suggested yesterday that perhaps this might be too low-level for a separate call and it might be worth putting this option into |
This patch add a new parameter named 'xen-platform-pci-bar-uc' who has a default value of 'true' to keep the default behavior of hvmloader. Putting 'false' to this parameter will tell xenopsd to add a xenstore key of '0' in: '/local/domain/<domid>/hvmloader/pci/xen-platform-pci-bar-uc'. Only this key set to 0 will change the behavior of hvmloader. This changeset is link to this xen commit: https://xenbits.xen.org/gitweb/?p=xen.git;a=commit;h=22650d6054625be10172fe0c78b9cadd1a39bd63 Signed-off-by: Anthoine Bourgeois <[email protected]>
4581df5 to
d9f43a3
Compare
This patch add a new parameter named 'xen-platform-pci-bar-uc' in xenopsd config file who has a default value of 'true' to keep the default behavior of hvmloader. Putting 'false' to this parameter will tell xenopsd to add a xenstore key of '0' in: '/local/domain/<domid>/hvmloader/pci/xen-platform-pci-bar-uc'. Only this key set to 0 will change the behavior of hvmloader. Otherwise, xenstore is set with '1' by default. This changeset is link to this xen commit: https://xenbits.xen.org/gitweb/?p=xen.git;a=commit;h=22650d6054625be10172fe0c78b9cadd1a39bd63 This is a new and much more simpler version of: #6555
This patch add a new parameter named 'xen-platform-pci-bar-uc' who has a default value of 'true' to keep the default behavior of hvmloader. Putting 'false' to this parameter will tell xenopsd to add a xenstore key of '0' in:
'/local/domain//hvmloader/pci/xen-platform-pci-bar-uc'.
Only this key set to 0 will change the behavior of hvmloader.
This changeset is link to this xen commit:
x86/hvmloader: select xen platform pci MMIO BAR UC or WB MTRR cache attribute