lkml.org 
[lkml]   [2020]   [Mar]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH 07/15] powerpc/watchpoint: Get watchpoint count dynamically while disabling them
    From
    Date


    Le 09/03/2020 à 09:57, Ravi Bangoria a écrit :
    > Instead of disabling only one watchpooint, get num of available
    > watchpoints dynamically and disable all of them.
    >
    > Signed-off-by: Ravi Bangoria <ravi.bangoria@linux.ibm.com>
    > ---
    > arch/powerpc/include/asm/hw_breakpoint.h | 15 +++++++--------
    > 1 file changed, 7 insertions(+), 8 deletions(-)
    >
    > diff --git a/arch/powerpc/include/asm/hw_breakpoint.h b/arch/powerpc/include/asm/hw_breakpoint.h
    > index 980ac7d9f267..ec61e2b7195c 100644
    > --- a/arch/powerpc/include/asm/hw_breakpoint.h
    > +++ b/arch/powerpc/include/asm/hw_breakpoint.h
    > @@ -75,14 +75,13 @@ extern void ptrace_triggered(struct perf_event *bp,
    > struct perf_sample_data *data, struct pt_regs *regs);
    > static inline void hw_breakpoint_disable(void)
    > {
    > - struct arch_hw_breakpoint brk;
    > -
    > - brk.address = 0;
    > - brk.type = 0;
    > - brk.len = 0;
    > - brk.hw_len = 0;
    > - if (ppc_breakpoint_available())
    > - __set_breakpoint(&brk, 0);
    > + int i;
    > + struct arch_hw_breakpoint null_brk = {0};
    > +
    > + if (ppc_breakpoint_available()) {

    I think this test should go into nr_wp_slots() which should return zero
    when no breakpoint is available. This would simplify at least here and
    patch 4

    Christophe

    > + for (i = 0; i < nr_wp_slots(); i++)
    > + __set_breakpoint(&null_brk, i);
    > + }
    > }
    > extern void thread_change_pc(struct task_struct *tsk, struct pt_regs *regs);
    > int hw_breakpoint_handler(struct die_args *args);
    >

    \
     
     \ /
      Last update: 2020-03-17 11:33    [W:4.874 / U:0.516 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site