All of lore.kernel.org
 help / color / mirror / Atom feed
From: Brian Gerst <brgerst@gmail.com>
To: x86@kernel.org, linux-kernel@vger.kernel.org
Cc: Ingo Molnar <mingo@kernel.org>, "H. Peter Anvin" <hpa@zytor.com>,
	Denys Vlasenko <dvlasenk@redhat.com>,
	Andy Lutomirski <luto@amacapital.net>,
	Borislav Petkov <bp@suse.de>,
	Thomas Gleixner <tglx@linutronix.de>
Subject: [PATCH 0/4] x86: Rewrite switch_to()
Date: Sat, 21 May 2016 12:04:47 -0400	[thread overview]
Message-ID: <1463846691-18498-1-git-send-email-brgerst@gmail.com> (raw)

This patch set simplifies the switch_to() code, by moving the stack switch
code out of line into an asm stub before calling __switch_to().  This ends
up being more readable, and using the C calling convention instead of
clobbering all registers improves code generation.  It also allows newly
forked processes to construct a special stack frame to seamlessly flow
to ret_from_fork, instead of using a test and branch, or an unbalanced
call/ret.

[PATCH 1/4] x86: Save return value from kernel_thread
[PATCH 2/4] x86-32, kgdb: Don't use thread.ip in
[PATCH 3/4] x86: Rewrite switch_to() code
[PATCH 4/4] x86: Pass kernel thread parameters in fork_frame

 arch/x86/entry/entry_32.S          |  68 +++++++++++++-----
 arch/x86/entry/entry_64.S          |  72 +++++++++++++------
 arch/x86/include/asm/processor.h   |   3 -
 arch/x86/include/asm/switch_to.h   | 137 ++++++-------------------------------
 arch/x86/include/asm/thread_info.h |   2 -
 arch/x86/kernel/asm-offsets.c      |   6 ++
 arch/x86/kernel/asm-offsets_32.c   |   5 ++
 arch/x86/kernel/asm-offsets_64.c   |   5 ++
 arch/x86/kernel/kgdb.c             |   3 +-
 arch/x86/kernel/process_32.c       |  19 ++---
 arch/x86/kernel/process_64.c       |  17 +++--
 arch/x86/kernel/smpboot.c          |   1 -
 12 files changed, 153 insertions(+), 185 deletions(-)

             reply	other threads:[~2016-05-21 16:04 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-21 16:04 Brian Gerst [this message]
2016-05-21 16:04 ` [PATCH 1/4] x86: Save return value from kernel_thread Brian Gerst
2016-05-22  1:44   ` Andy Lutomirski
2016-05-22  2:19     ` Brian Gerst
2016-05-21 16:04 ` [PATCH 2/4] x86-32, kgdb: Don't use thread.ip in sleeping_thread_to_gdb_regs() Brian Gerst
2016-05-23 17:05   ` Andy Lutomirski
2016-05-21 16:04 ` [PATCH 3/4] x86: Rewrite switch_to() code Brian Gerst
2016-05-22 17:59   ` Andy Lutomirski
2016-05-22 19:31     ` Brian Gerst
2016-05-22 21:07       ` Andy Lutomirski
2016-05-23  2:34     ` Josh Poimboeuf
2016-05-23  4:47       ` Andy Lutomirski
2016-05-23 11:40         ` Josh Poimboeuf
2016-05-23 11:49           ` Brian Gerst
2016-05-23 12:05             ` Josh Poimboeuf
2016-05-23 11:14       ` Brian Gerst
2016-05-23 11:47         ` Josh Poimboeuf
2016-05-23 11:49           ` Josh Poimboeuf
2016-05-23 16:46             ` Josh Poimboeuf
2016-05-23 17:03               ` Andy Lutomirski
2016-05-23 18:44                 ` Josh Poimboeuf
2016-07-12 14:16                 ` Josh Poimboeuf
2016-06-15  1:31   ` Andy Lutomirski
2016-06-15  8:03     ` Ingo Molnar
2016-06-15 11:52       ` Brian Gerst
2016-05-21 16:04 ` [PATCH 4/4] x86: Pass kernel thread parameters in fork_frame Brian Gerst
2016-05-22 18:01   ` Andy Lutomirski
2016-05-22 19:21     ` Brian Gerst
2016-05-23 15:23   ` Josh Poimboeuf
2016-05-23 15:36     ` Andy Lutomirski
2016-05-23 21:04       ` Brian Gerst

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1463846691-18498-1-git-send-email-brgerst@gmail.com \
    --to=brgerst@gmail.com \
    --cc=bp@suse.de \
    --cc=dvlasenk@redhat.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@amacapital.net \
    --cc=mingo@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.