All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v7 00/10] ftrace with regs + live patching for ppc64 LE (ABI v2)
@ 2016-02-04 14:29 Torsten Duwe
  2016-01-25 15:26 ` [PATCH v7 01/10] ppc64 (le): prepare for -mprofile-kernel Torsten Duwe
                   ` (9 more replies)
  0 siblings, 10 replies; 26+ messages in thread
From: Torsten Duwe @ 2016-02-04 14:29 UTC (permalink / raw)
  To: Michael Ellerman
  Cc: Jiri Kosina, Miroslav Benes, Petr Mladek, Jessica Yu,
	Steven Rostedt, linuxppc-dev, linux-kernel, live-patching

Changes since v6:
  * include Petr's patch, on popular demand ;)
  * move #ifdefs out of functions for readability;
    introduce static helper functions instead.
  * No more literal binary instructions in hex,
    at least not added by this patch set.
  * add compile time checker to detect the presence
    of known-good -mprofile-kernel support.
  * limit Kconfig / compile to the configurations really supported:
    + (static) FTRACE with -pg
    +  DYNAMIC_FTRACE with -pg with or without -mprofile-kernel
       (depending on the compiler)
    +  DYNAMIC_FTRACE_WITH_REGS only with -mprofile-kernel
       (will error out if the compiler is broken)

Changes since v5:
  * extra "std r0,LRSAVE(r1)" for gcc-6
    This makes the code compiler-agnostic.
  * Follow Petr Mladek's suggestion to avoid
    redefinition of HAVE_LIVEPATCH

Changes since v4:
  * change comment style in entry_64.S to C89
    (nobody is using assembler syntax comments there).
  * the bool function restore_r2 shouldn't return 2,
    that's a little confusing.
  * Test whether the compiler supports -mprofile-kernel
    and only then define CC_USING_MPROFILE_KERNEL
  * also make the return value of klp_check_compiler_support
    depend on that.

Major changes since v3:
  * the graph tracer works now.
    It turned out the stack frame it tried to manipulate does not
    exist at that point.
  * changes only needed in order to support -mprofile-kernel are now
    in a separate patch, prepended.
  * Kconfig cleanup so this is only selectable on ppc64le.


Petr Mladek (1):
  livepatch: Detect offset for the ftrace location during build

Torsten Duwe (9):
  ppc64 (le): prepare for -mprofile-kernel
  ppc64le FTRACE_WITH_REGS implementation
  ppc use ftrace_modify_all_code default
  ppc64 ftrace_with_regs configuration variables
  ppc64 ftrace_with_regs: spare early boot and low level
  ppc64 ftrace: disable profiling for some functions
  ppc64 ftrace: disable profiling for some files
  Implement kernel live patching for ppc64le (ABIv2)
  Enable LIVEPATCH to be configured on ppc64le and add livepatch.o if it
    is selected.

 arch/powerpc/Kconfig                        |   6 +
 arch/powerpc/Makefile                       |  17 +++
 arch/powerpc/gcc-mprofile-kernel-notrace.sh |  33 ++++++
 arch/powerpc/include/asm/code-patching.h    |  24 ++++
 arch/powerpc/include/asm/ftrace.h           |   5 +
 arch/powerpc/include/asm/livepatch.h        |  45 ++++++++
 arch/powerpc/kernel/Makefile                |  13 ++-
 arch/powerpc/kernel/entry_64.S              | 169 +++++++++++++++++++++++++++-
 arch/powerpc/kernel/ftrace.c                | 129 ++++++++++++++++-----
 arch/powerpc/kernel/livepatch.c             |  38 +++++++
 arch/powerpc/kernel/module_64.c             |  56 ++++++++-
 arch/powerpc/kernel/process.c               |   2 +-
 arch/powerpc/lib/Makefile                   |   4 +-
 arch/powerpc/mm/fault.c                     |   2 +-
 arch/powerpc/mm/hash_utils_64.c             |  18 +--
 arch/powerpc/mm/hugetlbpage-hash64.c        |   2 +-
 arch/powerpc/mm/hugetlbpage.c               |   4 +-
 arch/powerpc/mm/mem.c                       |   2 +-
 arch/powerpc/mm/pgtable_64.c                |   2 +-
 arch/powerpc/mm/slb.c                       |   6 +-
 arch/powerpc/mm/slice.c                     |   8 +-
 arch/s390/Kconfig                           |   1 +
 kernel/livepatch/Makefile                   |  13 +++
 kernel/livepatch/core.c                     |  12 +-
 kernel/livepatch/ftrace-test.c              |   6 +
 kernel/trace/Kconfig                        |   5 +
 scripts/recordmcount.c                      |   6 +-
 scripts/recordmcount.h                      |  17 ++-
 28 files changed, 575 insertions(+), 70 deletions(-)
 create mode 100755 arch/powerpc/gcc-mprofile-kernel-notrace.sh
 create mode 100644 arch/powerpc/include/asm/livepatch.h
 create mode 100644 arch/powerpc/kernel/livepatch.c
 create mode 100644 kernel/livepatch/ftrace-test.c

-- 
1.8.5.6

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

end of thread, other threads:[~2016-02-10 18:01 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-02-04 14:29 [PATCH v7 00/10] ftrace with regs + live patching for ppc64 LE (ABI v2) Torsten Duwe
2016-01-25 15:26 ` [PATCH v7 01/10] ppc64 (le): prepare for -mprofile-kernel Torsten Duwe
2016-01-25 15:27 ` [PATCH v7 02/10] ppc64le FTRACE_WITH_REGS implementation Torsten Duwe
2016-01-25 15:29 ` [PATCH v7 03/10] ppc use ftrace_modify_all_code default Torsten Duwe
2016-01-25 15:29 ` [PATCH v7 04/10] ppc64 ftrace_with_regs configuration variables Torsten Duwe
2016-02-05 14:05   ` Petr Mladek
2016-02-05 14:48     ` Steven Rostedt
2016-02-05 16:18       ` Petr Mladek
2016-02-05 16:30         ` Steven Rostedt
2016-02-06 10:32         ` Torsten Duwe
2016-02-08 10:34           ` Petr Mladek
2016-02-08 12:12             ` Torsten Duwe
2016-02-08 15:23               ` Petr Mladek
2016-02-08 15:49                 ` Steven Rostedt
2016-02-08 16:32                   ` Petr Mladek
2016-02-09  9:02                   ` Torsten Duwe
2016-01-25 15:30 ` [PATCH v7 05/10] ppc64 ftrace_with_regs: spare early boot and low level Torsten Duwe
2016-01-25 15:31 ` [PATCH v7 06/10] ppc64 ftrace: disable profiling for some functions Torsten Duwe
2016-02-10  1:50   ` Michael Ellerman
2016-02-10 18:01     ` Torsten Duwe
2016-01-25 15:31 ` [PATCH v7 07/10] ppc64 ftrace: disable profiling for some files Torsten Duwe
2016-02-10  0:33   ` Michael Ellerman
2016-02-10 17:50     ` Torsten Duwe
2016-01-25 15:33 ` [PATCH v7 08/10] Implement kernel live patching for ppc64le (ABIv2) Torsten Duwe
2016-01-25 15:33 ` [PATCH v7 09/10] Enable LIVEPATCH to be configured on ppc64le and add livepatch.o if it is selected Torsten Duwe
2016-01-28 15:32 ` [PATCH v7 10/10] livepatch: Detect offset for the ftrace location during build Petr Mladek

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.