Files
xen/docs
Ross Lagerwall 70a6abd2cd x86: Always use eager-fpu
Lazy FPU avoids some work during a context switch but pushes more
expensive costs elsewhere:

* For a workload running some Windows VMs, I measured about 83% of
  context switches out had used the FPU so most of the time the FPU
  save/restore is not avoided, just delayed.
* A key difference between 32-bit and 64-bit OSes is that %xmm is in the
  base featureset for 64-bit and thus gets ubiquitous use in userspace.
  This is likely why we hit 83%.
* Setting/clearing the cr0.TS bit is serializing and reportedly slower
  than the processor optimized xsave/restore.
* Linux uses PKRU so a partial xsave/restore is performed on each
  context switch anyway, followed by a second xsave/restore at some
  point during execution. This interferes with the 'modified'
  optimisation that hardware uses to try and reduce the cost of the
  following XSAVE.

There is no measurable performance benefit for using lazy FPU and it
adds unwanted complexity so remove the option and always use eager-fpu.

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
2026-03-30 15:48:13 +01:00
..
2026-03-30 15:48:13 +01:00
2026-01-22 19:42:36 +00:00
2018-11-14 19:25:11 +00:00
2025-03-03 16:15:40 -08:00

Sphinx documentation:

All source rendered by Sphinx is licensed under CC-BY-4.0.

You are free to:
  Share:
    Copy and redistribute the material in any medium or format.
  Adapt:
    Remix, transform, and build upon the material for any purpose, even
    commercially.

Under the following terms:
  Attribution:
    You must give appropriate credit, provide a link to the license, and
    indicate if changes were made. You may do so in any reasonable manner, but
    not in any way that suggests the licensor endorses you or your use.
  No additional restrictions:
    You may not apply legal terms or technological measures that legally
    restrict others from doing anything the license permits.

See https://creativecommons.org/licenses/by/4.0/ for full details.

This includes:
  * All ReStructured Text files:          docs/*/*.rst
  * The Sphinx configuration file:        docs/conf.py
  * Content in Sphinx-exclusive subdirs:  docs/*-guide/*


Other documentation:

There are a variety of text documents in various formats.  These, given no
explicit license guidance, fall under Xen's default GPL-2.0 license.