Define and use macros to identify perf events codes. This would make it
easier and more readable when these event codes need to be used in more
than one place.
Signed-off-by: Sukadev Bhattiprolu
---
arch/powerpc/perf/power7-pmu.c | 28
1 files changed, 20
:11 2012 +0200
perf/x86: Make hardware event translations available in sysfs
Changelog:[v3]
[Jiri Olsa] Drop EVENT_ID() macro since it is only used once.
Signed-off-by: Sukadev Bhattiprolu
---
arch/powerpc/include/asm/perf_event_server.h | 24 ++
arch
s based on corresponding code in x86.
Changelog[v2]: [Jiri Olsa] Use PMU_FORMAT_ATTR() rather than duplicating it.
Signed-off-by: Sukadev Bhattiprolu
---
arch/powerpc/include/asm/perf_event_server.h |6 ++
arch/powerpc/perf/core-book3s.c | 12
arch/powerpc/perf/po
: Sukadev Bhattiprolu
---
arch/x86/kernel/cpu/perf_event.c | 13 +++--
include/linux/perf_event.h | 11 +++
2 files changed, 14 insertions(+), 10 deletions(-)
diff --git a/arch/x86/kernel/cpu/perf_event.c b/arch/x86/kernel/cpu/perf_event.c
index 4428fd1..59a1238 100644
--- a
e users to specify these events with their symbolic
names rather than with their raw code.
perf stat -e 'cpu/PM_CYC/' ...
Signed-off-by: Sukadev Bhattiprolu
---
arch/powerpc/include/asm/perf_event_server.h |2 ++
arch/powerpc/perf/power7-pmu.c | 18 +++
From: Sukadev Bhattiprolu <[EMAIL PROTECTED]>
Subject: [PATCH] Rename is_cgroup_init()
is_container_init() was accidentally renamed to is_cgroup_init() when
renaming "container" to "control group". This patch restores the
original name.
Signed-off-by: Sukadev Bha
Pavel Emelianov [EMAIL PROTECTED] wrote:
| Some time ago Sukadev noticed that the vmlinux size has
Cedric pointed it out to me first :-)
| grown 5Kb due to merged pid namespaces. One of the big
| problems with it was fat inline functions. The other thing
| was noticed by Matt - the checks for
fixes your problem?
|
| Works on my machine. Thanks!
And mine too. Thanks,
|
| > --
| >
| > Fix copy_namespace() <-> sched_fork() dependency in do_fork, by moving
| > up sched_fork().
| >
| > Also introduce a NULL pointer check for 'curr' in task_new_fair(
t;
|
| AFAIS this is just making the kill for all the super blocks
| we have.
|
| Acked-by: Pavel Emelyanov <[EMAIL PROTECTED]>
Acked-by: Sukadev Bhattiprolu <[EMAIL PROTECTED]>
|
| > ---
| > fs/proc/generic.c | 38 +-
| > fs/pro
Andrew Morton [EMAIL PROTECTED] wrote:
| On Thu, 19 Jul 2007 00:21:58 -0700
| [EMAIL PROTECTED] wrote:
|
| > --- lx26-22-rc6-mm1a.orig/kernel/pid.c 2007-07-16 12:55:15.0
-0700
| > +++ lx26-22-rc6-mm1a/kernel/pid.c 2007-07-16 13:10:48.0 -0700
| > @@ -69,6 +69,13 @@ struct pi
Pavel Emelianov [EMAIL PROTECTED] wrote:
| Make alloc_pid() initialize pid_numbers and hash them
| into the hashtable, not the struct pid itself.
|
| Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
|
| ---
|
| pid.c | 47 +--
| 1 files changed, 3
otten:
|
| <-- snip -->
|
| ...
| CC arch/m32r/mm/fault.o
| arch/m32r/mm/fault.c: In function 'do_page_fault':
| arch/m32r/mm/fault.c:274: error: implicit declaration of function 'is_init'
| make[2]: *** [arch/m32r/mm/fault.o] Error 1
|
| <-- snip -->
Sorry.
Pavel Emelianov [EMAIL PROTECTED] wrote:
| This is a lost hunk of previous patch that isolated the
| explicit usage of task->tgid in some places. The signalfd
| code uses the tsk->tgid comparison.
|
| Signed-off-by: Pavel Emelyanov <[EMAIL PROTECTED]>
Acked-by: Sukadev Bhattip
eing used :-)
Acked-by: Sukadev Bhattiprolu <[EMAIL PROTECTED]>
|
| ---
|
| diff --git a/net/core/pktgen.c b/net/core/pktgen.c
| index 3a3154e..93695c2 100644
| --- a/net/core/pktgen.c
| +++ b/net/core/pktgen.c
| @@ -380,7 +380,6 @@ struct pktgen_thread {
| /* Field for thread to
ked-by: Sukadev Bhattiprolu <[EMAIL PROTECTED]>
|
| ---
|
| diff --git a/net/ipv4/ipvs/ip_vs_sync.c b/net/ipv4/ipvs/ip_vs_sync.c
| index 959c08d..d0798a5 100644
| --- a/net/ipv4/ipvs/ip_vs_sync.c
| +++ b/net/ipv4/ipvs/ip_vs_sync.c
| @@ -794,7 +794,7 @@ static int sync_thread(v
panic("Attempted to kill init!");
| > > }
| > >
| > > has no place to live any more, so I just removed it.
| >
| > Ah, thanks. I should have done this patch against -mm tree.
| >
| > I hope it is OK to drop this chunk of
| > pid-namespaces-define
Pavel Emelianov [EMAIL PROTECTED] wrote:
| [EMAIL PROTECTED] wrote:
| >Pavel Emelianov [EMAIL PROTECTED] wrote:
| >| Make alloc_pid() initialize pid_numbers and hash them
| >| into the hashtable, not the struct pid itself.
| >|
| >| Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
| >|
| >| ---
I get this compile error on 2.6.23-rc1-mm1 on i386. Config file
attached (this basic config file worked on 2.6.22-rc6-mm1)
lx26-23-rc1-mm1/mm/sparse.c: In function 'sparse_init':
lx26-23-rc1-mm1/mm/sparse.c:482: error: implicit declaration of function
'sparse_early_usemap_alloc'
lx26-23-rc1-mm1
Eric W. Biederman [EMAIL PROTECTED] wrote:
| Greg KH <[EMAIL PROTECTED]> writes:
|
| > On Fri, Oct 05, 2007 at 06:12:41AM -0600, Eric W. Biederman wrote:
| >> Greg KH <[EMAIL PROTECTED]> writes:
| >> >
| >> >> Also fun is that the dev file implementation needs to be able to
| >> >> report diff
blem, and I already answered to Ingo about
| >> it
| >
| > No, look at my old mail which Ingo referenced in that posting.
|
| You pointed only one problem that is not a variation of "how do
| we handle the case when we pass our pid outside the namespace".
|
| This problem
With CONFIG_FAIR_CGROUP_SCHED=y, following commands on 2.6.24-rc1 crash
the system.
$ mount -t cgroup none /cgroups
$ ./ns_exec -cm /bin/ls
"ns_exec -cm" calls clone() to clone the mount namespace and then
executes the '/bin/ls' program in the cloned child.
Some observations th
Pavel Emelianov [EMAIL PROTECTED] wrote:
| This is "submition for inclusion" of hierarchical, not kconfig
| configurable, zero overheaded ;) pid namespaces.
|
| The overall idea is the following:
|
| The namespace are organized as a tree - once a task is cloned
| with CLONE_NEWPIDS (yes, I've al
Pavel Emelianov [EMAIL PROTECTED] wrote:
| This is "submition for inclusion" of hierarchical, not kconfig
| configurable, zero overheaded ;) pid namespaces.
|
| The overall idea is the following:
|
| The namespace are organized as a tree - once a task is cloned
| with CLONE_NEWPIDS (yes, I've als
Pavel Emelianov [EMAIL PROTECTED] wrote:
| When searching the task by numerical id on may need to find
| it using global pid (as it is done now in kernel) or by its
| virtual id, e.g. when sending a signal to a task from one
| namespace the sender will specify the task's virtual id.
|
| Signed-off
Pavel Emelianov [EMAIL PROTECTED] wrote:
| When user send signal from (say) init namespace to any task in a sub
| namespace the siginfo struct must not carry the sender's pid value, as
| this value may refer to some task in the destination namespace and thus
| may confuse the application.
Also, do
I am not able to find a specific patch that this might be in,
but what happens when the child-reaper of a container exits ?
Do you terminate all processes in the container ? I thought
that was discussed earlier and the consensus was to terminate
all processes in that container and its subordinate c
Cedric Le Goater [EMAIL PROTECTED] wrote:
| Pavel Emelianov wrote:
| > struct pid_namespace will have the kmem_cache to allocate
| > the pids from, the parent, as they are hierarchical, and
| > the level of nesting value.
| >
| > struct pid will have a variable length array of pid_number-s
| > one
Pavel Emelianov [EMAIL PROTECTED] wrote:
| When showing pid to user or getting the pid numerical id for in-kernel
| use the value of this id may differ depending on the namespace.
|
| This set of helpers is used to get the global pid nr, the virtual (i.e.
| seen by task in its namespace) nr and th
Pavel Emelianov [EMAIL PROTECTED] wrote:
| We must pass the namespace pointer to the alloc_pid() to
| show what namespace to allocate the pid from and we should
| call this *after* the namespace is copied.
|
| Essentially, the task->pid etc initialization is done after
| the alloc_pid().
|
| To d
ed.
|
| Signed-off-by: Pavel Emelianov <[EMAIL PROTECTED]>
| Acked-by: Cedric Le Goater <[EMAIL PROTECTED]>
| Acked-by: Sukadev Bhattiprolu <[EMAIL PROTECTED]>
|
| ---
|
| diff --git a/include/linux/pid_namespace.h b/include/linux/pid_namespace.h
| index ddb9a4c..27c
Some helper patches to support multiple pid namespaces. These
were discussed earlier on Containers@ mailing list.
[PATCH 1/5] Define and use task_active_pid_ns() wrapper
[PATCH 2/5] Rename child_reaper() function.
[PATCH 3/5] Use task_pid() to find leader's pid
[P
Subject: [PATCH 1/5] Define and use task_active_pid_ns() wrapper
From: Sukadev Bhattiprolu <[EMAIL PROTECTED]>
With multiple pid namespaces, a process is known by some pid_t in
every ancestor pid namespace. Every time the process forks, the
child process also gets a pid_t in every ancest
Pavel,
Pls ack this if you agree.
Suka
---
Subject: [PATCH 2/5] Rename child_reaper function.
From: Sukadev Bhattiprolu <[EMAIL PROTECTED]>
Rename the child_reaper() function to task_child_reaper() to be
similar to other task_* functions and to distinguish the function
from &
Subject: [PATCH 3/5] Use task_pid() to find leader's pid
From: Sukadev Bhattiprolu <[EMAIL PROTECTED]>
Use task_pid() to get leader's pid since find_pid() cannot be used
after detach_pid(). See comments in the code below for more details.
Signed-off-by: Sukadev Bhattiprolu &
gelog:
2.6.22-rc4-mm2-pidns1:
- Use 'init_pid_ns.child_reaper' to determine if a given task is the
global init (/sbin/init) process. This would improve performance
and remove dependence on the task_pid().
2.6.21-mm2-pidns2:
- [Sukadev Bh
Pavel
Like we discussed, I am sending this out. Pls ack.
Suka
---
Subject: [PATCH 5/5] Move alloc_pid call to copy_process
From: Sukadev Bhattiprolu <[EMAIL PROTECTED]>
Move alloc_pid() into copy_process(). This will keep all pid and pid
namespace code together and simplify error ha
Oleg Nesterov [EMAIL PROTECTED] wrote:
| Sukadev Bhattiprolu wrote:
| >
| > Use task_pid() to get leader's pid since find_pid() cannot be used
| > after detach_pid(). See comments in the code below for more details.
| >
| > ...
| >
| > +* Note: With multiple
Oleg Nesterov [EMAIL PROTECTED] wrote:
| Sukadev Bhattiprolu wrote:
| >
| > --- lx26-22-rc6-mm1.orig/kernel/pid.c 2007-07-13 18:23:55.0
-0700
| > +++ lx26-22-rc6-mm1/kernel/pid.c2007-07-13 18:23:55.0 -0700
| > @@ -206,6 +206,10 @@ fastcall void free_pid(str
Serge E. Hallyn [EMAIL PROTECTED] wrote:
| Quoting [EMAIL PROTECTED] ([EMAIL PROTECTED]):
| >
| > Subject: [PATCH 1/5] Define and use task_active_pid_ns() wrapper
| >
| > From: Sukadev Bhattiprolu <[EMAIL PROTECTED]>
| >
| > With multiple pid namespaces, a process i
y_process()'s error path does
|
| if (pid != &init_struct_pid)
| free_pid(pid);
|
| instead? OK, "cleaner" is a matter of taste, but from the perfomance POV
| this would be better, even if not noticable.
Agree. I realized it too late last night. Here is
Some helper patches to support multiple pid namespaces. These
were posted earlier on Containers@ mailing list.
[PATCH 1/5] Define and use task_active_pid_ns() wrapper
[PATCH 2/5] Rename child_reaper() function.
[PATCH 3/5] Use task_pid() to find leader's pid
[PATCH
Subject: [PATCH 1/5] Define and use task_active_pid_ns() wrapper
From: Sukadev Bhattiprolu <[EMAIL PROTECTED]>
With multiple pid namespaces, a process is known by some pid_t in
every ancestor pid namespace. Every time the process forks, the
child process also gets a pid_t in every ancest
Pavel,
Pls ack this if you agree.
Suka
---
Subject: [PATCH 2/5] Rename child_reaper function.
From: Sukadev Bhattiprolu <[EMAIL PROTECTED]>
Rename the child_reaper() function to task_child_reaper() to be
similar to other task_* functions and to distinguish the function
from &
Subject: [PATCH 3/5] Use task_pid() to find leader's pid
From: Sukadev Bhattiprolu <[EMAIL PROTECTED]>
Use task_pid() to get leader's 'struct pid' and avoid the find_pid().
Signed-off-by: Sukadev Bhattiprolu <[EMAIL PROTECTED]>
Acked-by: Pavel Emelianov
gelog:
2.6.22-rc4-mm2-pidns1:
- Use 'init_pid_ns.child_reaper' to determine if a given task is the
global init (/sbin/init) process. This would improve performance
and remove dependence on the task_pid().
2.6.21-mm2-pidns2:
- [Sukadev Bh
Subject: [PATCH 5/5] Move alloc_pid call to copy_process
From: Sukadev Bhattiprolu <[EMAIL PROTECTED]>
Move alloc_pid() into copy_process(). This will keep all pid and pid
namespace code together and simplify error handling when we support
multiple pid namespaces.
Signed-off-by: S
From: Sukadev Bhattiprolu <[EMAIL PROTECTED]>
Subject: [PATCH 1/5] statically initialize struct pid for swapper
Statically initialize a struct pid for the swapper process (pid_t == 0) and
attach it to init_task. This is needed so task_pid(), task_pgrp() and
task_session() interfaces w
From: Sukadev Bhattiprolu <[EMAIL PROTECTED]>
Subject: [PATCH 3/5] Use struct pid parameter in copy_process()
Modify copy_process() to take a struct pid * parameter instead of a pid_t.
This simplifies the code a bit and also avoids having to call find_pid()
to convert the pid_t to a stru
From: Sukadev Bhattiprolu <[EMAIL PROTECTED]>
Subject: [PATCH 2/5] Explicitly set pgid and sid of init process
Explicitly set pgid and sid of init process to 1.
Signed-off-by: Sukadev Bhattiprolu <[EMAIL PROTECTED]>
Cc: Cedric Le Goater <[EMAIL PROTECTED]>
Cc: Dave Hansen
From: Sukadev Bhattiprolu <[EMAIL PROTECTED]>
Subject: [PATCH 4/5] Remove the likely(pid) check in copy_process
Now that we pass in a struct pid parameter to copy_process()
and even the swapper (pid_t == 0) has a valid struct pid,
we no longer need this check.
Changelog:
Pe
From: Sukadev Bhattiprolu <[EMAIL PROTECTED]>
Subject: [PATCH 5/5] Use task_pgrp() task_session() in copy_process().
Use task_pgrp() and task_session() in copy_process(), and
avoid find_pid() call when attaching the task to its process
group and session.
Signed-off-by: Sukadev Bhatt
From: Sukadev Bhattiprolu <[EMAIL PROTECTED]>
Subject: [PATCH] Kill unused sesssion and group values in rocket driver
The process_session() and process_group() values are not really
used by the driver.
Signed-off-by: Sukadev Bhattiprolu <[EMAIL PROTECTED]>
Cc: Cedric Le Goater <[
From: Sukadev Bhattiprolu <[EMAIL PROTECTED]>
Subject: [PATCH 1/2] Fix some coding-style errors in autofs
Fix coding style errors (extra spaces, long lines) in autofs
and autofs4 files being modified for container/pidspace issues.
Signed-off-by: Sukadev Bhattiprolu <[EMAIL PROTE
From: Sukadev Bhattiprolu <[EMAIL PROTECTED]>
Subject: [PATCH 2/2] Replace pid_t in autofs with struct pid reference.
Make autofs container-friendly by caching struct pid reference rather
than pid_t and using pid_nr() to retreive a task's pid_t.
ChangeLog:
- Fix Eric
on top of this.
---
From: Sukadev Bhattiprolu <[EMAIL PROTECTED]>
Subject: [PATCH 1/2] Fix some coding-style errors in autofs
Fix coding style errors (extra spaces, long lines) in autofs
and autofs4 files being modified for container/pidspace issues.
Signed-off-by: Sukadev Bhattiprolu <[E
{ .__session = 1},
| >
| > and this confuses (I think) set_special_pids(1,1) above. Because
| > __set_special_pids() still deals with pid_t, not "struct pid".
| >
| > Unless I missed something, we should kill these 2 initializations
| > above.
|
| Got it. I agree we s
Eric W. Biederman [EMAIL PROTECTED] wrote:
| "Rafael J. Wysocki" <[EMAIL PROTECTED]> writes:
|
| > On Tuesday, 20 March 2007 22:06, Rafael J. Wysocki wrote:
| >> On Tuesday, 20 March 2007 21:58, Jiri Slaby wrote:
| >> > Rafael J. Wysocki napsal(a):
| >> > > Actually, the problem is 100% reproducib
change is too dangerous. Actually, I personally think it is very
good
| > that idle threads are special and not visible, imho we should not change
this.
|
| OK, I'll tentatively drop remove-the-likelypid-check-in-copy_process.patch
Yes. Pls drop it for now. Here is the slightly modified
Eric W. Biederman [EMAIL PROTECTED] wrote:
|
| While we are on the topic. What became of the notion of zeroing the
| session and process group values for the init_task?
I just sent that patch a few minutes ago.
|
| Eric
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel"
From: Sukadev Bhattiprolu <[EMAIL PROTECTED]>
Subject: [PATCH] Don't init pgrp and __session in INIT_SIGNALS
Remove initialization of pgrp and __session in INIT_SIGNALS,
as these are later set by the call to __set_special_pids()
in init/main.c by the patch:
explicitly-set-p
This was discussed on containers and we thought it would be useful
to reserve this flag.
---
From: Sukadev Bhattiprolu <[EMAIL PROTECTED]>
Subject: [PATCH] Define CLONE_NEWPID flag
Define CLONE_NEWPID flag that will be used to clone pid namespaces.
Signed-off-by: Sukadev Bhattiprolu &
Andrew Morton [EMAIL PROTECTED] wrote:
| On Fri, 10 Aug 2007 15:47:59 +0400
| [EMAIL PROTECTED] wrote:
|
| > struct pid
| > {
| > atomic_t count;
| > @@ -50,6 +50,8 @@ struct pid
| > /* lists of tasks that use this pid */
| > struct hlist_head tasks[PIDTYPE_MAX];
| > struct rcu_h
Serge E. Hallyn [EMAIL PROTECTED] wrote:
| Quoting Serge E. Hallyn ([EMAIL PROTECTED]):
| > Quoting Pavel Emelyanov ([EMAIL PROTECTED]):
| > > The option is called NAMESPACES. It can be selectable only
| > > if EMBEDDED is chosen (this was Eric's requisition). When
| > > the EMBEDDED is off namespa
and SIG_DFL required
both on sender side and the receiver side (get_signal_to_deliver())
Thanks,
Sukadev
Oleg Nesterov [EMAIL PROTECTED] wrote:
| (Not for inclusion yet, against 2.6.23-rc2, untested)
|
| Currently, /sbin/init is protected from unhandled signals by the
| "current == child_r
From: Sukadev Bhattiprolu
Date: Tue, 5 Feb 2013 15:04:49 -0800
Subject: [PATCH] perf/powerpc: Fix compile warnings
Fix compile errors like those below:
CC arch/powerpc/perf/power7-pmu.o
/home/git/linux/arch/powerpc/perf/power7-pmu.c:397:2: error: initialization from
incompatible pointer
Michael Ellerman [mich...@ellerman.id.au] wrote:
| On Tue, Jan 22, 2013 at 10:26:13PM -0800, Sukadev Bhattiprolu wrote:
| >
| > [PATCH 5/6][v4]: perf: Create a sysfs entry for Power event format
| >
| > Create a sysfs entry, '/sys/bus/event_source/devices/cpu/format/event
From: Sukadev Bhattiprolu
Date: Wed, 31 Oct 2012 11:21:28 -0700
Subject: [PATCH] perf: powerpc: Use uapi/unistd.h to fix build error
Use the 'unistd.h' from arch/powerpc/include/uapi to build the perf tool.
Signed-off-by: Sukadev Bhattiprolu
---
tools/perf/perf.h |2 +-
1 fil
>From c3b53a5733fdea35807f4513255bca05e3aee5c5 Mon Sep 17 00:00:00 2001
From: Sukadev Bhattiprolu
Date: Tue, 30 Oct 2012 23:05:05 -0700
Subject: [PATCH] perf: x86 filter_events() - use hw event id ?
The ->event_map() operation expects to index through the _hardware event id_.
But filter_
Peter Zijlstra [pet...@infradead.org] wrote:
| On Tue, 2012-10-16 at 11:31 -0700, Sukadev Bhattiprolu wrote:
| > On a side note, how does the kernel on x86 use the 'config' information in
| > say /sys/bus/event_source/devices/cpu/format/cccr ? On Power7, the raw
| > code enco
The logic used in branch_opcode() to extract the opcode for an instruction
applies to non branch instructions also. So rename to instr_opcode().
Signed-off-by: Sukadev Bhattiprolu
Reviewed-by: Anshuman Khandual
---
arch/powerpc/lib/code-patching.c |6 +++---
1 file changed, 3 insertions
.
Thanks to input from Stephane Eranian, Michael Ellerman, Michael Neuling
and Anshuman Khandual.
Sukadev Bhattiprolu (9):
powerpc/perf: Rename Power8 macros to start with PME
powerpc/perf: Export Power8 generic events in sysfs
powerpc/perf: Add Power8 event PM_MRK_GRP_CMPL to sysfs.
powerpc
We use helpers like GENERIC_EVENT_ATTR() to list the generic events in
sysfs. To avoid name collisions, GENERIC_EVENT_ATTR() requires the perf
event macros to start with PME.
Signed-off-by: Sukadev Bhattiprolu
Reviewed-by: Anshuman Khandual
---
arch/powerpc/perf/power8-pmu.c | 24
The perf event PM_MRK_GRP_CMPL is useful in analyzing memory hierarchy
of applications.
Signed-off-by: Sukadev Bhattiprolu
Reviewed-by: Anshuman Khandual
---
arch/powerpc/perf/power8-pmu.c |5 +
1 file changed, 5 insertions(+)
diff --git a/arch/powerpc/perf/power8-pmu.c b/arch/powerpc
t be implemented on Power,
we don't implement 'perf mem' on Power for now.
Thanks to input from Stephane Eranian, Michael Ellerman and Michael Neuling.
Cc: Stephane Eranian
Cc: Michael Ellerman
Signed-off-by: Sukadev Bhattiprolu
Reviewed-by: Anshuman Khandual
---
Changelog[v2]:
Add a few lines to the perf-mem man page to indicate:
- its dependence on the mem-loads and mem-stores events
- how to use the feature on Power architecture.
Signed-off-by: Sukadev Bhattiprolu
---
tools/perf/Documentation/perf-mem.txt | 11 +++
1 file changed, 11
Export generic perf events for Power8 in sysfs.
Signed-off-by: Sukadev Bhattiprolu
Reviewed-by: Anshuman Khandual
---
arch/powerpc/perf/power8-pmu.c | 23 +++
1 file changed, 23 insertions(+)
diff --git a/arch/powerpc/perf/power8-pmu.c b/arch/powerpc/perf/power8-pmu.c
perf_mem_data_src is an union that is initialized via the ->val field
and accessed via the bitmap fields. For this to work on big endian
platforms, we also need a big-endian represenation of perf_mem_data_src.
Cc: Stephane Eranian
Cc: Michael Ellerman
Signed-off-by: Sukadev Bhattipr
Implement is_instr_load_store() to detect whether a given instruction
is one of the fixed-point or floating-point load/store instructions.
This function will be used in a follow-on patch to save memory hierarchy
information of the load/store.
Signed-off-by: Sukadev Bhattiprolu
Reviewed-by
, Michael Ellerman and Michael Neuling.
Cc: Stephane Eranian
Cc: Michael Ellerman
Signed-off-by: Sukadev Bhattiprolu
Reviewed-by: Anshuman Khandual
---
Changelog[v4]:
Drop support for 'perf mem' for Power (use perf-record and perf-report
directly)
Changelog[v3]:
Michael Ellerman [mich...@ellerman.id.au] wrote:
| On Tue, Oct 01, 2013 at 05:15:07PM -0700, Sukadev Bhattiprolu wrote:
| > perf_mem_data_src is an union that is initialized via the ->val field
| > and accessed via the bitmap fields. For this to work on big endian
| > platforms, we als
Michael Ellerman [mich...@ellerman.id.au] wrote:
| On Tue, Oct 01, 2013 at 05:15:07PM -0700, Sukadev Bhattiprolu wrote:
| > perf_mem_data_src is an union that is initialized via the ->val field
| > and accessed via the bitmap fields. For this to work on big endian
| > platforms, we als
Michael Ellerman [mich...@ellerman.id.au] wrote:
| On Tue, Oct 01, 2013 at 05:15:03PM -0700, Sukadev Bhattiprolu wrote:
| > Export generic perf events for Power8 in sysfs.
| >
| > Signed-off-by: Sukadev Bhattiprolu
| > Reviewed-by: Anshuman Khandual
| > ---
| > arch/powerpc
Michael Ellerman [mich...@ellerman.id.au] wrote:
| On Tue, Oct 01, 2013 at 05:15:06PM -0700, Sukadev Bhattiprolu wrote:
| > Implement is_instr_load_store() to detect whether a given instruction
| > is one of the fixed-point or floating-point load/store instructions.
| > This function wil
Michael Ellerman [mich...@ellerman.id.au] wrote:
| On Tue, Oct 01, 2013 at 05:15:07PM -0700, Sukadev Bhattiprolu wrote:
| > perf_mem_data_src is an union that is initialized via the ->val field
| > and accessed via the bitmap fields. For this to work on big endian
| > platforms, we als
Export generic perf events for Power8 in sysfs.
Signed-off-by: Sukadev Bhattiprolu
---
arch/powerpc/perf/power8-pmu.c | 23 +++
1 file changed, 23 insertions(+)
diff --git a/arch/powerpc/perf/power8-pmu.c b/arch/powerpc/perf/power8-pmu.c
index 30c6b12..ff98fb8 100644
t be implemented on Power,
we don't implement 'perf mem' on Power for now.
Thanks to input from Stephane Eranian, Michael Ellerman and Michael Neuling.
Cc: Stephane Eranian
Cc: Michael Ellerman
Signed-off-by: Sukadev Bhattiprolu
---
Changelog[v4]:
Drop support fo
perf_mem_data_src is an union that is initialized via the ->val field
and accessed via the bitmap fields. For this to work on big endian
platforms, we also need a big-endian represenation of perf_mem_data_src.
Cc: Stephane Eranian
Cc: Michael Ellerman
Signed-off-by: Sukadev Bhattipr
, Michael Ellerman and Michael Neuling.
Cc: Stephane Eranian
Cc: Michael Ellerman
Signed-off-by: Sukadev Bhattiprolu
---
Changelog[v4]:
Drop support for 'perf mem' for Power (use perf-record and perf-report
directly)
Changelog[v3]:
[Michael Ellerman] If newe
Implement is_instr_load_store() to detect whether a given instruction
is one of the fixed-point or floating-point load/store instructions.
This function will be used in a follow-on patch to save memory hierarchy
information of the load/store.
Signed-off-by: Sukadev Bhattiprolu
---
arch/powerpc
The perf event PM_MRK_GRP_CMPL is useful in analyzing memory hierarchy
of applications.
Signed-off-by: Sukadev Bhattiprolu
---
arch/powerpc/perf/power8-pmu.c |5 +
1 file changed, 5 insertions(+)
diff --git a/arch/powerpc/perf/power8-pmu.c b/arch/powerpc/perf/power8-pmu.c
index ff98fb8
The logic used in branch_opcode() to extract the opcode for an instruction
applies to non branch instructions also. So rename to instr_opcode().
Signed-off-by: Sukadev Bhattiprolu
---
arch/powerpc/lib/code-patching.c |6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a
Power7 and Power8 processors save the memory hierarchy level (eg: L2, L3)
from which a load or store instruction was satisfied. Export this hierarchy
information to the user via the perf_mem_data_src object.
Thanks to input from Stephane Eranian, Michael Ellerman, Michael Neuling.
Sukadev
We use helpers like GENERIC_EVENT_ATTR() to list the generic events in
sysfs. To avoid name collisions, GENERIC_EVENT_ATTR() requires the perf
event macros to start with PME.
Signed-off-by: Sukadev Bhattiprolu
---
arch/powerpc/perf/power8-pmu.c | 24
1 file changed
int eG;
int precise;
int exclude_GH;
};
Will we ever need hypervisor and host monitoring for 'perf mem' ?
Or can we add a '-e' option to 'perf mem' so user can specify the events
and qualfiers same as they do for '
evldd, evlddx, evldwx, evldw, evldh, evldhx.
Should we include those also ?
Sukadev
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Pl
Anshuman Khandual [khand...@linux.vnet.ibm.com] wrote:
| On 09/14/2013 06:19 AM, Sukadev Bhattiprolu wrote:
| > +static void power7_get_mem_data_src(union perf_mem_data_src *dsrc,
| > + struct pt_regs *regs)
| > +{
| > + u64 idx;
| > + u64 mmcra = regs->
Jiri Olsa [jo...@redhat.com] wrote:
| Adding perf interface that allows to create 'toggle' events,
| which can enable or disable another event. Whenever the toggle
| event is triggered (has overflow), it toggles another event
| state and either starts or stops it.
Nice idea. It would be very usefu
lt. Some comments distinguishing the two states will help ?
Sukadev
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
sonal
| opinion on this.
Yes that would work too. One drawback is that the hardware events
will be in the tool, while the software/tracepoint events in the
kernel sysfs representation.
Or is that the reason we want all events in one place (sysfs) ?
Sukadev
--
To unsubscribe from this list: send the
Jiri Olsa [jo...@redhat.com] wrote:
| On Wed, Nov 07, 2012 at 11:19:28AM -0800, Sukadev Bhattiprolu wrote:
|
| SNIP
|
| > +struct perf_pmu_events_attr {
| > + struct device_attribute attr;
| > + u64 id;
| > +};
| > +
| > +extern ssize_t power_events_sysfs_show(
1 - 100 of 948 matches
Mail list logo