public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] kprobes: add new dma insn slot cache for s390
@ 2013-08-21 12:01 Heiko Carstens
  2013-08-21 12:01 ` [PATCH 1/3] kprobes: unify insn caches Heiko Carstens
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Heiko Carstens @ 2013-08-21 12:01 UTC (permalink / raw)
  To: Andrew Morton, Masami Hiramatsu, Ananth N Mavinakayanahalli,
	Ingo Molnar, Martin Schwidefsky
  Cc: linux-kernel, Heiko Carstens

The current kpropes insn caches allocate memory areas for insn slots with
module_alloc(). The assumption is that the kernel image and module area
are both within the same +/- 2GB memory area.
This however is not true for s390 where the kernel image resides within
the first 2GB (DMA memory area), but the module area is far away in the
vmalloc area, usually somewhere close below the 4TB area.

For new pc relative instructions s390 needs insn slots that are within
+/- 2GB of each area. That way we can patch displacements of pc-relative
instructions within the insn slots just like x86 and powerpc.

The module area works already with the normal insn slot allocator, however
there is currently no way to get insn slots that are within the first 2GB
on s390 (aka DMA area).

Therefore this patch set introduces a third insn slot cache besides the
normal insn and optinsn slot caches: the dmainsn slot cache. Slots can be
allocated and freed with get_dmainsn_slot() and free_dmainsn_slot().

Patch 1 unifies the current insn and optinsn caches implementation so we
don't end up with a lot of code duplication when adding a third cache.

Patch 2 simply adds the new dmainsn slot cache.

Patch 3 is the s390 usage of the new cache.

Looking at the last couple of sign-off chains I'm not sure how kprobes
patches should go upstream.. Andrew, Ingo, or simply via the s390 tree?

Heiko Carstens (3):
  kprobes: unify insn caches
  kprobes: provide new dmainsn cache
  s390/kprobes: add support for pc-relative long displacement instructions

 arch/Kconfig                    |    7 +++
 arch/s390/Kconfig               |    1 +
 arch/s390/include/asm/kprobes.h |    4 +-
 arch/s390/kernel/kprobes.c      |  124 ++++++++++++++++++++++++++++++++++++---
 include/linux/kprobes.h         |   31 ++++++++--
 kernel/kprobes.c                |   98 +++++++++++++++----------------
 6 files changed, 203 insertions(+), 62 deletions(-)

-- 
1.7.10.4


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

end of thread, other threads:[~2013-08-23  8:54 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-21 12:01 [PATCH 0/3] kprobes: add new dma insn slot cache for s390 Heiko Carstens
2013-08-21 12:01 ` [PATCH 1/3] kprobes: unify insn caches Heiko Carstens
2013-08-21 12:01 ` [PATCH 2/3] kprobes: provide new dmainsn cache Heiko Carstens
2013-08-21 12:01 ` [PATCH 3/3] s390/kprobes: add support for pc-relative long displacement instructions Heiko Carstens
2013-08-22  2:21 ` [PATCH 0/3] kprobes: add new dma insn slot cache for s390 Masami Hiramatsu
2013-08-22  5:52   ` Heiko Carstens
2013-08-23  4:31     ` Masami Hiramatsu
2013-08-23  8:09       ` Heiko Carstens
2013-08-23  8:54         ` Masami Hiramatsu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox