Draft of patch (git), based on applied/ubuntu/noble-updates @
16f6f1e6a117da8d86dc29829c28877a78cd3834

** Patch added: 
"0001-UBUNTU-SAUCE-Add-X-PciMmioClassicWindow-fw_cfg-optio.patch"
   
https://bugs.launchpad.net/ubuntu/+source/edk2/+bug/2101903/+attachment/5863834/+files/0001-UBUNTU-SAUCE-Add-X-PciMmioClassicWindow-fw_cfg-optio.patch

** Description changed:

  Due to an inefficiency in the way older host kernels manage pfnmaps for
  guest VM memory ranges[0], guests with large-BAR GPUs passed through
  have a very long (multiple minutes) initialization time when the MMIO
  window advertised by OVMF is sufficiently sized for the passed-through
  BARs (i.e., the correct OVMF behavior). However, in the past, users have
  benefited from fast guest boot times when OVMF advertised an MMIO window
  that was too small to accommodate the full BAR, since this resulted in
- the long PCI initialization process being skipped (and retried later, if
- pci=realloc pci=nocrs were set).
+ the long PCI initialization process being skipped (and retried later in
+ a way that omitted the slow path, if pci=realloc pci=nocrs were set).
  
  While the root cause is being fully addressed in the upstream kernel[1],
  the solution relies on huge pfnmap support, which is not expected to be
  backported into the 6.8 or 6.11 -generic kernels. As a result, the only
  kernel improvement supported on those kernels is this patch[2], which
  reduces the extra boot time by about half. Unfortunately, that boot time
  is still an average of 1-3 minutes longer per-VM-boot than what can be
  achieved when the host is running a version of OVMF without
  PlatformDynamicMmioWindow (PDMW) support (introduced in [3]) (as was the
  case in Jammy's version of OVMF).
  
  Since there is no way to force the use of the classic MMIO window
  size[4] in any version of OVMF after [3], and since we have a use case
  for such functionality on Noble that would yield significant, recurring
  compute time savings across all impacted VMs, I propose adding a boolean
  fw_cfg knob "opt/ovmf/X-PciMmioClassicWindow", which, when TRUE, would
  bypass the PDMW functionality in [3] and instead use the "classic" MMIO
  window. When set, users' guest VMs would need to set the `pci=nocrs
  pci=realloc` kernel options for passed-through GPUs to be usable, but
  boots would be short again, as they were in Jammy.
  
  I am *not* planning to submit this patch to upstream edk2 since this
  option should not be necessary for any users running newer kernels, once
  the requisite patches[1] land in the mainline tree.
  
  [0]: 
https://lore.kernel.org/all/cahta-uyp07fgm6t1ozqkqadsa5jrzo0reneyzgqzub4mdrr...@mail.gmail.com/
  [1]: 
https://lore.kernel.org/all/20250205231728.2527186-1-alex.william...@redhat.com/
  [2]: 
https://lore.kernel.org/all/20250111210652.402845-1-alex.william...@redhat.com/
  [3]: 
https://github.com/tianocore/edk2/commit/ecb778d0ac62560aa172786ba19521f27bc3f650
  [4]: https://edk2.groups.io/g/devel/topic/109651206?p=Created,,,20,1,0,0

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2101903

Title:
  UBUNTU: SAUCE: Introduce X-PciMmioClassicWindow option to fw_cfg

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/edk2/+bug/2101903/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to