Re: [RFC 1/4] perf kvm: Enable 'record' on powerpc

2016-04-27 Thread Ravi Bangoria
*evlist); + #endif /* GIT_COMPAT_UTIL_H */ On Friday 25 March 2016 02:45 AM, Arnaldo Carvalho de Melo wrote: Em Tue, Mar 22, 2016 at 11:19:21PM -0300, Arnaldo Carvalho de Melo escreveu: Em Tue, Mar 22, 2016 at 04:12:11PM -0300, Arnaldo Carvalho de Melo escreveu: Em Wed, Feb 24, 2016 at 02:3

[PATCH] perf kvm record/report: 'unprocessable sample' error while recording/reporting guest data

2015-12-06 Thread Ravi Bangoria
was the case before refactoring of code in aforementioned commit. This patch is generated from acme perf/core branch. Below I've mention an example that demonstrate the behaviour before and after applying patch. Before applying patch: [Note: One needs to run guest before recording data in host] rav

Re: [PATCH] perf kvm record/report: 'unprocessable sample' error while recording/reporting guest data

2015-12-16 Thread Ravi Bangoria
Hi acme, I sent this patch few days ago. Unfortunately nobody has payed attention. Can you please pick this up. Regards, Ravi On Monday 07 December 2015 12:25 PM, Ravi Bangoria wrote: While recording guest samples in host using perf kvm record, it will populate unprocessable sample error

[PATCH v2 0/3] perf kvm: Guest Symbol Resolution for powerpc

2016-01-21 Thread Ravi Bangoria
uest.kernel.kallsyms] [g] .n_tty_write 0.00% :9688[guest.kernel.kallsyms] [g] .plpar_hcall 0.00% :9689[guest.kernel.kallsyms] [g] .__srcu_read_unlock 0.00% :9689[guest.kernel.kallsyms] [g] ._raw_spin_lock 0.00% :9689[guest.kernel.kallsyms] [g]

[PATCH v2 1/3] perf kvm: Introduce evsel as argument to perf_event__preprocess_sample

2016-01-21 Thread Ravi Bangoria
This patch changes prototype of perf_event__preprocess_sample() with additional argument evsel added at last. This change is required because perf_event__preprocess_sample() function will use evsel to determine cpumode of samples for powerpc architecture. Signed-off-by: Ravi Bangoria

[PATCH v2 3/3] perf kvm: Fix output fields instead of 'trace' for perf kvm report on powerpc

2016-01-21 Thread Ravi Bangoria
:57276 [guest.kernel.kallsyms] [g] ._atomic_dec_and_lock 0.00% :57276 [guest.kernel.kallsyms] [g] ._raw_spin_lock 0.00% :57276 [guest.kernel.kallsyms] [g] ._switch 0.00% :57276 [guest.kernel.kallsyms] [g] .bio_add_page 0.00% :57276 [guest.kernel.kallsyms] [g] .kmem_

[PATCH v2 2/3] perf kvm: enable record|report feature on powerpc

2016-01-21 Thread Ravi Bangoria
epoint and checks the exit reason for any kvm exit. If it is HV_DECREMENTER, then the instruction pointer dumped along with this tracepoint is retrieved and mapped with the guest kallsyms. Signed-off-by: Ravi Bangoria Signed-off-by: Hemant Kumar --- changes in v2: - Breakdown of v1 patch in

Re: [PATCH] perf/kvm: Guest Symbol Resolution for powerpc

2016-01-21 Thread Ravi Bangoria
Hi Arnaldo, On Wednesday 13 January 2016 10:29 PM, Arnaldo Carvalho de Melo wrote: Em Tue, Dec 29, 2015 at 03:38:40PM +0530, Ravi Bangoria escreveu: 'perf kvm {record|report}' is used to record and report the profiled performance of any workload on a guest. From the host, we can col

Re: [PATCH v2 2/3] perf kvm: enable record|report feature on powerpc

2016-02-09 Thread Ravi Bangoria
Hi acme, On Tuesday 02 February 2016 02:36 PM, Ravi Bangoria wrote: HI acme, On Tuesday 02 February 2016 02:36 AM, Arnaldo Carvalho de Melo wrote: Em Fri, Jan 22, 2016 at 11:28:11AM +0530, Ravi Bangoria escreveu: +return event->header.misc & PERF_RECORD_MISC_CPUMODE_MASK; +} Th

[RFC 0/4] perf kvm: Guest Symbol Resolution for powerpc

2016-02-24 Thread Ravi Bangoria
pproach so I've tagged it as RFC and not following the patch version series. Ravi Bangoria (4): perf kvm: Enable 'record' on powerpc perf kvm: Introduce evsel as argument to perf_event__preprocess_sample perf kvm: Enable 'report' on powerpc perf kvm: Fix output fie

[RFC 2/4] perf kvm: Introduce evsel as argument to perf_event__preprocess_sample

2016-02-24 Thread Ravi Bangoria
This patch changes prototype of perf_event__preprocess_sample() with additional argument evsel added at the end. This change is required because perf_event__preprocess_sample() function will use evsel to determine cpumode of samples for powerpc architecture. Signed-off-by: Ravi Bangoria

[RFC 3/4] perf kvm: Enable 'report' on powerpc

2016-02-24 Thread Ravi Bangoria
an interval of 10 ms. This patch makes use of the 'kvm_guest_exit' tracepoint and checks the exit reason for any kvm exit. If it is HV_DECREMENTER, then the instruction pointer dumped along with this tracepoint is retrieved and mapped with the guest kallsyms. Signed-off-by: Ravi Bangor

[RFC 4/4] perf kvm: Fix output fields instead of 'trace' for perf kvm report on powerpc

