]> www.infradead.org Git - users/jedix/linux-maple.git/commit
dtrace: kernel provides SDT trampoline area on SPARC
authorKris Van Hees <kris.van.hees@oracle.com>
Tue, 9 Jun 2015 05:07:54 +0000 (01:07 -0400)
committerKris Van Hees <kris.van.hees@oracle.com>
Tue, 21 Jul 2015 06:51:24 +0000 (02:51 -0400)
commit72cfb617b7d90729114fbdac86ea0e25dea0ea4d
tree590bfd3246e4ea42e0306c1eec1e44c8b9498b73
parent0bef92d4b586ef66be0bc5571b8fce76fba79cb1
dtrace: kernel provides SDT trampoline area on SPARC

The allocation of the SDT trampolines was done previously using vmalloc
which may cause the trampolines to be too far away from the code that
they provide a call to dtrace_probe() for, making it impossible to put
a jump to the trampoline in a single instruction at the probe location.
By using module_alloc on SPARC, the trampolines are allocated in the
memory region where modules live, which is by design within the jump
range.

The allocated memory is known to be of sufficient size for trampolines,
yet its actual use is not determined at the kernel level.  It is simply
provided as a chunk of memory in the appropriate range.

Orabug: 21220344

Signed-off-by: Kris Van Hees <kris.van.hees@oracle.com>
Acked-by: Nick Alcock <nick.alcock@oracle.com>
dtrace/dtrace_dev.c
dtrace/sdt_sparc64.c