All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ravi Bangoria <ravi.bangoria@linux.ibm.com>
To: Jordan Niethe <jniethe5@gmail.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>,
	mikey@neuling.org, Paul Mackerras <paulus@samba.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@c-s.fr>,
	naveen.n.rao@linux.vnet.ibm.com, peterz@infradead.org,
	jolsa@kernel.org, oleg@redhat.com, fweisbec@gmail.com,
	mingo@kernel.org, pedromfc@br.ibm.com, miltonm@us.ibm.com,
	linuxppc-dev <linuxppc-dev@lists.ozlabs.org>,
	linux-kernel@vger.kernel.org,
	Ravi Bangoria <ravi.bangoria@linux.ibm.com>
Subject: Re: [PATCH v4 09/10] powerpc/watchpoint: Return available watchpoints dynamically
Date: Tue, 21 Jul 2020 13:45:58 +0530	[thread overview]
Message-ID: <a439dff1-2a61-8378-d510-af754ed746ec@linux.ibm.com> (raw)
In-Reply-To: <CACzsE9q5YtT_bXOpw9cri_UCxziW_FRbCpcViANaZwui0hjDqw@mail.gmail.com>


>>>> @@ -46,7 +47,7 @@ struct arch_hw_breakpoint {
>>>>
>>>>    static inline int nr_wp_slots(void)
>>>>    {
>>>> -       return HBP_NUM_MAX;
>>>> +       return cpu_has_feature(CPU_FTR_DAWR1) ? HBP_NUM_TWO : HBP_NUM_ONE;
>>> So it'd be something like:
>>> +       return cpu_has_feature(CPU_FTR_DAWR1) ? HBP_NUM_MAX : 1;
>>> But thinking that there might be more slots added in the future, it
>>> may be better to make the number of slots a variable that is set
>>> during the init and then have this function return that.
>>
>> Not sure I follow. What do you mean by setting number of slots a
>> variable that is set during the init?
> Sorry I was unclear there.
> I was just looking and saw arm also has a variable number of hw breakpoints.
> If we did something like how they handle it, it might look something like:
> 
> static int num_wp_slots __ro_after_init;
> 
> int nr_wp_slots(void) {
>      return num_wp_slots;
> }
> 
> static int __init arch_hw_breakpoint_init(void) {
>      num_wp_slots = work out how many wp_slots
> }
> arch_initcall(arch_hw_breakpoint_init);
> 
> Then we wouldn't have to calculate everytime nr_wp_slots() is called.
> In the future if more wp's are added nr_wp_slots() will get more complicated.
> But just an idea, feel free to ignore.

Ok I got the idea. But ARM arch_hw_breakpoint_init() is much more complex
compared to our nr_wp_slots(). I don't see any benefit by making our code
like ARM.

Thanks for the idea though :)
Ravi

WARNING: multiple messages have this Message-ID (diff)
From: Ravi Bangoria <ravi.bangoria@linux.ibm.com>
To: Jordan Niethe <jniethe5@gmail.com>
Cc: Christophe Leroy <christophe.leroy@c-s.fr>,
	miltonm@us.ibm.com, mikey@neuling.org,
	Ravi Bangoria <ravi.bangoria@linux.ibm.com>,
	peterz@infradead.org, oleg@redhat.com,
	Nicholas Piggin <npiggin@gmail.com>,
	linux-kernel@vger.kernel.org, Paul Mackerras <paulus@samba.org>,
	jolsa@kernel.org, fweisbec@gmail.com, pedromfc@br.ibm.com,
	naveen.n.rao@linux.vnet.ibm.com,
	linuxppc-dev <linuxppc-dev@lists.ozlabs.org>,
	mingo@kernel.org
Subject: Re: [PATCH v4 09/10] powerpc/watchpoint: Return available watchpoints dynamically
Date: Tue, 21 Jul 2020 13:45:58 +0530	[thread overview]
Message-ID: <a439dff1-2a61-8378-d510-af754ed746ec@linux.ibm.com> (raw)
In-Reply-To: <CACzsE9q5YtT_bXOpw9cri_UCxziW_FRbCpcViANaZwui0hjDqw@mail.gmail.com>


>>>> @@ -46,7 +47,7 @@ struct arch_hw_breakpoint {
>>>>
>>>>    static inline int nr_wp_slots(void)
>>>>    {
>>>> -       return HBP_NUM_MAX;
>>>> +       return cpu_has_feature(CPU_FTR_DAWR1) ? HBP_NUM_TWO : HBP_NUM_ONE;
>>> So it'd be something like:
>>> +       return cpu_has_feature(CPU_FTR_DAWR1) ? HBP_NUM_MAX : 1;
>>> But thinking that there might be more slots added in the future, it
>>> may be better to make the number of slots a variable that is set
>>> during the init and then have this function return that.
>>
>> Not sure I follow. What do you mean by setting number of slots a
>> variable that is set during the init?
> Sorry I was unclear there.
> I was just looking and saw arm also has a variable number of hw breakpoints.
> If we did something like how they handle it, it might look something like:
> 
> static int num_wp_slots __ro_after_init;
> 
> int nr_wp_slots(void) {
>      return num_wp_slots;
> }
> 
> static int __init arch_hw_breakpoint_init(void) {
>      num_wp_slots = work out how many wp_slots
> }
> arch_initcall(arch_hw_breakpoint_init);
> 
> Then we wouldn't have to calculate everytime nr_wp_slots() is called.
> In the future if more wp's are added nr_wp_slots() will get more complicated.
> But just an idea, feel free to ignore.

Ok I got the idea. But ARM arch_hw_breakpoint_init() is much more complex
compared to our nr_wp_slots(). I don't see any benefit by making our code
like ARM.

Thanks for the idea though :)
Ravi

  reply	other threads:[~2020-07-21  8:16 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-17  4:09 [PATCH v4 00/10] powerpc/watchpoint: Enable 2nd DAWR on baremetal and powervm Ravi Bangoria
2020-07-17  4:09 ` Ravi Bangoria
2020-07-17  4:09 ` [PATCH v4 01/10] powerpc/watchpoint: Fix 512 byte boundary limit Ravi Bangoria
2020-07-17  4:09   ` Ravi Bangoria
2020-07-17  4:09 ` [PATCH v4 02/10] powerpc/watchpoint: Fix DAWR exception constraint Ravi Bangoria
2020-07-17  4:09   ` Ravi Bangoria
2020-07-17  4:09 ` [PATCH v4 03/10] powerpc/watchpoint: Fix DAWR exception for CACHEOP Ravi Bangoria
2020-07-17  4:09   ` Ravi Bangoria
2020-07-17  4:09 ` [PATCH v4 04/10] powerpc/watchpoint: Enable watchpoint functionality on power10 guest Ravi Bangoria
2020-07-17  4:09   ` Ravi Bangoria
2020-07-17  4:23   ` Jordan Niethe
2020-07-17  4:23     ` Jordan Niethe
2020-07-17  4:09 ` [PATCH v4 05/10] powerpc/dt_cpu_ftrs: Add feature for 2nd DAWR Ravi Bangoria
2020-07-17  4:09   ` Ravi Bangoria
2020-07-17  5:44   ` Jordan Niethe
2020-07-17  5:44     ` Jordan Niethe
2020-07-21  7:51     ` Ravi Bangoria
2020-07-21  7:51       ` Ravi Bangoria
2020-07-21 11:29       ` Michael Ellerman
2020-07-21 11:29         ` Michael Ellerman
2020-07-21 13:42         ` Ravi Bangoria
2020-07-21 13:42           ` Ravi Bangoria
2020-07-21 14:07           ` Michael Ellerman
2020-07-21 14:07             ` Michael Ellerman
2020-07-21 14:16             ` Ravi Bangoria
2020-07-21 14:16               ` Ravi Bangoria
2020-07-17  4:09 ` [PATCH v4 06/10] powerpc/watchpoint: Set CPU_FTR_DAWR1 based on pa-features bit Ravi Bangoria
2020-07-17  4:09   ` Ravi Bangoria
2020-07-20  1:39   ` Jordan Niethe
2020-07-20  1:39     ` Jordan Niethe
2020-07-17  4:09 ` [PATCH v4 07/10] powerpc/watchpoint: Rename current H_SET_MODE DAWR macro Ravi Bangoria
2020-07-17  4:09   ` Ravi Bangoria
2020-07-20  1:50   ` Jordan Niethe
2020-07-20  1:50     ` Jordan Niethe
2020-07-17  4:09 ` [PATCH v4 08/10] powerpc/watchpoint: Guest support for 2nd DAWR hcall Ravi Bangoria
2020-07-17  4:09   ` Ravi Bangoria
2020-07-17  4:09 ` [PATCH v4 09/10] powerpc/watchpoint: Return available watchpoints dynamically Ravi Bangoria
2020-07-17  4:09   ` Ravi Bangoria
2020-07-20  3:42   ` Jordan Niethe
2020-07-20  3:42     ` Jordan Niethe
2020-07-21  3:57     ` Ravi Bangoria
2020-07-21  3:57       ` Ravi Bangoria
2020-07-21  4:41       ` Jordan Niethe
2020-07-21  4:41         ` Jordan Niethe
2020-07-21  8:15         ` Ravi Bangoria [this message]
2020-07-21  8:15           ` Ravi Bangoria
2020-07-21 11:36       ` Michael Ellerman
2020-07-21 11:36         ` Michael Ellerman
2020-07-21 13:33         ` Ravi Bangoria
2020-07-21 13:33           ` Ravi Bangoria
2020-07-17  4:09 ` [PATCH v4 10/10] powerpc/watchpoint: Remove 512 byte boundary Ravi Bangoria
2020-07-17  4:09   ` Ravi Bangoria
2020-07-20  6:54   ` Jordan Niethe
2020-07-20  6:54     ` Jordan Niethe
2020-07-21  3:24     ` Ravi Bangoria
2020-07-21  3:24       ` Ravi Bangoria

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a439dff1-2a61-8378-d510-af754ed746ec@linux.ibm.com \
    --to=ravi.bangoria@linux.ibm.com \
    --cc=christophe.leroy@c-s.fr \
    --cc=fweisbec@gmail.com \
    --cc=jniethe5@gmail.com \
    --cc=jolsa@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mikey@neuling.org \
    --cc=miltonm@us.ibm.com \
    --cc=mingo@kernel.org \
    --cc=mpe@ellerman.id.au \
    --cc=naveen.n.rao@linux.vnet.ibm.com \
    --cc=npiggin@gmail.com \
    --cc=oleg@redhat.com \
    --cc=paulus@samba.org \
    --cc=pedromfc@br.ibm.com \
    --cc=peterz@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.