2016-02-24 Thread Ravi Bangoria
s] [g] ._atomic_dec_and_lock 0.00% :57276 [guest.kernel.kallsyms] [g] ._raw_spin_lock 0.00% :57276 [guest.kernel.kallsyms] [g] ._switch 0.00% :57276 [guest.kernel.kallsyms] [g] .bio_add_page 0.00% :57276 [guest.kernel.kallsyms] [g] .kmem_cache_alloc Signed-off-

[RFC 1/4] perf kvm: Enable 'record' on powerpc

2016-02-24 Thread Ravi Bangoria
kvm_hv:kvm_guest_exit for recording guest data in host on powerpc. As we are using host event to record guest data, this approach will enable only --guest option of 'perf kvm'. Still --host --guest together won't work. Signed-off-by: Ravi Bangoria --- tools/perf/a

Re: [RFC 4/4] perf kvm: Fix output fields instead of 'trace' for perf kvm report on powerpc

2016-03-08 Thread Ravi Bangoria
Hi Arnaldo, Gentle reminder :) Any updates? Regards, Ravi On Thursday 03 March 2016 06:49 AM, Ravi Bangoria wrote: Thanks acme, On Wednesday 02 March 2016 09:52 PM, Arnaldo Carvalho de Melo wrote: Em Wed, Mar 02, 2016 at 09:16:48PM +0530, Ravi Bangoria escreveu: Thanks Arnaldo, Please

[RFC] perf probe: Fix module probe issue if no dwarf support

2016-04-25 Thread Ravi Bangoria
oo_show in kobject_example) You can now use it in all perf tools, such as: perf record -e probe:foo_show -aR sleep 1 $ cat /sys/kernel/debug/tracing/kprobe_events p:probe/foo_show kobject_example:foo_show Signed-off-by: Ravi Bangoria --- tools/perf/util/probe-event.c | 17 ++--- 1 fi

[RFC] perf probe: Fix offline module name missmatch issue

2016-04-25 Thread Ravi Bangoria
pprox.): 8 # # Overhead Command Shared Object Symbol # ... . # 100.00% cat [kobject_example] [k] foo_show Signed-off-by: Ravi Bangoria --- tools/perf/util/probe-event.c | 78 +++ tools

[RFC v2 2/2] perf probe: Fix module probe issue if no dwarf support

2016-04-26 Thread Ravi Bangoria
oo_show in kobject_example) You can now use it in all perf tools, such as: perf record -e probe:foo_show -aR sleep 1 $ cat /sys/kernel/debug/tracing/kprobe_events p:probe/foo_show kobject_example:foo_show Signed-off-by: Ravi Bangoria --- Changes in v2: - made find_module_name static tools

[RFC v2 1/2] perf probe: Fix offline module name missmatch issue

2016-04-26 Thread Ravi Bangoria
pprox.): 8 # # Overhead Command Shared Object Symbol # ... . # 100.00% cat [kobject_example] [k] foo_show Signed-off-by: Ravi Bangoria --- tools/perf/util/probe-event.c | 78 +++ tools

Re: [RFC] perf probe: Fix offline module name missmatch issue

2016-04-26 Thread Ravi Bangoria
Thanks Masami for reviewing. Please find my replies to your comment. On Tuesday 26 April 2016 02:54 AM, Masami Hiramatsu wrote: Hi Ravi, On Mon, 25 Apr 2016 16:08:27 +0530 Ravi Bangoria wrote: Perf can add a probe on kernel module which has not been loaded yet. Current implementation finds

Re: [RFC] perf probe: Fix offline module name missmatch issue

