All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/9] rework of extended state handling, LWP support
@ 2011-11-29 12:41 Hans Rosenfeld
  2011-11-29 12:41 ` [PATCH 1/9] x86, xsave: warn on #NM exceptions caused by the kernel Hans Rosenfeld
                   ` (10 more replies)
  0 siblings, 11 replies; 54+ messages in thread
From: Hans Rosenfeld @ 2011-11-29 12:41 UTC (permalink / raw)
  To: hpa
  Cc: tglx, mingo, suresh.b.siddha, eranian, brgerst, robert.richter,
	Andreas.Herrmann3, x86, linux-kernel, Hans Rosenfeld

This patch set is a general cleanup and rework of the code related to
handling of FPU and other extended states. All handling of extended
states, including the FPU state, is now handled by xsave/xrstor wrappers
that fall back to fxsave/fxrstor, or even fsave/frstor, if hardware
support for those features is lacking. The code handling xstates in
signal frames has been unified and cleaned up.

The lazy allocation of the xstate area has been removed. The support for
extended states that cannot be saved/restored lazily, like AMD's LWP,
need this. Since optimized library functions using SSE etc. are widely
used today, most processes would have an xstate area anyway, making the
memory overhead negligible.


Changes since the last RFC:
 * added patch to catch #NM exceptions caused by the kernel
 * reordered the patches in a way that seemed more logical, with the
   side-effect of reducing the size of some of the patches
 * two bugfixes in the preallocation of the xstate area
 * explicitly disable LWP in new tasks (required by the LWP spec)


These patches were built and tested against 3.1. The older RFC patches
that have been lingering in tip/x86/xsave for the last few months should
be removed.


Hans Rosenfeld (9):
  x86, xsave: warn on #NM exceptions caused by the kernel
  x86, xsave: cleanup fpu/xsave support
  x86, xsave: cleanup fpu/xsave signal frame setup
  x86, xsave: rework fpu/xsave support
  x86, xsave: remove unused code
  x86, xsave: more cleanups
  x86, xsave: remove lazy allocation of xstate area
  x86, xsave: add support for non-lazy xstates
  x86, xsave: add kernel support for AMDs Lightweight Profiling (LWP)

 arch/x86/ia32/ia32_signal.c        |    4 +-
 arch/x86/include/asm/i387.h        |  251 ++++++++--------------------
 arch/x86/include/asm/msr-index.h   |    1 +
 arch/x86/include/asm/processor.h   |   12 ++
 arch/x86/include/asm/sigcontext.h  |   12 ++
 arch/x86/include/asm/thread_info.h |    6 +-
 arch/x86/include/asm/xsave.h       |  102 +++--------
 arch/x86/kernel/i387.c             |  300 +++------------------------------
 arch/x86/kernel/process.c          |   14 ++
 arch/x86/kernel/process_32.c       |   29 +---
 arch/x86/kernel/process_64.c       |   28 +---
 arch/x86/kernel/signal.c           |    4 +-
 arch/x86/kernel/traps.c            |   48 +-----
 arch/x86/kernel/xsave.c            |  325 +++++++++++++++++++++++------------
 arch/x86/kvm/vmx.c                 |    2 +-
 arch/x86/kvm/x86.c                 |   11 +-
 arch/x86/math-emu/fpu_entry.c      |    8 +-
 drivers/lguest/x86/core.c          |    2 +-
 fs/exec.c                          |    8 +
 19 files changed, 423 insertions(+), 744 deletions(-)

-- 
1.7.5.4



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

end of thread, other threads:[~2011-12-23 10:58 UTC | newest]

