linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL] x86/entry changes for 3.20, round 1
@ 2015-01-15  1:59 Andy Lutomirski
  2015-01-15  9:27 ` Paul E. McKenney
  2015-01-28 14:38 ` Ingo Molnar
  0 siblings, 2 replies; 4+ messages in thread
From: Andy Lutomirski @ 2015-01-15  1:59 UTC (permalink / raw)
  To: Ingo Molnar, Thomas Gleixner, X86 ML, linux-kernel,
	Paul McKenney, Denys Vlasenko, Borislav Petkov, Tony Luck,
	H. Peter Anvin

Hi Ingo and Thomas,

At Linus' suggestion, I'm trying out some maintainerish stuff for x86
entry code.  Please consider pulling to an appropriate branch *after
Paul sends his RCU pull request*, only if 734d16801349 is included in
that pull request.  If this goes well, maybe I'll submit a MAINTAINERS
patch, too.

IMPORTANT: This is based on an RCU change that you don't have yet.  I
think that Paul is planning on sending a pull request with that change
fairly soon.  The code in here would compile without that fix, but it
would introduce a nasty regression, so, to avoid breaking bisection, I
based this off of the relevant change in Paul's tree.  (It's the very
first change for 3.20 in his current queue.)

If you want me to structure this differently, let me know.

I may have one more entry pull request before the merge window if I
can get my sysret stuff reviewed in time.  Not sure yet.  I may also
be comfortable with some more of Denys' cleanups in time.

The following changes since commit 734d16801349fbe951d2f780191d32c5b8a892d1:

  rcu: Make rcu_nmi_enter() handle nesting (2014-12-30 17:40:16 -0800)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/luto/linux.git
tags/pr-20150114-x86-entry

for you to fetch changes up to f6f64681d9d87ded48a90b644b2991c6ee05da2d:

  x86: entry_64.S: fold SAVE_ARGS_IRQ macro into its sole user
(2015-01-13 14:18:08 -0800)

----------------------------------------------------------------
This is my accumulated x86 entry work, part 1, for 3.20.  The meat
of this is an IST rework.  When an IST exception interrupts user
space, we will handle it on the per-thread kernel stack instead of
on the IST stack.  This sounds messy, but it actually simplifies the
IST entry/exit code, because it eliminates some ugly games we used
to play in order to handle rescheduling, signal delivery, etc on the
way out of an IST exception.

The IST rework introduces proper context tracking to IST exception
handlers.  I haven't seen any bug reports, but the old code could
have incorrectly treated an IST exception handler as an RCU extended
quiescent state.

