This patch series implements ftrace syscall tracing on PowerPC. All PPC 32bit,
64bit and 32bit compat syscalls are supported along with all the missing
generic compat syscalls.
This patch series includes Jason Baron's Compat Syscall Support v3 patches
rebased atop the current tip tree as patches
From: Ian Munsie imun...@au1.ibm.com
FTRACE_SYSCALLS would create events for each and every system call, even
if it had failed to map the system call's name with it's number. This
resulted in a number of events being created that would not behave as
expected.
This could happen, for example, on
From: Ian Munsie imun...@au1.ibm.com
Some architectures use non-trivial system call tables and will not work
with the generic arch_syscall_addr code. For example, PowerPC64 uses a
table of twin long longs.
This patch makes the generic arch_syscall_addr weak to allow
architectures with
From: Ian Munsie imun...@au1.ibm.com
Some architectures have unusual symbol names and the generic code to
match the symbol name with the function name for the syscall metadata
will fail. For example, symbols on PPC64 start with a period and the
generic code will fail to match them.
This patch
From: Ian Munsie imun...@au.ibm.com
This patch implements the raw syscall tracepoints on PowerPC and exports
them for ftrace syscalls to use.
To minimise reworking existing code, I slightly re-ordered the thread
info flags such that the new TIF_SYSCALL_TRACEPOINT bit would still fit
within the
From: Jason Baron jba...@redhat.com
Add 'NR_syscalls_compat' global for x86. Also, make 'ia32_sys_call_table' into a
global.
Signed-off-by: Jason Baron jba...@redhat.com
Signed-off-by: Ian Munsie imun...@au1.ibm.com
---
arch/x86/ia32/ia32entry.S |3 +++
arch/x86/include/asm/compat.h |
From: Jason Baron jba...@redhat.com
Add arch_compat_syscall_addr(int nr) for x86_64. This is in preparation for
adding
compat syscall support to the event tracer.
Signed-off-by: Jason Baron jba...@redhat.com
Signed-off-by: Ian Munsie imun...@au1.ibm.com
---
arch/x86/include/asm/syscall.h |
From: Heiko Carstens heiko.carst...@de.ibm.com
add generic is_compat_task()
Signed-off-by: Jason Baron jba...@redhat.com
Signed-off-by: Heiko Carstens heiko.carst...@de.ibm.com
Signed-off-by: Ian Munsie imun...@au1.ibm.com
---
arch/s390/include/asm/compat.h |7 ---
From: Jason Baron jba...@redhat.com
In preparation for compat syscall tracing support, let's store the enabled
syscalls, with the struct syscall_metadata itself. That way we don't duplicate
enabled information when the compat table points to an entry in the regular
syscall table. Also, allows us
From: Jason Baron jba...@redhat.com
trace_syscalls.c uses __start_ftrace_events and __stop_ftrace_events in order
to prune compat syscall ftrace events that are not referenced by the compat
syscall table. So move the 'extern' definitions to a common header file.
Signed-off-by: Jason Baron
From: Jason Baron jba...@redhat.com
Make use of the new ARCH_COMPAT_SYSCALL_DEFINE#N() macros to tie the compat
syscalls into the event tracer.
Signed-off-by: Jason Baron jba...@redhat.com
Signed-off-by: Ian Munsie imun...@au1.ibm.com
---
arch/x86/ia32/sys_ia32.c | 102
From: Jason Baron jba...@redhat.com
Add core support to event tracing for compat syscalls. The basic idea is that we
check if we have a compat task via 'is_compat_task()'. If so, we lookup in the
new compat_syscalls_metadata table, the corresponding struct syscall_metadata,
to
check syscall
From: Jason Baron jba...@redhat.com
convert the fs/compat.c file to use the COMPAT_SYSCALL_DEFINE#N() macros to tie
them into the generic compat layer.
Signed-off-by: Jason Baron jba...@redhat.com
Signed-off-by: Ian Munsie imun...@au1.ibm.com
---
fs/compat.c | 147
From: Jason Baron jba...@redhat.com
convert kernel/compat.c to use the new COMPAT_SYSCALL_DEFINE#N macro. Thus,
tying these syscalls into the syscall event layer.
Signed-off-by: Jason Baron jba...@redhat.com
Signed-off-by: Ian Munsie imun...@au1.ibm.com
---
kernel/compat.c | 106
From: Jason Baron jba...@redhat.com
make tags.sh recognize the new syscall macros:
COMPAT_SYSCALL_DEFINE#N()
ARCH_COMPAT_SYSCALL_DEFINE#N()
Signed-off-by: Jason Baron jba...@redhat.com
Signed-off-by: Ian Munsie imun...@au1.ibm.com
---
scripts/tags.sh |8 ++--
1 files changed, 6
From: Jason Baron jba...@redhat.com
Create a new compat_syscalls subsys for tracing
Signed-off-by: Jason Baron jba...@redhat.com
Signed-off-by: Ian Munsie imun...@au1.ibm.com
---
include/linux/syscalls.h | 40 +---
kernel/trace/trace_syscalls.c | 16
From: Ian Munsie imun...@au1.ibm.com
With the ftrace events now checking if the syscall_nr is valid upon
initialisation, there is no need to verify it when registering and
unregistering the events, so remove the check.
Signed-off-by: Ian Munsie imun...@au1.ibm.com
---
From: Jason Baron jba...@redhat.com
move the logic for enabling compat syscalls to common arch/Kconfig, where
config_compat_ftrace_syscalls depends on CONFIG_COMPAT, CONFIG_FTRACE_SYSCALLS,
and a per-arch CONFIG_HAVE_COMPAT_FTRACE_SYSCALLS. In this way arches that
want to add support for compat
From: Ian Munsie imun...@au1.ibm.com
With the new compat syscall tracing, either syscall_nr or
compat_syscall_nr may be set, so test both before assuming that the
initialisation failed.
Signed-off-by: Ian Munsie imun...@au1.ibm.com
---
kernel/trace/trace_syscalls.c |6 --
1 files
From: Ian Munsie imun...@au1.ibm.com
This patch adds the necessary infrastructure to trace 32bit compat
syscalls on PowerPC64.
Signed-off-by: Ian Munsie imun...@au1.ibm.com
---
arch/powerpc/Kconfig |1 +
arch/powerpc/include/asm/unistd.h |4
From: Ian Munsie imun...@au1.ibm.com
Convert all the trivial 32bit PowerPC compat syscalls to use the
COMPAT_SYSCALL_DEFINE family of macros. This commit only converts the
syscalls with a return type of long for safety, syscalls with differing
return types will be dealt with in a separate commit.
From: Ian Munsie imun...@au1.ibm.com
This patch alters the trivial syscalls (with a return type of long) in
PPC to use the SYSCALL_DEFINE family of macros to record their metadata
for ftrace syscalls.
It does not alter any non-trivial syscalls with different return types.
Several of the
From: Ian Munsie imun...@au1.ibm.com
The syscall metadata creation macros are a bit convoluted with some
duplicated code - particularly the duplication in SYSCALL_DEFINE0 with
SYSCALL_METADATA and related macros.
As demonstrated by the compat syscalls, there may be needs to introduce
additional
From: Ian Munsie imun...@au1.ibm.com
This patchs adds the COMPAT_SYSCALL_DEFINE0 macros for compat syscalls
that do not take any arguments.
Signed-off-by: Ian Munsie imun...@au1.ibm.com
---
include/linux/syscalls.h |4
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git
From: Ian Munsie imun...@au1.ibm.com
Certain system calls on PowerPC access to the registers through a 7th
parameter, which will not fit into the model of the existing
SYSCALL_DEFINE macros.
This patch a new class of macros to handle this situation, recording the
metadata required for ftrace
From: Ian Munsie imun...@au1.ibm.com
Convert the remaining trivial 32bit compat syscalls to use the
COMPAT_SYSCALL_DEFINE family of macros.
The syscalls addressed by this commit were lacking the asmlinkage flag,
which will be added by the COMPAT_SYSCALL_DEFINE macros. This should not
be an issue
From: Ian Munsie imun...@au1.ibm.com
This patch renames the 32bit compat syscalls prefixed with ppc32_ to
sys32_ and uses the ARCH_COMPAT_SYSCALL_DEFINE macros to record their
metadata for tracing.
Signed-off-by: Ian Munsie imun...@au1.ibm.com
---
arch/powerpc/include/asm/systbl.h |4 ++--
From: Ian Munsie imun...@au1.ibm.com
This patch converts the remaining system calls from kernel/compat.c to
use the COMPAT_SYSCALL_DEFINE family of macros.
The particular system calls in question did not originally have the
asmlinkage tag which will be added by this conversion.
Signed-off-by:
From: Ian Munsie imun...@au1.ibm.com
This patch coverts a number of system calls on PowerPC to use the new
PPC_REGS_SYSCALL_DEFINE class of macros, to record their metadata but
still use the correct syntax to access the registers through the 7th
parameter.
Signed-off-by: Ian Munsie
From: Ian Munsie imun...@au1.ibm.com
A number of syscalls have return types other than long, which the
existing SYSCALL_DEFINE macros assumed. This patch adds aditional macros
that specify the return types (semantics of existing high level macros are
unchanged) for use with system calls with
From: Ian Munsie imun...@au1.ibm.com
This patch converts a number of syscalls from the generic code that had
return types other than long to use the new COMPAT_SYSCALL_DEFINEx_RET
macros so their metadata is recorded for tracing.
Signed-off-by: Ian Munsie imun...@au1.ibm.com
---
fs/compat.c
From: Ian Munsie imun...@au1.ibm.com
This patch will print out implemented but unmapped system calls at boot
to help quickly identify remaining unmapped system calls.
Signed-off-by: Ian Munsie imun...@au1.ibm.com
---
kernel/trace/trace_syscalls.c |1 +
1 files changed, 1 insertions(+), 0
From: Ian Munsie imun...@au1.ibm.com
Since the ftrace event initialisation routine now verifies that either
the syscall number or the compat syscall number is valid and will not
create events for unmapped syscalls, it is unnecessary to explicitly
search for them, so remove it.
Signed-off-by: Ian
From: Ian Munsie imun...@au1.ibm.com
Many system calls are unimplemented and mapped to sys_ni_syscall, but at
boot ftrace would still search through every syscall metadata entry for
a match which wouldn't be there.
This patch adds causes the search to terminate early if the system call
is not
From: Ian Munsie imun...@au1.ibm.com
This patch converts the PowerPC system calls with return types other
than long to use the various *SYSCALL_DEFINEx_RET family of macros so
their metadata is recorded for tracing.
This patch also renamed the ppc_rtas syscall to sys_rtas to fit in with
the
From: Ian Munsie imun...@au1.ibm.com
This patch cleans up the preprocessor macros defining system calls by
standidising on the parameters passing around the system call name, with
and without it's prefix.
Overall this makes the preprocessor code easier to understand and
follow and less likely to
From: Ian Munsie imun...@au1.ibm.com
Several of the PowerPC system call implementations are used as both the
32bit compat version on PPC64 and the 32bit native version on PPC32.
Previousely these used the preprocessor to change the function names on
PPC64 to add the compat_ prefix.
This patch
From: Ian Munsie imun...@au1.ibm.com
This patch adds support for syscalls using the SYSCALL_DEFINE macro
(i.e. ones that require a specialised syscall wrapper) to record their
meta-data for system call tracing.
The semantics of the SYSCALL_DEFINE macro therefore change to include
the number of
Any reason we need to differenciate between COMPAT_SYSCALL_DEFINE and
ARCH_COMPAT_SYSCALL_DEFINE? We don't need this for native system calls,
so I can't see the reason to do it for compat system calls.
___
Linuxppc-dev mailing list
From: Ian Munsie imun...@au1.ibm.com
This patch converts numerous trivial compat syscalls through the generic
kernel code to use the COMPAT_SYSCALL_DEFINE family of macros.
Signed-off-by: Ian Munsie imun...@au1.ibm.com
---
fs/compat.c|2 +-
fs/compat_ioctl.c |4 ++--
On Wed, Jun 23, 2010 at 12:14:02PM +0200, Christoph Hellwig wrote:
Any reason we need to differenciate between COMPAT_SYSCALL_DEFINE and
ARCH_COMPAT_SYSCALL_DEFINE? We don't need this for native system calls,
so I can't see the reason to do it for compat system calls.
I think we wanted
On Wed, Jun 23, 2010 at 12:19:38PM +0200, Andi Kleen wrote:
, Ian Munsie wrote:
From: Ian Munsieimun...@au1.ibm.com
This patch converts numerous trivial compat syscalls through the generic
kernel code to use the COMPAT_SYSCALL_DEFINE family of macros.
Why? This just makes the code look
, Ian Munsie wrote:
From: Ian Munsieimun...@au1.ibm.com
This patch converts numerous trivial compat syscalls through the generic
kernel code to use the COMPAT_SYSCALL_DEFINE family of macros.
Why? This just makes the code look uglier and the functions harder
to grep for.
-Andi
On Wed, Jun 23, 2010 at 12:36:21PM +0200, Frederic Weisbecker wrote:
I think we wanted that to keep the sys32_ prefixed based naming, to avoid
collisions with generic compat handler names.
For native syscalls we do this by adding a arch prefix inside the
syscall name, e.g.:
, Frederic Weisbecker wrote:
On Wed, Jun 23, 2010 at 12:19:38PM +0200, Andi Kleen wrote:
, Ian Munsie wrote:
From: Ian Munsieimun...@au1.ibm.com
This patch converts numerous trivial compat syscalls through the generic
kernel code to use the COMPAT_SYSCALL_DEFINE family of macros.
Why? This
On Wed, Jun 23, 2010 at 12:46:04PM +0200, Christoph Hellwig wrote:
On Wed, Jun 23, 2010 at 12:36:21PM +0200, Frederic Weisbecker wrote:
I think we wanted that to keep the sys32_ prefixed based naming, to avoid
collisions with generic compat handler names.
For native syscalls we do this by
, Ian Munsie wrote:
From: Ian Munsieimun...@au1.ibm.com
This patch converts numerous trivial compat syscalls through the generic
kernel code to use the COMPAT_SYSCALL_DEFINE family of macros.
Why? This just makes the code look uglier and the functions harder
to grep for.
I guess
On Wed, Jun 23, 2010 at 12:37:44PM +0200, Andi Kleen wrote:
, Frederic Weisbecker wrote:
On Wed, Jun 23, 2010 at 12:19:38PM +0200, Andi Kleen wrote:
, Ian Munsie wrote:
From: Ian Munsieimun...@au1.ibm.com
This patch converts numerous trivial compat syscalls through the generic
kernel code
I haven't heard any complains about existing syscalls wrappers.
At least for me they always interrupt my grepping.
What kind of annotations could solve that?
If you put the annotation in a separate macro and leave the original
prototype alone. Then C parsers could still parse it.
-Andi
On Wed, Jun 23, 2010 at 02:35:38PM +0200, Andi Kleen wrote:
I haven't heard any complains about existing syscalls wrappers.
At least for me they always interrupt my grepping.
What kind of annotations could solve that?
If you put the annotation in a separate macro and leave the original
unsubscribe
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev
On Wed, 2010-06-23 at 20:02 +1000, Ian Munsie wrote:
From: Ian Munsie imun...@au1.ibm.com
FTRACE_SYSCALLS would create events for each and every system call, even
if it had failed to map the system call's name with it's number. This
resulted in a number of events being created that would not
On Wed, 2010-06-23 at 20:02 +1000, Ian Munsie wrote:
From: Jason Baron jba...@redhat.com
In preparation for compat syscall tracing support, let's store the enabled
syscalls, with the struct syscall_metadata itself. That way we don't duplicate
enabled information when the compat table points
On Wed, 2010-06-23 at 20:02 +1000, Ian Munsie wrote:
From: Jason Baron jba...@redhat.com
Add core support to event tracing for compat syscalls. The basic idea is that
we
check if we have a compat task via 'is_compat_task()'. If so, we lookup in the
new compat_syscalls_metadata table, the
Hi Ben,
The following series adds a kernel module for powerpc pseries platforms in
order to export platform energy management capabilities.
The module exports data from a new hypervisor call H_BEST_ENERGY.
Comments and suggestions made on the previous iteration of the patch
has been
These APIs take logical cpu number as input
Change cpu_first_thread_in_core() to cpu_leftmost_thread_sibling()
Change cpu_last_thread_in_core() to cpu_rightmost_thread_sibling()
These APIs convert core number (index) to logical cpu/thread numbers
Add cpu_first_thread_of_core(int core)
Changed
Create sysfs interface to export data from H_BEST_ENERGY hcall
that can be used by administrative tools on supported pseries
platforms for energy management optimizations.
/sys/device/system/cpu/pseries_(de)activate_hint_list and
On Wed, Jun 23, 2010 at 11:26:26AM -0400, Steven Rostedt wrote:
On Wed, 2010-06-23 at 20:02 +1000, Ian Munsie wrote:
From: Jason Baron jba...@redhat.com
Add core support to event tracing for compat syscalls. The basic idea is
that we
check if we have a compat task via
On 06/23/2010 04:38 AM, Frederic Weisbecker wrote:
I haven't heard any complains about existing syscalls wrappers.
Then you truly haven't been listening.
-hpa
--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.
On 06/23/2010 04:41 AM, Frederic Weisbecker wrote:
On Wed, Jun 23, 2010 at 12:46:04PM +0200, Christoph Hellwig wrote:
On Wed, Jun 23, 2010 at 12:36:21PM +0200, Frederic Weisbecker wrote:
I think we wanted that to keep the sys32_ prefixed based naming, to avoid
collisions with generic compat
On Wed, 2010-06-23 at 15:34 -0400, Jason Baron wrote:
Actually, looking at this further, what we probably want to do change
the int nb_args field, which is already in syscall_metadata into a bit
field. nb_args I think can be at most 6, or 3 bits, and we only need 4
bits for storing the
On Wed, Jun 23, 2010 at 08:03:20PM +1000, Ian Munsie wrote:
From: Ian Munsie imun...@au1.ibm.com
This patch cleans up the preprocessor macros defining system calls by
standidising on the parameters passing around the system call name, with
and without it's prefix.
Overall this makes the
On Wed, Jun 23, 2010 at 11:16:44AM -0400, Steven Rostedt wrote:
On Wed, 2010-06-23 at 20:02 +1000, Ian Munsie wrote:
From: Jason Baron jba...@redhat.com
In preparation for compat syscall tracing support, let's store the enabled
syscalls, with the struct syscall_metadata itself. That way
On Wed, Jun 23, 2010 at 03:14:54PM -0400, Jason Baron wrote:
On Wed, Jun 23, 2010 at 11:16:44AM -0400, Steven Rostedt wrote:
On Wed, 2010-06-23 at 20:02 +1000, Ian Munsie wrote:
From: Jason Baron jba...@redhat.com
In preparation for compat syscall tracing support, let's store the
64 matches
Mail list logo