linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [patch 0/3] x86/fpu/xsave: Add XSAVEC support and XGETBV1 utilization
@ 2022-04-04 12:11 Thomas Gleixner
  2022-04-04 12:11 ` [patch 1/3] x86/fpu/xsave: Support XSAVEC in the kernel Thomas Gleixner
                   ` (2 more replies)
  0 siblings, 3 replies; 16+ messages in thread
From: Thomas Gleixner @ 2022-04-04 12:11 UTC (permalink / raw)
  To: LKML; +Cc: x86, Andrew Cooper, Edgecombe, Rick P, Andrew Cooper

This series adds:

  1) XSAVEC support

     Hypervisors expose XSAVEC but not XSAVES to guests, but the kernel
     does not support XSAVEC. Which means it cannot make use of the
     compacted storage format.

  2) Utilize XGETBV1

     XGETBV1 reads a bitmap which contains the current active XSTATE
     components. This bitmap can be used to optimize the behaviour of
     XSAVES and XSAVEC by requesting only the active components to be
     saved.

     While the init optimization of XSAVEC and XSAVES skips writing the
     state of components which are inactive, the buffer layout is still
     providing the space for the inactive, but requested to save
     components. Which is suboptimal in terms of prefetch and dTLB when
     the active component bitmap is sparse.

Thanks,

	tglx
---
 include/asm/cpufeatures.h |    2 
 kernel/fpu/xstate.c       |  145 +++++++++++++++++++++++++++++++++++++---------
 kernel/fpu/xstate.h       |   42 ++++++++++---
 3 files changed, 152 insertions(+), 37 deletions(-)

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2022-04-25 13:11 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-04 12:11 [patch 0/3] x86/fpu/xsave: Add XSAVEC support and XGETBV1 utilization Thomas Gleixner
2022-04-04 12:11 ` [patch 1/3] x86/fpu/xsave: Support XSAVEC in the kernel Thomas Gleixner
2022-04-04 16:10   ` Andrew Cooper
2022-04-14 14:43   ` Dave Hansen
2022-04-25 13:11   ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2022-04-04 12:11 ` [patch 2/3] x86/fpu/xsave: Prepare for optimized compaction Thomas Gleixner
2022-04-14 15:46   ` Dave Hansen
2022-04-19 12:39     ` Thomas Gleixner
2022-04-19 13:33       ` Thomas Gleixner
2022-04-04 12:11 ` [patch 3/3] x86/fpu/xsave: Optimize XSAVEC/S when XGETBV1 is supported Thomas Gleixner
2022-04-14 17:24   ` Dave Hansen
2022-04-19 13:43     ` Thomas Gleixner
2022-04-19 21:22       ` Thomas Gleixner
2022-04-20 18:15         ` Tom Lendacky
2022-04-22 19:30           ` Thomas Gleixner
2022-04-23 15:20             ` Dave Hansen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).