The memory failure change (included in this pull request with
Borislav and Tony's permission) eliminates a bunch of code that
is no longer needed now that user memory failure handlers are
called in process context.

Finally, this includes a few on Denys' uncontroversial and Obviously
Correct (tm) cleanups.

The IST and memory failure changes have been in -next for a while.

LKML references:

IST rework:
http://lkml.kernel.org/r/cover.1416604491.git.luto@amacapital.net

Memory failure change:
http://lkml.kernel.org/r/54ab2ffa301102cd6e@agluck-desk.sc.intel.com

Denys' cleanups:
http://lkml.kernel.org/r/1420927210-19738-1-git-send-email-dvlasenk@redhat.com

----------------------------------------------------------------
Andy Lutomirski (4):
      x86, entry: Switch stacks on a paranoid entry from userspace
      x86, traps: Track entry into and exit from IST context
      x86: Clean up current_stack_pointer
      x86, traps: Add ist_begin_non_atomic and ist_end_non_atomic

Denys Vlasenko (3):
      x86: entry_64.S: delete unused code
      x86: ia32entry.S: fix wrong symbolic constant usage: R11->ARGOFFSET
      x86: entry_64.S: fold SAVE_ARGS_IRQ macro into its sole user

Tony Luck (1):
      x86, mce: Get rid of TIF_MCE_NOTIFY and associated mce tricks

 Documentation/x86/entry_64.txt         |  18 ++-
 Documentation/x86/x86_64/kernel-stacks |   8 +-
 arch/x86/ia32/ia32entry.S              |   4 +-
 arch/x86/include/asm/calling.h         |   1 -
 arch/x86/include/asm/mce.h             |   1 -
 arch/x86/include/asm/thread_info.h     |  15 ++-
 arch/x86/include/asm/traps.h           |   6 +
 arch/x86/kernel/cpu/mcheck/mce.c       | 114 +++++-------------
 arch/x86/kernel/cpu/mcheck/p5.c        |   6 +
 arch/x86/kernel/cpu/mcheck/winchip.c   |   5 +
 arch/x86/kernel/entry_64.S             | 208 ++++++++++++++-------------------
 arch/x86/kernel/irq_32.c               |  13 +--
 arch/x86/kernel/signal.c               |   6 -
 arch/x86/kernel/traps.c                | 108 +++++++++++++----
 14 files changed, 252 insertions(+), 261 deletions(-)

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

* Re: [GIT PULL] x86/entry changes for 3.20, round 1
  2015-01-15  1:59 [GIT PULL] x86/entry changes for 3.20, round 1 Andy Lutomirski
@ 2015-01-15  9:27 ` Paul E. McKenney
  2015-01-15 10:37   ` Ingo Molnar
  2015-01-28 14:38 ` Ingo Molnar
  1 sibling, 1 reply; 4+ messages in thread
From: Paul E. McKenney @ 2015-01-15  9:27 UTC (permalink / raw)
  To: Andy Lutomirski
  Cc: Ingo Molnar, Thomas Gleixner, X86 ML, linux-kernel,
	Denys Vlasenko, Borislav Petkov, Tony Luck, H. Peter Anvin

On Wed, Jan 14, 2015 at 05:59:26PM -0800, Andy Lutomirski wrote:
> Hi Ingo and Thomas,
> 
> At Linus' suggestion, I'm trying out some maintainerish stuff for x86
> entry code.  Please consider pulling to an appropriate branch *after
> Paul sends his RCU pull request*, only if 734d16801349 is included in
> that pull request.  If this goes well, maybe I'll submit a MAINTAINERS
> patch, too.
> 
> IMPORTANT: This is based on an RCU change that you don't have yet.  I
> think that Paul is planning on sending a pull request with that change
> fairly soon.  The code in here would compile without that fix, but it
> would introduce a nasty regression, so, to avoid breaking bisection, I
> based this off of the relevant change in Paul's tree.  (It's the very
> first change for 3.20 in his current queue.)

Yep, should happen by early next week, if it survives this weekend's
testing.  ;-)

							Thanx, Paul

> If you want me to structure this differently, let me know.
> 
> I may have one more entry pull request before the merge window if I
> can get my sysret stuff reviewed in time.  Not sure yet.  I may also
> be comfortable with some more of Denys' cleanups in time.
> 
> The following changes since commit 734d16801349fbe951d2f780191d32c5b8a892d1:
> 
>   rcu: Make rcu_nmi_enter() handle nesting (2014-12-30 17:40:16 -0800)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/luto/linux.git
> tags/pr-20150114-x86-entry
> 
> for you to fetch changes up to f6f64681d9d87ded48a90b644b2991c6ee05da2d:
> 
>   x86: entry_64.S: fold SAVE_ARGS_IRQ macro into its sole user
> (2015-01-13 14:18:08 -0800)
> 
> ----------------------------------------------------------------
> This is my accumulated x86 entry work, part 1, for 3.20.  The meat
> of this is an IST rework.  When an IST exception interrupts user
> space, we will handle it on the per-thread kernel stack instead of
> on the IST stack.  This sounds messy, but it actually simplifies the
> IST entry/exit code, because it eliminates some ugly games we used
> to play in order to handle rescheduling, signal delivery, etc on the
> way out of an IST exception.
> 
> The IST rework introduces proper context tracking to IST exception
> handlers.  I haven't seen any bug reports, but the old code could
> have incorrectly treated an IST exception handler as an RCU extended
> quiescent state.
> 
> The memory failure change (included in this pull request with
> Borislav and Tony's permission) eliminates a bunch of code that
> is no longer needed now that user memory failure handlers are
> called in process context.
> 
> Finally, this includes a few on Denys' uncontroversial and Obviously
> Correct (tm) cleanups.
> 
> The IST and memory failure changes have been in -next for a while.
> 
> LKML references:
> 
> IST rework:
> http://lkml.kernel.org/r/cover.1416604491.git.luto@amacapital.net
> 
> Memory failure change:
> http://lkml.kernel.org/r/54ab2ffa301102cd6e@agluck-desk.sc.intel.com
> 
> Denys' cleanups:
> http://lkml.kernel.org/r/1420927210-19738-1-git-send-email-dvlasenk@redhat.com
> 
> ----------------------------------------------------------------
> Andy Lutomirski (4):
>       x86, entry: Switch stacks on a paranoid entry from userspace
>       x86, traps: Track entry into and exit from IST context
>       x86: Clean up current_stack_pointer
>       x86, traps: Add ist_begin_non_atomic and ist_end_non_atomic
> 
> Denys Vlasenko (3):
>       x86: entry_64.S: delete unused code
>       x86: ia32entry.S: fix wrong symbolic constant usage: R11->ARGOFFSET
>       x86: entry_64.S: fold SAVE_ARGS_IRQ macro into its sole user
> 
> Tony Luck (1):
>       x86, mce: Get rid of TIF_MCE_NOTIFY and associated mce tricks
> 
>  Documentation/x86/entry_64.txt         |  18 ++-
>  Documentation/x86/x86_64/kernel-stacks |   8 +-
>  arch/x86/ia32/ia32entry.S              |   4 +-
>  arch/x86/include/asm/calling.h         |   1 -
>  arch/x86/include/asm/mce.h             |   1 -
>  arch/x86/include/asm/thread_info.h     |  15 ++-
>  arch/x86/include/asm/traps.h           |   6 +
>  arch/x86/kernel/cpu/mcheck/mce.c       | 114 +++++-------------
>  arch/x86/kernel/cpu/mcheck/p5.c        |   6 +
>  arch/x86/kernel/cpu/mcheck/winchip.c   |   5 +
>  arch/x86/kernel/entry_64.S             | 208 ++++++++++++++-------------------
>  arch/x86/kernel/irq_32.c               |  13 +--
>  arch/x86/kernel/signal.c               |   6 -
>  arch/x86/kernel/traps.c                | 108 +++++++++++++----
>  14 files changed, 252 insertions(+), 261 deletions(-)
> 


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

* Re: [GIT PULL] x86/entry changes for 3.20, round 1
  2015-01-15  9:27 ` Paul E. McKenney
@ 2015-01-15 10:37   ` Ingo Molnar
  0 siblings, 0 replies; 4+ messages in thread
From: Ingo Molnar @ 2015-01-15 10:37 UTC (permalink / raw)
  To: Paul E. McKenney
  Cc: Andy Lutomirski, Ingo Molnar, Thomas Gleixner, X86 ML,
	linux-kernel, Denys Vlasenko, Borislav Petkov, Tony Luck,
	H. Peter Anvin


* Paul E. McKenney <paulmck@linux.vnet.ibm.com> wrote:

> On Wed, Jan 14, 2015 at 05:59:26PM -0800, Andy Lutomirski wrote:
> > Hi Ingo and Thomas,
> > 
> > At Linus' suggestion, I'm trying out some maintainerish stuff for x86
> > entry code.  Please consider pulling to an appropriate branch *after
> > Paul sends his RCU pull request*, only if 734d16801349 is included in
> > that pull request.  If this goes well, maybe I'll submit a MAINTAINERS
> > patch, too.
> > 
> > IMPORTANT: This is based on an RCU change that you don't have yet.  I
> > think that Paul is planning on sending a pull request with that change
> > fairly soon.  The code in here would compile without that fix, but it
> > would introduce a nasty regression, so, to avoid breaking bisection, I
> > based this off of the relevant change in Paul's tree.  (It's the very
> > first change for 3.20 in his current queue.)
> 
> Yep, should happen by early next week, if it survives this weekend's
> testing.  ;-)

Ok, I'll first wait for that pull request to arrive then.

Thanks,

	Ingo

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

* Re: [GIT PULL] x86/entry changes for 3.20, round 1
  2015-01-15  1:59 [GIT PULL] x86/entry changes for 3.20, round 1 Andy Lutomirski
  2015-01-15  9:27 ` Paul E. McKenney
@ 2015-01-28 14:38 ` Ingo Molnar
  1 sibling, 0 replies; 4+ messages in thread
From: Ingo Molnar @ 2015-01-28 14:38 UTC (permalink / raw)
  To: Andy Lutomirski
  Cc: Ingo Molnar, Thomas Gleixner, X86 ML, linux-kernel,
	Paul McKenney, Denys Vlasenko, Borislav Petkov, Tony Luck,
	H. Peter Anvin, Linus Torvalds


* Andy Lutomirski <luto@amacapital.net> wrote:

> Hi Ingo and Thomas,
> 
> At Linus' suggestion, I'm trying out some maintainerish stuff for x86
> entry code.  Please consider pulling to an appropriate branch *after
> Paul sends his RCU pull request*, only if 734d16801349 is included in
> that pull request.  If this goes well, maybe I'll submit a MAINTAINERS
> patch, too.
> 
> IMPORTANT: This is based on an RCU change that you don't have yet.  I
> think that Paul is planning on sending a pull request with that change
> fairly soon.  The code in here would compile without that fix, but it
> would introduce a nasty regression, so, to avoid breaking bisection, I
> based this off of the relevant change in Paul's tree.  (It's the very
> first change for 3.20 in his current queue.)
> 
> If you want me to structure this differently, let me know.
> 
> I may have one more entry pull request before the merge window if I
> can get my sysret stuff reviewed in time.  Not sure yet.  I may also
> be comfortable with some more of Denys' cleanups in time.
> 
> The following changes since commit 734d16801349fbe951d2f780191d32c5b8a892d1:
> 
>   rcu: Make rcu_nmi_enter() handle nesting (2014-12-30 17:40:16 -0800)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/luto/linux.git
> tags/pr-20150114-x86-entry
> 
> for you to fetch changes up to f6f64681d9d87ded48a90b644b2991c6ee05da2d:
> 
>   x86: entry_64.S: fold SAVE_ARGS_IRQ macro into its sole user
> (2015-01-13 14:18:08 -0800)
> 
> ----------------------------------------------------------------
> This is my accumulated x86 entry work, part 1, for 3.20.  The meat
> of this is an IST rework.  When an IST exception interrupts user
> space, we will handle it on the per-thread kernel stack instead of
> on the IST stack.  This sounds messy, but it actually simplifies the
> IST entry/exit code, because it eliminates some ugly games we used
> to play in order to handle rescheduling, signal delivery, etc on the
> way out of an IST exception.
> 
> The IST rework introduces proper context tracking to IST exception
> handlers.  I haven't seen any bug reports, but the old code could
> have incorrectly treated an IST exception handler as an RCU extended
> quiescent state.
> 
> The memory failure change (included in this pull request with
> Borislav and Tony's permission) eliminates a bunch of code that
> is no longer needed now that user memory failure handlers are
> called in process context.
> 
> Finally, this includes a few on Denys' uncontroversial and Obviously
> Correct (tm) cleanups.
> 
> The IST and memory failure changes have been in -next for a while.
> 
> LKML references:
> 
> IST rework:
> http://lkml.kernel.org/r/cover.1416604491.git.luto@amacapital.net
> 
> Memory failure change:
> http://lkml.kernel.org/r/54ab2ffa301102cd6e@agluck-desk.sc.intel.com
> 
> Denys' cleanups:
> http://lkml.kernel.org/r/1420927210-19738-1-git-send-email-dvlasenk@redhat.com
> 
> ----------------------------------------------------------------
> Andy Lutomirski (4):
>       x86, entry: Switch stacks on a paranoid entry from userspace
>       x86, traps: Track entry into and exit from IST context
>       x86: Clean up current_stack_pointer
>       x86, traps: Add ist_begin_non_atomic and ist_end_non_atomic
> 
> Denys Vlasenko (3):
>       x86: entry_64.S: delete unused code
>       x86: ia32entry.S: fix wrong symbolic constant usage: R11->ARGOFFSET
>       x86: entry_64.S: fold SAVE_ARGS_IRQ macro into its sole user
> 
> Tony Luck (1):
>       x86, mce: Get rid of TIF_MCE_NOTIFY and associated mce tricks
> 
>  Documentation/x86/entry_64.txt         |  18 ++-
>  Documentation/x86/x86_64/kernel-stacks |   8 +-
>  arch/x86/ia32/ia32entry.S              |   4 +-
>  arch/x86/include/asm/calling.h         |   1 -
>  arch/x86/include/asm/mce.h             |   1 -
>  arch/x86/include/asm/thread_info.h     |  15 ++-
>  arch/x86/include/asm/traps.h           |   6 +
>  arch/x86/kernel/cpu/mcheck/mce.c       | 114 +++++-------------
>  arch/x86/kernel/cpu/mcheck/p5.c        |   6 +
>  arch/x86/kernel/cpu/mcheck/winchip.c   |   5 +
>  arch/x86/kernel/entry_64.S             | 208 ++++++++++++++-------------------
>  arch/x86/kernel/irq_32.c               |  13 +--
>  arch/x86/kernel/signal.c               |   6 -
>  arch/x86/kernel/traps.c                | 108 +++++++++++++----
>  14 files changed, 252 insertions(+), 261 deletions(-)

Pulled into tip:x86/asm - I'll give it some testing as well 
before pushing it out.

Thanks,

	Ingo

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

end of thread, other threads:[~2015-01-29  1:45 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-15  1:59 [GIT PULL] x86/entry changes for 3.20, round 1 Andy Lutomirski
2015-01-15  9:27 ` Paul E. McKenney
2015-01-15 10:37   ` Ingo Molnar
2015-01-28 14:38 ` Ingo Molnar

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).