Thread overview: 54+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-11-29 12:41 [PATCH 0/9] rework of extended state handling, LWP support Hans Rosenfeld
2011-11-29 12:41 ` [PATCH 1/9] x86, xsave: warn on #NM exceptions caused by the kernel Hans Rosenfeld
2011-11-29 12:41 ` [PATCH 2/9] x86, xsave: cleanup fpu/xsave support Hans Rosenfeld
2011-11-29 12:41 ` [PATCH 3/9] x86, xsave: cleanup fpu/xsave signal frame setup Hans Rosenfeld
2011-11-29 12:41 ` [PATCH 4/9] x86, xsave: rework fpu/xsave support Hans Rosenfeld
2011-11-29 12:41 ` [PATCH 5/9] x86, xsave: remove unused code Hans Rosenfeld
2011-11-29 12:41 ` [PATCH 6/9] x86, xsave: more cleanups Hans Rosenfeld
2011-11-29 12:41 ` [PATCH 7/9] x86, xsave: remove lazy allocation of xstate area Hans Rosenfeld
2011-11-29 12:41 ` [PATCH 8/9] x86, xsave: add support for non-lazy xstates Hans Rosenfeld
2011-11-29 12:41 ` [PATCH 9/9] x86, xsave: add kernel support for AMDs Lightweight Profiling (LWP) Hans Rosenfeld
2011-11-29 21:31 ` [PATCH 0/9] rework of extended state handling, LWP support Andi Kleen
2011-11-30 17:37   ` Hans Rosenfeld
2011-11-30 21:52     ` Andi Kleen
2011-12-01 20:36       ` Hans Rosenfeld
2011-12-02  2:01         ` H. Peter Anvin
2011-12-02 11:20           ` Hans Rosenfeld
2011-12-07 19:57             ` Hans Rosenfeld
2011-12-07 20:00               ` [PATCH 7/8] x86, xsave: add support for non-lazy xstates Hans Rosenfeld
2011-12-07 20:00                 ` [PATCH 8/8] x86, xsave: add kernel support for AMDs Lightweight Profiling (LWP) Hans Rosenfeld
2011-12-05 10:22 ` [PATCH 0/9] rework of extended state handling, LWP support Ingo Molnar
2011-12-16 16:07   ` Hans Rosenfeld
2011-12-16 16:12     ` [RFC 1/5] x86, perf: Implement software-activation of lwp Hans Rosenfeld
2011-12-16 16:12       ` [RFC 2/5] perf: adds prototype for a new perf-context-type Hans Rosenfeld
2011-12-16 16:12       ` [RFC 3/5] perf: adds a new pmu-initialization-call Hans Rosenfeld
2011-12-16 16:12       ` [RFC 4/5] x86, perf: implements lwp-perf-integration (rc1) Hans Rosenfeld
2011-12-18  8:04         ` Ingo Molnar
2011-12-18 15:22           ` Benjamin Block
2011-12-18 23:43             ` Ingo Molnar
2011-12-19  9:09               ` Robert Richter
2011-12-19 10:54                 ` Ingo Molnar
2011-12-19 11:12                   ` Avi Kivity
2011-12-19 11:40                     ` Ingo Molnar
2011-12-19 11:58                       ` Avi Kivity
2011-12-19 18:13                         ` Benjamin
2011-12-20  8:56                           ` Ingo Molnar
2011-12-20  9:15                         ` Ingo Molnar
2011-12-20  9:47                           ` Avi Kivity
2011-12-20 10:09                             ` Ingo Molnar
2011-12-20 15:27                               ` Joerg Roedel
2011-12-20 18:40                                 ` Ingo Molnar
2011-12-21  0:07                                   ` Joerg Roedel
2011-12-21 12:34                                     ` Ingo Molnar
2011-12-21 12:44                                       ` Avi Kivity
2011-12-21 13:22                                         ` Ingo Molnar
2011-12-21 22:49                                           ` Joerg Roedel
2011-12-23 10:53                                             ` Ingo Molnar
2011-12-21 11:46                                   ` Gleb Natapov
2011-12-23 10:56                                     ` Ingo Molnar
2011-12-20 15:48                           ` Vince Weaver
2011-12-20 18:27                             ` Ingo Molnar
2011-12-20 22:47                               ` Vince Weaver
2011-12-21 12:00                                 ` Ingo Molnar
2011-12-21 13:55                                   ` Vince Weaver
2011-12-16 16:12       ` [RFC 5/5] x86, perf: adds support for the LWP threshold-int Hans Rosenfeld

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.