Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1345667

[tip:core/objtool] sched: Always inline context_switch()

From tip-bot for Josh Poimboeuf <tipbot@zytor.com>
Newsgroups linux.kernel
Subject [tip:core/objtool] sched: Always inline context_switch()
Date 2016-02-29 12:10 +0100
Message-ID <r7tSc-2et-51@gated-at.bofh.it> (permalink)
References <r7nD4-5hw-11@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Commit-ID:  049369487e2068294b61cee19233be0ffac7d243
Gitweb:     http://git.kernel.org/tip/049369487e2068294b61cee19233be0ffac7d243
Author:     Josh Poimboeuf <jpoimboe@redhat.com>
AuthorDate: Sun, 28 Feb 2016 22:22:39 -0600
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Mon, 29 Feb 2016 08:35:11 +0100

sched: Always inline context_switch()

When CONFIG_GCOV is enabled, gcc decides to put context_switch()
out-of-line, which is inconsistent with its normal behavior.

It also causes an objtool warning because __schedule() no longer inlines
context_switch(), so the "STACK_FRAME_NON_STANDARD(__schedule)"
statement loses its effect.

Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Bernd Petrovitsch <bernd@petrovitsch.priv.at>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Chris J Arges <chris.j.arges@canonical.com>
Cc: Jiri Slaby <jslaby@suse.cz>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Michal Marek <mmarek@suse.cz>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Pedro Alves <palves@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: live-patching@vger.kernel.org
Link: http://lkml.kernel.org/r/d62aee926b6e303394e34a06999a964dc2773cf6.1456719558.git.jpoimboe@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 kernel/sched/core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 641043d..bb0daab 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -2763,7 +2763,7 @@ asmlinkage __visible void schedule_tail(struct task_struct *prev)
 /*
  * context_switch - switch to the new MM and the new thread's register state.
  */
-static inline struct rq *
+static __always_inline struct rq *
 context_switch(struct rq *rq, struct task_struct *prev,
 	       struct task_struct *next)
 {

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v19 00/10] Compile-time stack metadata validation Josh Poimboeuf <jpoimboe@redhat.com> - 2016-02-29 05:30 +0100
  [PATCH v19 06/10] sched: always inline context_switch() Josh Poimboeuf <jpoimboe@redhat.com> - 2016-02-29 05:30 +0100
    [tip:core/objtool] sched: Always inline context_switch() tip-bot for Josh Poimboeuf <tipbot@zytor.com> - 2016-02-29 12:10 +0100
  [PATCH v19 09/10] objtool: Add CONFIG_STACK_VALIDATION option Josh Poimboeuf <jpoimboe@redhat.com> - 2016-02-29 05:30 +0100
    [tip:core/objtool] objtool: Add CONFIG_STACK_VALIDATION option tip-bot for Josh Poimboeuf <tipbot@zytor.com> - 2016-02-29 12:10 +0100
      Re: [tip:core/objtool] objtool: Add CONFIG_STACK_VALIDATION option Sebastian Andrzej Siewior <sebastian@breakpoint.cc> - 2016-03-03 15:20 +0100
        Re: [tip:core/objtool] objtool: Add CONFIG_STACK_VALIDATION option Josh Poimboeuf <jpoimboe@redhat.com> - 2016-03-03 16:00 +0100
  [PATCH v19 01/10] objtool: Mark non-standard files and directories Josh Poimboeuf <jpoimboe@redhat.com> - 2016-02-29 05:30 +0100
    [tip:core/objtool] objtool: Mark non-standard object files and  directories tip-bot for Josh Poimboeuf <tipbot@zytor.com> - 2016-02-29 12:00 +0100
  [PATCH v19 07/10] x86/kprobes: Mark kretprobe_trampoline() stack frame as non-standard Josh Poimboeuf <jpoimboe@redhat.com> - 2016-02-29 05:30 +0100
    [tip:core/objtool] x86/kprobes: Mark kretprobe_trampoline() stack  frame as non-standard tip-bot for Josh Poimboeuf <tipbot@zytor.com> - 2016-02-29 12:10 +0100
  [PATCH v19 10/10] objtool: Enable stack metadata validation on x86_64 Josh Poimboeuf <jpoimboe@redhat.com> - 2016-02-29 05:30 +0100
    [tip:core/objtool] objtool: Enable stack metadata validation on  64-bit x86 tip-bot for Josh Poimboeuf <tipbot@zytor.com> - 2016-02-29 12:10 +0100
  [PATCH v19 04/10] bpf: Mark __bpf_prog_run() stack frame as non-standard Josh Poimboeuf <jpoimboe@redhat.com> - 2016-02-29 05:30 +0100
    [tip:core/objtool] bpf: Mark __bpf_prog_run() stack frame as  non-standard tip-bot for Josh Poimboeuf <tipbot@zytor.com> - 2016-02-29 12:10 +0100
  [PATCH v19 03/10] x86/xen: Mark xen_cpuid() stack frame as non-standard Josh Poimboeuf <jpoimboe@redhat.com> - 2016-02-29 05:30 +0100
    [tip:core/objtool] x86/xen: Mark xen_cpuid() stack frame as  non-standard tip-bot for Josh Poimboeuf <tipbot@zytor.com> - 2016-02-29 12:10 +0100

csiph-web