2016-04-26 Thread Ravi Bangoria
Thanks Masami, On Tuesday 26 April 2016 07:49 AM, Masami Hiramatsu wrote: On Tue, 26 Apr 2016 06:24:38 +0900 Masami Hiramatsu wrote: +/* + * NOTE: + * '.gnu.linkonce.this_module' section of kernel module elf directly + * maps to 'struct module' from linux/module.h. This section contains + * ac

Re: [RFC] perf probe: Fix module probe issue if no dwarf support

2016-04-26 Thread Ravi Bangoria
On Tuesday 26 April 2016 02:59 AM, Masami Hiramatsu wrote: On Mon, 25 Apr 2016 16:08:28 +0530 Ravi Bangoria wrote: Perf is not able to register probe in kernel module when dwarf supprt is not there(and so it goes for symtab). Perf passes full path of module where only module name is

Re: [RFC] perf probe: Fix offline module name missmatch issue

2016-04-26 Thread Ravi Bangoria
On Tuesday 26 April 2016 02:45 PM, Wangnan (F) wrote: On 2016/4/26 16:56, Ravi Bangoria wrote: Thanks Masami for reviewing. Please find my replies to your comment. On Tuesday 26 April 2016 02:54 AM, Masami Hiramatsu wrote: Hi Ravi, On Mon, 25 Apr 2016 16:08:27 +0530 Ravi Bangoria wrote

[PATCH 1/2] perf probe: Fix module probe issue if no dwarf support

2016-04-26 Thread Ravi Bangoria
e 0.105 MB perf.data (2 samples) ] $ sudo ./perf script insmod 13990 [002] 5961.216833: probe:kprobe_init: ... insmod 13995 [002] 5962.889384: probe:kprobe_init: ... Signed-off-by: Ravi Bangoria --- tools/perf/util/probe-event.c | 76 +-- 1 file c

[PATCH 2/2] perf probe: Fix offline module name missmatch issue

2016-04-26 Thread Ravi Bangoria
pprox.): 8 # # Overhead Command Shared Object Symbol # ... . # 100.00% cat [kobject_example] [k] foo_show Signed-off-by: Ravi Bangoria --- tools/perf/util/probe-event.c | 19 +-- 1 file changed, 5 inserti

Re: [RFC] perf probe: Fix offline module name missmatch issue

2016-04-26 Thread Ravi Bangoria
On Tuesday 26 April 2016 04:16 PM, Masami Hiramatsu wrote: On Tue, 26 Apr 2016 14:26:48 +0530 Ravi Bangoria wrote: Thanks Masami for reviewing. Please find my replies to your comment. On Tuesday 26 April 2016 02:54 AM, Masami Hiramatsu wrote: Hi Ravi, On Mon, 25 Apr 2016 16:08:27 +0530

Re: [PATCH 1/2] perf probe: Fix module probe issue if no dwarf support

2016-04-26 Thread Ravi Bangoria
On Tuesday 26 April 2016 08:04 PM, Arnaldo Carvalho de Melo wrote: Em Tue, Apr 26, 2016 at 07:55:40PM +0530, Ravi Bangoria escreveu: Perf is not able to register probe in kernel module when dwarf supprt is not there(and so it goes for symtab). Perf passes full path of module where only module

Re: [PATCH]perf:Remove P8 HW events which are not supported

2019-03-18 Thread Ravi Bangoria
On 3/18/19 11:56 PM, Arnaldo Carvalho de Melo wrote: > I added this: > > Cc: Sukadev Bhattiprolu > Fixes: 2a81fa3bb5ed ("perf vendor events: Add power8 PMU events") > > - Arnaldo Sure. Thanks a lot Arnaldo!

[PATCH 0/2] powerpc/watchpoint: Disable watchpoint hit by larx/stcx instruction

2019-09-10 Thread Ravi Bangoria
I've prepared my patch on top of Christophe's patch as it's easy to change stepping_handler() rather than hw_breakpoint_handler(). 2nd patch is the actual fix. Christophe Leroy (1): powerpc/hw_breakpoint: move instruction stepping out of hw_breakpoint_handler() Ravi Bangoria

[PATCH 1/2] powerpc/hw_breakpoint: move instruction stepping out of hw_breakpoint_handler()

2019-09-10 Thread Ravi Bangoria
From: Christophe Leroy On 8xx, breakpoints stop after executing the instruction, so stepping/emulation is not needed. Move it into a sub-function and remove the #ifdefs. Signed-off-by: Christophe Leroy Reviewed-by: Ravi Bangoria --- arch/powerpc/kernel/hw_breakpoint.c | 60

[PATCH 2/2] powerpc/watchpoint: Disable watchpoint hit by larx/stcx instructions

2019-09-10 Thread Ravi Bangoria
forever and ultimately hangs the system. Note that ptrace anyway works in one-shot mode and thus for ptrace we don't change the behaviour. It's up to ptrace user to take care of this. Signed-off-by: Ravi Bangoria --- arch/powerpc/kernel/hw_breakpoint.c | 49 +++

[PATCH v2] powerpc/watchpoint: Disable watchpoint hit by larx/stcx instructions

2019-09-10 Thread Ravi Bangoria
forever and ultimately hangs the system. Note that ptrace anyway works in one-shot mode and thus for ptrace we don't change the behaviour. It's up to ptrace user to take care of this. Signed-off-by: Ravi Bangoria Acked-by: Naveen N. Rao --- v1->v2: - v1: https://lists.ozlabs.

[PATCH] perf c2c: Fix report with offline cpus

2019-08-22 Thread Ravi Bangoria
'node' sort key") Reported-by: Nageswara R Sastry Signed-off-by: Ravi Bangoria --- tools/perf/builtin-c2c.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/perf/builtin-c2c.c b/tools/perf/builtin-c2c.c index 9e6cc86..fc68a94 100644 --- a/tools/perf/builtin-c2

Re: [PATCH v3 3/3] Powerpc64/Watchpoint: Rewrite ptrace-hwbreak.c selftest

2019-09-04 Thread Ravi Bangoria
On 8/28/19 11:44 AM, Christophe Leroy wrote: Le 10/07/2019 à 06:54, Ravi Bangoria a écrit : ptrace-hwbreak.c selftest is logically broken. On powerpc, when watchpoint is created with ptrace, signals are generated before executing the instruction and user has to manually singlestep the

Re: [PATCH v3 2/3] Powerpc64/Watchpoint: Don't ignore extraneous exceptions

2019-09-04 Thread Ravi Bangoria
On 9/4/19 8:12 PM, Naveen N. Rao wrote: Ravi Bangoria wrote: On Powerpc64, watchpoint match range is double-word granular. On a watchpoint hit, DAR is set to the first byte of overlap between actual access and watched range. And thus it's quite possible that DAR does not point inside

Re: [PATCH 0/2] Perf/stat: Solve problems with repeat and interval

2019-09-10 Thread Ravi Bangoria
On 9/4/19 3:17 PM, Srikar Dronamraju wrote: There are some problems in perf stat when using a combination of repeat and interval options. This series tries to fix them. For the series: Tested-by: Ravi Bangoria

Re: [PATCH v4 0/5] Powerpc/Watchpoint: Few important fixes

2019-10-09 Thread Ravi Bangoria
@Christophe, Is patch5 works for you on 8xx? Getting the following : root@vgoip:~# ./ptrace-hwbreak test: ptrace-hwbreak tags: git_version:v5.4-rc2-710-gf0082e173fe4-dirty PTRACE_SET_DEBUGREG, WO, len: 1: Ok PTRACE_SET_DEBUGREG, WO, len: 2: Ok PTRACE_SET_DEBUGREG, WO, len: 4: Ok PTRACE_SET_

Re: [PATCH v4 0/5] Powerpc/Watchpoint: Few important fixes

2019-10-09 Thread Ravi Bangoria
On 10/10/19 10:14 AM, Ravi Bangoria wrote: @Christophe, Is patch5 works for you on 8xx? Getting the following : root@vgoip:~# ./ptrace-hwbreak test: ptrace-hwbreak tags: git_version:v5.4-rc2-710-gf0082e173fe4-dirty PTRACE_SET_DEBUGREG, WO, len: 1: Ok PTRACE_SET_DEBUGREG, WO, len: 2: Ok

Re: [PATCH v4 0/5] Powerpc/Watchpoint: Few important fixes

2019-10-06 Thread Ravi Bangoria
On 9/25/19 9:36 AM, Ravi Bangoria wrote: v3: https://lists.ozlabs.org/pipermail/linuxppc-dev/2019-July/193339.html v3->v4: - Instead of considering exception as extraneous when dar is outside of user specified range, analyse the instruction and check for overlap between u

[PATCH v4 0/5] Powerpc/Watchpoint: Few important fixes

2019-09-24 Thread Ravi Bangoria
it with ep88xc_defconfig. Ravi Bangoria (5): Powerpc/Watchpoint: Fix length calculation for unaligned target Powerpc/Watchpoint: Don't ignore extraneous exceptions blindly Powerpc/Watchpoint: Rewrite ptrace-hwbreak.c selftest Powerpc/Watchpoint: Add dar outside test in perf-hwbreak.c selft

[PATCH v4 3/5] Powerpc/Watchpoint: Rewrite ptrace-hwbreak.c selftest

2019-09-24 Thread Ravi Bangoria
success: ptrace-hwbreak Signed-off-by: Ravi Bangoria --- .../selftests/powerpc/ptrace/ptrace-hwbreak.c | 571 +++--- 1 file changed, 361 insertions(+), 210 deletions(-) diff --git a/tools/testing/selftests/powerpc/ptrace/ptrace-hwbreak.c b/tools/testing/selftests/powerpc/ptrace/ptrace

[PATCH v4 1/5] Powerpc/Watchpoint: Fix length calculation for unaligned target

2019-09-24 Thread Ravi Bangoria
including next doubleword in the length. Plus, fix ptrace code which is messing up address/len. Signed-off-by: Ravi Bangoria --- arch/powerpc/include/asm/debug.h | 1 + arch/powerpc/include/asm/hw_breakpoint.h | 9 +++-- arch/powerpc/kernel/dawr.c | 6 ++-- arch/powe

[PATCH v4 2/5] Powerpc/Watchpoint: Don't ignore extraneous exceptions blindly

2019-09-24 Thread Ravi Bangoria
Instead of blindly ignoring the exception, get actual address range by analysing an instruction, and ignore only if actual range does not overlap with user specified range. Note: The behaviour is unchanged for 8xx. Signed-off-by: Ravi Bangoria --- arch/powerpc/kernel/hw_breakpo

[PATCH v4 4/5] Powerpc/Watchpoint: Add dar outside test in perf-hwbreak.c selftest

2019-09-24 Thread Ravi Bangoria
overlap TESTED: Partial overlap TESTED: Partial overlap TESTED: No overlap TESTED: Full overlap success: perf_hwbreak Signed-off-by: Ravi Bangoria --- .../selftests/powerpc/ptrace/perf-hwbreak.c | 111 +- 1 file changed, 110 insertions(+), 1 deletion(-) diff --git a

[PATCH v4 5/5] Powerpc/Watchpoint: Support for 8xx in ptrace-hwbreak.c selftest

2019-09-24 Thread Ravi Bangoria
On the 8xx, signals are generated after executing the instruction. So no need to manually single-step on 8xx. Signed-off-by: Ravi Bangoria --- .../selftests/powerpc/ptrace/ptrace-hwbreak.c | 26 ++- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/tools/testing

[PATCH v4 00/16] powerpc/watchpoint: Preparation for more than one watchpoint

2020-04-29 Thread Ravi Bangoria
led yet. v3: https://lore.kernel.org/linuxppc-dev/20200414031659.58875-1-ravi.bango...@linux.ibm.com v3->v4: - Reduce the scope of local variables to increase readability at some places, suggested by Christophe. - Added Michael Neuling's Reviewed by for the series. - Rebased to powerpc/next R

[PATCH v4 03/16] powerpc/watchpoint: Introduce function to get nr watchpoints dynamically

2020-04-29 Thread Ravi Bangoria
macro to HBP_NUM_MAX, which will now represent maximum number of watchpoints supported by Powerpc. Signed-off-by: Ravi Bangoria Reviewed-by: Michael Neuling --- arch/powerpc/include/asm/cputable.h | 6 +- arch/powerpc/include/asm/hw_breakpoint.h | 5 + arch/powerpc/include/asm/proces

[PATCH v4 02/16] powerpc/watchpoint: Add SPRN macros for second DAWR

2020-04-29 Thread Ravi Bangoria
Future Power architecture is introducing second DAWR. Add SPRN_ macros for the same. Signed-off-by: Ravi Bangoria Reviewed-by: Michael Neuling --- arch/powerpc/include/asm/reg.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/powerpc/include/asm/reg.h b/arch/powerpc/include/asm

[PATCH v4 06/16] powerpc/watchpoint: Provide DAWR number to __set_breakpoint

2020-04-29 Thread Ravi Bangoria
Introduce new parameter 'nr' to __set_breakpoint() which indicates which DAWR should be programed. Also convert current_brk variable to an array. Signed-off-by: Ravi Bangoria Reviewed-by: Michael Neuling --- arch/powerpc/include/asm/debug.h | 2 +- arch/powerpc/i

[PATCH v4 04/16] powerpc/watchpoint/ptrace: Return actual num of available watchpoints

2020-04-29 Thread Ravi Bangoria
User can ask for num of available watchpoints(dbginfo.num_data_bps) using ptrace(PPC_PTRACE_GETHWDBGINFO). Return actual number of available watchpoints on the machine rather than hardcoded 1. Signed-off-by: Ravi Bangoria Reviewed-by: Michael Neuling --- arch/powerpc/kernel/ptrace/ptrace

[PATCH v4 01/16] powerpc/watchpoint: Rename current DAWR macros

2020-04-29 Thread Ravi Bangoria
Future Power architecture is introducing second DAWR. Use real register names from ISA for current macros: s/SPRN_DAWR/SPRN_DAWR0/ s/SPRN_DAWRX/SPRN_DAWRX0/ Signed-off-by: Ravi Bangoria Reviewed-by: Michael Neuling --- arch/powerpc/include/asm/reg.h | 4 ++-- arch/powerpc/kernel

[PATCH v4 09/16] powerpc/watchpoint: Convert thread_struct->hw_brk to an array

2020-04-29 Thread Ravi Bangoria
So far powerpc hw supported only one watchpoint. But Future Power architecture is introducing 2nd DAWR. Convert thread_struct->hw_brk into an array. Signed-off-by: Ravi Bangoria Reviewed-by: Michael Neuling --- arch/powerpc/include/asm/processor.h | 2 +- arch/powerpc/kernel/proces

[PATCH v4 10/16] powerpc/watchpoint: Use loop for thread_struct->ptrace_bps

2020-04-29 Thread Ravi Bangoria
. Signed-off-by: Ravi Bangoria Reviewed-by: Michael Neuling --- arch/powerpc/kernel/hw_breakpoint.c | 7 -- arch/powerpc/kernel/process.c | 6 - arch/powerpc/kernel/ptrace/ptrace-noadv.c | 28 +-- 3 files changed, 31 insertions(+), 10 deletions

[PATCH v4 14/16] powerpc/watchpoint: Don't allow concurrent perf and ptrace events

2020-04-29 Thread Ravi Bangoria
ime if their address range overlaps. Signed-off-by: Ravi Bangoria Reviewed-by: Michael Neuling --- arch/powerpc/include/asm/hw_breakpoint.h | 2 + arch/powerpc/kernel/hw_breakpoint.c | 221 +++ kernel/events/hw_breakpoint.c| 16 ++ 3 files changed, 239

[PATCH v4 15/16] powerpc/watchpoint/xmon: Don't allow breakpoint overwriting

2020-04-29 Thread Ravi Bangoria
Xmon allows overwriting breakpoints because it's supported by only one dawr. But with multiple dawrs, overwriting becomes ambiguous or unnecessary complicated. So let's not allow it. Signed-off-by: Ravi Bangoria Reviewed-by: Michael Neuling --- arch/powerpc/xmon/xmon.c | 4 1 fi

[PATCH v4 16/16] powerpc/watchpoint/xmon: Support 2nd dawr

2020-04-29 Thread Ravi Bangoria
Add support for 2nd DAWR in xmon. With this, we can have two simultaneous breakpoints from xmon. Signed-off-by: Ravi Bangoria Reviewed-by: Michael Neuling --- arch/powerpc/xmon/xmon.c | 101 ++- 1 file changed, 69 insertions(+), 32 deletions(-) diff --git a

[PATCH v4 12/16] powerpc/watchpoint: Use builtin ALIGN*() macros

2020-04-29 Thread Ravi Bangoria
Currently we calculate hw aligned start and end addresses manually. Replace them with builtin ALIGN_DOWN() and ALIGN() macros. So far end_addr was inclusive but this patch makes it exclusive (by avoiding -1) for better readability. Suggested-by: Christophe Leroy Signed-off-by: Ravi Bangoria

[PATCH v4 11/16] powerpc/watchpoint: Introduce is_ptrace_bp() function

2020-04-29 Thread Ravi Bangoria
Introduce is_ptrace_bp() function and move the check inside the function. We will utilize it more in later set of patches. Signed-off-by: Ravi Bangoria Reviewed-by: Michael Neuling --- arch/powerpc/kernel/hw_breakpoint.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a

[PATCH v4 13/16] powerpc/watchpoint: Prepare handler to handle more than one watcnhpoint

2020-04-29 Thread Ravi Bangoria
configured for readonly watchpoint and the instruction is store, this DAWR must not have caused exception. Signed-off-by: Ravi Bangoria Reviewed-by: Michael Neuling --- arch/powerpc/include/asm/processor.h | 2 +- arch/powerpc/include/asm/sstep.h | 2 + arch/powerpc/kernel/hw_breakpoint.c

[PATCH v4 08/16] powerpc/watchpoint: Disable all available watchpoints when !dawr_force_enable

2020-04-29 Thread Ravi Bangoria
-off-by: Ravi Bangoria Reviewed-by: Michael Neuling --- arch/powerpc/kernel/dawr.c | 10 +++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/arch/powerpc/kernel/dawr.c b/arch/powerpc/kernel/dawr.c index 8114ad3a8574..500f52fa4711 100644 --- a/arch/powerpc/kernel/dawr.c +++ b

[PATCH v4 07/16] powerpc/watchpoint: Get watchpoint count dynamically while disabling them

2020-04-29 Thread Ravi Bangoria
Instead of disabling only one watchpoint, get num of available watchpoints dynamically and disable all of them. Signed-off-by: Ravi Bangoria Reviewed-by: Michael Neuling --- arch/powerpc/include/asm/hw_breakpoint.h | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff

[PATCH v4 05/16] powerpc/watchpoint: Provide DAWR number to set_dawr

2020-04-29 Thread Ravi Bangoria
Introduce new parameter 'nr' to set_dawr() which indicates which DAWR should be programed. Signed-off-by: Ravi Bangoria Reviewed-by: Michael Neuling --- arch/powerpc/include/asm/hw_breakpoint.h | 4 ++-- arch/powerpc/kernel/dawr.c | 15 ++- arch/powe

Re: [PATCH v4 0/5] Powerpc/Watchpoint: Few important fixes

2019-10-13 Thread Ravi Bangoria
On 10/12/19 1:01 PM, Christophe Leroy wrote: Le 10/10/2019 à 08:25, Ravi Bangoria a écrit : On 10/10/19 10:14 AM, Ravi Bangoria wrote: @Christophe, Is patch5 works for you on 8xx? Getting the following : root@vgoip:~# ./ptrace-hwbreak test: ptrace-hwbreak tags: git_version:v5.4

Re: [PATCH v4 0/5] Powerpc/Watchpoint: Few important fixes

2019-10-13 Thread Ravi Bangoria
On 10/12/19 2:21 PM, Christophe Leroy wrote: Le 10/10/2019 à 06:44, Ravi Bangoria a écrit : @Christophe, Is patch5 works for you on 8xx? Getting the following : root@vgoip:~# ./ptrace-hwbreak test: ptrace-hwbreak tags: git_version:v5.4-rc2-710-gf0082e173fe4-dirty PTRACE_SET_DEBUGREG

[PATCH v5 1/7] Powerpc/Watchpoint: Introduce macros for watchpoint length

2019-10-14 Thread Ravi Bangoria
We are hadrcoding length everywhere in the watchpoint code. Introduce macros for the length and use them. Signed-off-by: Ravi Bangoria --- arch/powerpc/include/asm/hw_breakpoint.h | 3 +++ arch/powerpc/kernel/hw_breakpoint.c | 4 ++-- arch/powerpc/kernel/ptrace.c | 6

[PATCH v5 2/7] Powerpc/Watchpoint: Fix length calculation for unaligned target

2019-10-14 Thread Ravi Bangoria
including next doubleword in the length. Signed-off-by: Ravi Bangoria --- arch/powerpc/include/asm/hw_breakpoint.h | 2 + arch/powerpc/kernel/dawr.c | 6 +-- arch/powerpc/kernel/hw_breakpoint.c | 67 +--- arch/powerpc/kernel/process.c| 3 ++ ar

[PATCH v5 6/7] Powerpc/Watchpoint: Add dar outside test in perf-hwbreak.c selftest

2019-10-14 Thread Ravi Bangoria
overlap TESTED: Partial overlap TESTED: Partial overlap TESTED: No overlap TESTED: Full overlap success: perf_hwbreak Signed-off-by: Ravi Bangoria --- .../selftests/powerpc/ptrace/perf-hwbreak.c | 111 +- 1 file changed, 110 insertions(+), 1 deletion(-) diff --git a

[PATCH v5 5/7] Powerpc/Watchpoint: Rewrite ptrace-hwbreak.c selftest

2019-10-14 Thread Ravi Bangoria
success: ptrace-hwbreak Signed-off-by: Ravi Bangoria --- .../selftests/powerpc/ptrace/ptrace-hwbreak.c | 571 +++--- 1 file changed, 361 insertions(+), 210 deletions(-) diff --git a/tools/testing/selftests/powerpc/ptrace/ptrace-hwbreak.c b/tools/testing/selftests/powerpc/ptrace/ptrace

[PATCH v5 3/7] Powerpc/Watchpoint: Fix ptrace code that muck around with address/len

2019-10-14 Thread Ravi Bangoria
second doubleword. So fix that as well. Signed-off-by: Ravi Bangoria --- arch/powerpc/include/asm/hw_breakpoint.h | 4 ++-- arch/powerpc/kernel/ptrace.c | 9 +++-- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/arch/powerpc/include/asm/hw_breakpoint.h b/arch

[PATCH v5 4/7] Powerpc/Watchpoint: Don't ignore extraneous exceptions blindly

2019-10-14 Thread Ravi Bangoria
Instead of blindly ignoring the exception, get actual address range by analysing an instruction, and ignore only if actual range does not overlap with user specified range. Note: The behavior is unchanged for 8xx. Signed-off-by: Ravi Bangoria --- arch/powerpc/kernel/hw_breakpo

[PATCH v5 0/7] Powerpc/Watchpoint: Few important fixes

2019-10-14 Thread Ravi Bangoria
not supported with DABR. Test unaligned watchpoint only when DAWR is present. Ravi Bangoria (7): Powerpc/Watchpoint: Introduce macros for watchpoint length Powerpc/Watchpoint: Fix length calculation for unaligned target Powerpc/Watchpoint: Fix ptrace code that muck around with address/len Powe

[PATCH v5 7/7] Powerpc/Watchpoint: Support for 8xx in ptrace-hwbreak.c selftest

2019-10-14 Thread Ravi Bangoria
: Ravi Bangoria --- .../selftests/powerpc/ptrace/ptrace-hwbreak.c | 32 +-- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/tools/testing/selftests/powerpc/ptrace/ptrace-hwbreak.c b/tools/testing/selftests/powerpc/ptrace/ptrace-hwbreak.c index 916e97f5f8b1

[PATCH v6 1/7] Powerpc/Watchpoint: Introduce macros for watchpoint length

2019-10-17 Thread Ravi Bangoria
We are hadrcoding length everywhere in the watchpoint code. Introduce macros for the length and use them. Signed-off-by: Ravi Bangoria --- arch/powerpc/include/asm/hw_breakpoint.h | 3 +++ arch/powerpc/kernel/hw_breakpoint.c | 4 ++-- arch/powerpc/kernel/ptrace.c | 6

[PATCH v6 0/7] Powerpc/Watchpoint: Few important fixes

2019-10-17 Thread Ravi Bangoria
[-Werror=strict-aliasing] temp16 = *((__u16 *)target); ^ Fixed that. Ravi Bangoria (7): Powerpc/Watchpoint: Introduce macros for watchpoint length Powerpc/Watchpoint: Fix length calculation for unaligned target Powerpc/Watchpoint: Fix ptrace code that muck around with add

[PATCH v6 4/7] Powerpc/Watchpoint: Don't ignore extraneous exceptions blindly

2019-10-17 Thread Ravi Bangoria
Instead of blindly ignoring the exception, get actual address range by analysing an instruction, and ignore only if actual range does not overlap with user specified range. Note: The behavior is unchanged for 8xx. Signed-off-by: Ravi Bangoria --- arch/powerpc/kernel/hw_breakpo

[PATCH v6 2/7] Powerpc/Watchpoint: Fix length calculation for unaligned target

2019-10-17 Thread Ravi Bangoria
including next doubleword in the length. Signed-off-by: Ravi Bangoria --- arch/powerpc/include/asm/hw_breakpoint.h | 2 + arch/powerpc/kernel/dawr.c | 6 +-- arch/powerpc/kernel/hw_breakpoint.c | 67 +--- arch/powerpc/kernel/process.c| 3 ++ ar

[PATCH v6 7/7] Powerpc/Watchpoint: Support for 8xx in ptrace-hwbreak.c selftest

2019-10-17 Thread Ravi Bangoria
: Ravi Bangoria --- .../selftests/powerpc/ptrace/ptrace-hwbreak.c | 32 +-- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/tools/testing/selftests/powerpc/ptrace/ptrace-hwbreak.c b/tools/testing/selftests/powerpc/ptrace/ptrace-hwbreak.c index 916e97f5f8b1

[PATCH v6 6/7] Powerpc/Watchpoint: Add dar outside test in perf-hwbreak.c selftest

2019-10-17 Thread Ravi Bangoria
overlap TESTED: Partial overlap TESTED: Partial overlap TESTED: No overlap TESTED: Full overlap success: perf_hwbreak Signed-off-by: Ravi Bangoria --- .../selftests/powerpc/ptrace/perf-hwbreak.c | 119 +- 1 file changed, 118 insertions(+), 1 deletion(-) diff --git a

[PATCH v6 3/7] Powerpc/Watchpoint: Fix ptrace code that muck around with address/len

2019-10-17 Thread Ravi Bangoria
second doubleword. So fix that as well. Signed-off-by: Ravi Bangoria --- arch/powerpc/include/asm/hw_breakpoint.h | 4 ++-- arch/powerpc/kernel/ptrace.c | 9 +++-- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/arch/powerpc/include/asm/hw_breakpoint.h b/arch

[PATCH v6 5/7] Powerpc/Watchpoint: Rewrite ptrace-hwbreak.c selftest

2019-10-17 Thread Ravi Bangoria
success: ptrace-hwbreak Signed-off-by: Ravi Bangoria --- .../selftests/powerpc/ptrace/ptrace-hwbreak.c | 571 +++--- 1 file changed, 361 insertions(+), 210 deletions(-) diff --git a/tools/testing/selftests/powerpc/ptrace/ptrace-hwbreak.c b/tools/testing/selftests/powerpc/ptrace/ptrace

Re: [PATCH] Uprobes: Fix deadlock between delayed_uprobe_lock and fs_reclaim

2019-02-08 Thread Ravi Bangoria
trylock > fails. I don't understand binderfs code much so I'll let Sherry comment on this. > > In any case, I don't think memalloc_nofs_save() is what we need, see below. > > On 02/04, Ravi Bangoria wrote: >> >> There can be a deadloc

Re: [PATCH] perf mem/c2c: Fix perf_mem_events to support powerpc

2019-01-29 Thread Ravi Bangoria
On 1/29/19 3:23 PM, Arnaldo Carvalho de Melo wrote: > I think its just a tooling side, I haven't processed it because I'm > waiting for Ravi to address Jiri's comment, after that I'm happy to put > it in my perf/urgent branch that I'm brewing to push to Ingo today or > tomorrow. Ah.. Will try to

[PATCH v2] perf mem/c2c: Fix perf_mem_events to support powerpc

2019-01-29 Thread Ravi Bangoria
://lists.ozlabs.org/pipermail/linuxppc-dev/2018-December/182596.html Signed-off-by: Ravi Bangoria --- tools/perf/Documentation/perf-c2c.txt | 16 tools/perf/Documentation/perf-mem.txt | 2 +- tools/perf/arch/powerpc/util/Build| 1 + tools/perf/arch/powerpc/util/mem-events.c | 11

Re: [PATCH v2] perf scripts python: Add Python 3 support to check-perf-trace.py

2019-01-17 Thread Ravi Bangoria
nal change. >> >> Fix indentation issue, replace spaces with tab >> >> Signed-off-by: Seeteena Thoufeek >> Reviewed-by: Ravi Bangoria > > hum, could you please add some info about testing those changes? > (or even some global into 0/.. patch) > > thi

[PATCH] perf mem/c2c: Fix perf_mem_events to support powerpc

2019-01-13 Thread Ravi Bangoria
://lists.ozlabs.org/pipermail/linuxppc-dev/2018-December/182596.html Signed-off-by: Ravi Bangoria --- tools/perf/Documentation/perf-c2c.txt | 16 tools/perf/Documentation/perf-mem.txt | 2 +- tools/perf/arch/x86/util/Build| 1 + tools/perf/arch/x86/util/mem-events.c | 25

Re: [PATCH] perf script: fix crash when processing recorded stat data

2019-01-20 Thread Ravi Bangoria
On 1/21/19 12:44 AM, Tony Jones wrote: > While updating Perf to work with Python3 and Python2 I noticed that the > stat-cpi script was dumping core. [...] > Fixes: 1fcd03946b52 ("perf stat: Update per-thread shadow stats") > Signed-off-by: Tony Jones Tested-by: Ravi Bangoria

Re: System crash with perf_fuzzer (kernel: 5.0.0-rc3)

2019-02-01 Thread Ravi Bangoria
On 2/1/19 1:24 PM, Ravi Bangoria wrote: > I ran fuzzer for couple of hours but I didn't see any crash with > your previous patch. > > I'll try this newer one as well. I ran fuzzer for ~8 hrs and no lockup so far. Thanks.

[PATCH] Uprobes: Fix deadlock between delayed_uprobe_lock and fs_reclaim

2019-02-03 Thread Ravi Bangoria
sh Kumar K.V Signed-off-by: Ravi Bangoria --- kernel/events/uprobes.c | 24 1 file changed, 24 insertions(+) diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c index 8aef47ee7bfa..8be39a83d83a 100644 --- a/kernel/events/uprobes.c +++ b/kernel/events/uprobe

[PATCH 2/2] powerpc/perf: Fix mmcra corruption by bhrb_filter

2019-05-10 Thread Ravi Bangoria
nfig_bhrb(-1) will set mmcra to -1. Signed-off-by: Ravi Bangoria --- arch/powerpc/perf/core-book3s.c | 6 -- arch/powerpc/perf/power8-pmu.c | 3 +++ arch/powerpc/perf/power9-pmu.c | 3 +++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/arch/powerpc/perf/core-book3s.c b/arc

[PATCH 1/2] perf ioctl: Add check for the sample_period value

2019-05-10 Thread Ravi Bangoria
Add a check for sample_period value sent from userspace. Negative value does not make sense. And in powerpc arch code this could cause a recursive PMI leading to a hang (reported when running perf-fuzzer). Signed-off-by: Ravi Bangoria --- kernel/events/core.c | 3 +++ 1 file changed, 3

Re: [PATCH 2/2] powerpc/perf: Fix mmcra corruption by bhrb_filter

2019-05-10 Thread Ravi Bangoria
On 5/11/19 8:12 AM, Ravi Bangoria wrote: > Consider a scenario where user creates two events: > > 1st event: > attr.sample_type |= PERF_SAMPLE_BRANCH_STACK; > attr.branch_sample_type = PERF_SAMPLE_BRANCH_ANY; > fd = perf_event_open(attr, 0, 1, -1, 0); >

Re: [PATCH 1/2] perf ioctl: Add check for the sample_period value

2019-05-13 Thread Ravi Bangoria
On 5/13/19 2:26 PM, Peter Zijlstra wrote: > On Mon, May 13, 2019 at 09:42:13AM +0200, Peter Zijlstra wrote: >> On Sat, May 11, 2019 at 08:12:16AM +0530, Ravi Bangoria wrote: >>> Add a check for sample_period value sent from userspace. Negative >>> value does not make

Re: [PATCH V2 1/3] perf parse-regs: Split parse_regs

2019-05-14 Thread Ravi Bangoria
t; > Modify the warning message. "--user-regs=?" should be applied to show > the available registers for --user-regs. > > Signed-off-by: Kan Liang > --- For patch 1 and 2, Tested-by: Ravi Bangoria Minor neat. Should we update document as well? May be something like: t

Re: [PATCH v3 0/3] Powerpc64/Watchpoint: Few important fixes

2019-08-05 Thread Ravi Bangoria
Mikey, mpe ... Any thoughts?

[PATCH 2/5] Powerpc/hw-breakpoint: Refactor hw_breakpoint_arch_parse()

2019-06-17 Thread Ravi Bangoria
Move feature availability check at the start of the function. Rearrange comment to it's associated code. Use hw->address and hw->len in the 512 bytes boundary check(to write if statement in a single line). Add spacing between code blocks. Signed-off-by: Ravi Bangoria --- arch/pow

[PATCH 0/5] Powerpc/hw-breakpoint: Fixes plus Code refactor

2019-06-17 Thread Ravi Bangoria
patch 1-3: Code refactor patch 4: Speedup disabling breakpoint patch 5: Fix length calculation for unaligned targets Ravi Bangoria (5): Powerpc/hw-breakpoint: Replace stale do_dabr() with do_break() Powerpc/hw-breakpoint: Refactor hw_breakpoint_arch_parse() Powerpc/hw-breakpoint: Refactor

[PATCH 4/5] Powerpc/hw-breakpoint: Optimize disable path

2019-06-17 Thread Ravi Bangoria
Directly setting dawr and dawrx with 0 should be enough to disable watchpoint. No need to reset individual bits in variable and then set in hw. Signed-off-by: Ravi Bangoria --- arch/powerpc/include/asm/hw_breakpoint.h | 3 ++- arch/powerpc/kernel/process.c| 12 2 files

[PATCH 1/5] Powerpc/hw-breakpoint: Replace stale do_dabr() with do_break()

2019-06-17 Thread Ravi Bangoria
do_dabr() was renamed with do_break() long ago. But I still see some comments mentioning do_dabr(). Replace it. Signed-off-by: Ravi Bangoria --- arch/powerpc/kernel/hw_breakpoint.c | 2 +- arch/powerpc/kernel/ptrace.c| 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a

[PATCH 5/5] Powerpc/Watchpoint: Fix length calculation for unaligned target

2019-06-17 Thread Ravi Bangoria
including next doubleword in the length. Watchpoint exception handler already ignores extraneous exceptions, so no changes required for that. Signed-off-by: Ravi Bangoria --- arch/powerpc/include/asm/hw_breakpoint.h | 7 ++-- arch/powerpc/kernel/hw_breakpoint.c | 44 +---

[PATCH 3/5] Powerpc/hw-breakpoint: Refactor set_dawr()

2019-06-17 Thread Ravi Bangoria
Remove unnecessary comments. Code itself is self explanatory. And, ISA already talks about MRD field. I Don't think we need to re-describe it. Signed-off-by: Ravi Bangoria --- arch/powerpc/kernel/process.c | 17 + 1 file changed, 5 insertions(+), 12 deletions(-) diff --

<    1   2   3   4   5   6   7   8   9   >