linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH] mm/damon: explain "effective quota" on kernel-doc comment
@ 2024-11-26  0:29 SeongJae Park
  2024-11-26  8:24 ` Honggyu Kim
  0 siblings, 1 reply; 6+ messages in thread
From: SeongJae Park @ 2024-11-26  0:29 UTC (permalink / raw)
  Cc: SeongJae Park, damon, linux-mm, linux-kernel, Yunjeong Mun, Honggyu Kim

The kernel-doc comment for 'struct damos_quota' describes how "effective
quota" is calculated, but does not explain what it is.  Actually there
was an input[1] about it.  Add the explanation on the comment.

[1] https://github.com/damonitor/damo/issues/17#issuecomment-2497525043

Cc: Yunjeong Mun <yunjeong.mun@sk.com>
Cc: Honggyu Kim <honggyu.kim@sk.com>
Signed-off-by: SeongJae Park <sj@kernel.org>
---
 include/linux/damon.h | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/include/linux/damon.h b/include/linux/damon.h
index a67f2c4940e9..a01bfe2ff616 100644
--- a/include/linux/damon.h
+++ b/include/linux/damon.h
@@ -193,9 +193,13 @@ struct damos_quota_goal {
  * size quota is set, DAMON tries to apply the action only up to &sz bytes
  * within &reset_interval.
  *
- * Internally, the time quota is transformed to a size quota using estimated
- * throughput of the scheme's action.  DAMON then compares it against &sz and
- * uses smaller one as the effective quota.
+ * To convince the different types of quotas and goals, DAMON internally
+ * converts those into one single size quota called "effective quota".  DAMON
+ * internally uses it as only one real quota.  The convert is made as follows.
+ *
+ * The time quota is transformed to a size quota using estimated throughput of
+ * the scheme's action.  DAMON then compares it against &sz and uses smaller
+ * one as the effective quota.
  *
  * If @goals is not empt, DAMON calculates yet another size quota based on the
  * goals using its internal feedback loop algorithm, for every @reset_interval.
-- 
2.39.5



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [RFC PATCH] mm/damon: explain "effective quota" on kernel-doc comment
  2024-11-26  0:29 [RFC PATCH] mm/damon: explain "effective quota" on kernel-doc comment SeongJae Park
@ 2024-11-26  8:24 ` Honggyu Kim
  2024-11-26 19:43   ` SeongJae Park
  0 siblings, 1 reply; 6+ messages in thread
From: Honggyu Kim @ 2024-11-26  8:24 UTC (permalink / raw)
  To: SeongJae Park
  Cc: damon, linux-mm, linux-kernel, Yunjeong Mun, Honggyu Kim, kernel_team

Hi SeongJae,

Thanks very much for the quick response.  I think it looks great but I
have some minor comments so please see my inline comments below.

Thanks,
Honggyu

On Mon, 25 Nov 2024 16:29:21 -0800 SeongJae Park <sj@kernel.org> wrote:
> The kernel-doc comment for 'struct damos_quota' describes how "effective
> quota" is calculated, but does not explain what it is.  Actually there
> was an input[1] about it.  Add the explanation on the comment.
> 
> [1] https://github.com/damonitor/damo/issues/17#issuecomment-2497525043
> 
> Cc: Yunjeong Mun <yunjeong.mun@sk.com>
> Cc: Honggyu Kim <honggyu.kim@sk.com>
> Signed-off-by: SeongJae Park <sj@kernel.org>
> ---
>  include/linux/damon.h | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/include/linux/damon.h b/include/linux/damon.h
> index a67f2c4940e9..a01bfe2ff616 100644
> --- a/include/linux/damon.h
> +++ b/include/linux/damon.h
> @@ -193,9 +193,13 @@ struct damos_quota_goal {
>   * size quota is set, DAMON tries to apply the action only up to &sz bytes
>   * within &reset_interval.
>   *
> - * Internally, the time quota is transformed to a size quota using estimated
> - * throughput of the scheme's action.  DAMON then compares it against &sz and
> - * uses smaller one as the effective quota.
> + * To convince the different types of quotas and goals, DAMON internally
> + * converts those into one single size quota called "effective quota".  DAMON

Could we use "effective size quota" instead of "effective quota"?
IMHO, it will better give an idea this is related to "esz" in the code,
which means effective size.

> + * internally uses it as only one real quota.  The convert is made as follows.

(nit) "as only one" can be "as the only one".
(another nit) "The convert is made" can be "The conversion is made".

> + *
> + * The time quota is transformed to a size quota using estimated throughput of
> + * the scheme's action.  DAMON then compares it against &sz and uses smaller
> + * one as the effective quota.
>   *
>   * If @goals is not empt, DAMON calculates yet another size quota based on the

We better fix "empt" to "empty" together.

>   * goals using its internal feedback loop algorithm, for every @reset_interval.
> -- 
> 2.39.5
> 


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [RFC PATCH] mm/damon: explain "effective quota" on kernel-doc comment
  2024-11-26  8:24 ` Honggyu Kim
@ 2024-11-26 19:43   ` SeongJae Park
  2024-11-28  9:53     ` Honggyu Kim
  0 siblings, 1 reply; 6+ messages in thread
From: SeongJae Park @ 2024-11-26 19:43 UTC (permalink / raw)
  To: Honggyu Kim
  Cc: SeongJae Park, damon, linux-mm, linux-kernel, Yunjeong Mun, kernel_team

On Tue, 26 Nov 2024 17:24:33 +0900 Honggyu Kim <honggyu.kim@sk.com> wrote:

> Hi SeongJae,
> 
> Thanks very much for the quick response.

No problem, all owing to your kind report!

> I think it looks great but I
> have some minor comments so please see my inline comments below.
> 
> Thanks,
> Honggyu
> 
> On Mon, 25 Nov 2024 16:29:21 -0800 SeongJae Park <sj@kernel.org> wrote:
> > The kernel-doc comment for 'struct damos_quota' describes how "effective
> > quota" is calculated, but does not explain what it is.  Actually there
> > was an input[1] about it.  Add the explanation on the comment.
> > 
> > [1] https://github.com/damonitor/damo/issues/17#issuecomment-2497525043
> > 
> > Cc: Yunjeong Mun <yunjeong.mun@sk.com>
> > Cc: Honggyu Kim <honggyu.kim@sk.com>
> > Signed-off-by: SeongJae Park <sj@kernel.org>
> > ---
> >  include/linux/damon.h | 10 +++++++---
> >  1 file changed, 7 insertions(+), 3 deletions(-)
> > 
> > diff --git a/include/linux/damon.h b/include/linux/damon.h
> > index a67f2c4940e9..a01bfe2ff616 100644
> > --- a/include/linux/damon.h
> > +++ b/include/linux/damon.h
> > @@ -193,9 +193,13 @@ struct damos_quota_goal {
> >   * size quota is set, DAMON tries to apply the action only up to &sz bytes
> >   * within &reset_interval.
> >   *
> > - * Internally, the time quota is transformed to a size quota using estimated
> > - * throughput of the scheme's action.  DAMON then compares it against &sz and
> > - * uses smaller one as the effective quota.
> > + * To convince the different types of quotas and goals, DAMON internally
> > + * converts those into one single size quota called "effective quota".  DAMON
> 
> Could we use "effective size quota" instead of "effective quota"?
> IMHO, it will better give an idea this is related to "esz" in the code,
> which means effective size.

The above sentence is saying it as one single "size" quota, so calling it
"effective size quota" here feels like unnecessary duplicates of the word
("size") to me.  I'd like to keep this sentence as is if you don't really mind.

> 
> > + * internally uses it as only one real quota.  The convert is made as follows.
> 
> (nit) "as only one" can be "as the only one".
> (another nit) "The convert is made" can be "The conversion is made".

Nice eyes!  I will fix those.

> 
> > + *
> > + * The time quota is transformed to a size quota using estimated throughput of
> > + * the scheme's action.  DAMON then compares it against &sz and uses smaller
> > + * one as the effective quota.
> >   *
> >   * If @goals is not empt, DAMON calculates yet another size quota based on the
> 
> We better fix "empt" to "empty" together.

Nice catch!  I will fix so.

> 
> >   * goals using its internal feedback loop algorithm, for every @reset_interval.
> > -- 
> > 2.39.5
> >


Thanks,
SJ


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [RFC PATCH] mm/damon: explain "effective quota" on kernel-doc comment
  2024-11-26 19:43   ` SeongJae Park
@ 2024-11-28  9:53     ` Honggyu Kim
  2024-11-28 17:50       ` SeongJae Park
  0 siblings, 1 reply; 6+ messages in thread
From: Honggyu Kim @ 2024-11-28  9:53 UTC (permalink / raw)
  To: SeongJae Park
  Cc: damon, linux-mm, linux-kernel, Yunjeong Mun, kernel_team, Honggyu Kim

On Tue, 26 Nov 2024 11:43:47 -0800 SeongJae Park <sj@kernel.org> wrote:
> On Tue, 26 Nov 2024 17:24:33 +0900 Honggyu Kim <honggyu.kim@sk.com> wrote:
> 
> > Hi SeongJae,
> > 
> > Thanks very much for the quick response.
> 
> No problem, all owing to your kind report!
> 
> > I think it looks great but I
> > have some minor comments so please see my inline comments below.
> > 
> > Thanks,
> > Honggyu
> > 
> > On Mon, 25 Nov 2024 16:29:21 -0800 SeongJae Park <sj@kernel.org> wrote:
> > > The kernel-doc comment for 'struct damos_quota' describes how "effective
> > > quota" is calculated, but does not explain what it is.  Actually there
> > > was an input[1] about it.  Add the explanation on the comment.
> > > 
> > > [1] https://github.com/damonitor/damo/issues/17#issuecomment-2497525043
> > > 
> > > Cc: Yunjeong Mun <yunjeong.mun@sk.com>
> > > Cc: Honggyu Kim <honggyu.kim@sk.com>
> > > Signed-off-by: SeongJae Park <sj@kernel.org>
> > > ---
> > >  include/linux/damon.h | 10 +++++++---
> > >  1 file changed, 7 insertions(+), 3 deletions(-)
> > > 
> > > diff --git a/include/linux/damon.h b/include/linux/damon.h
> > > index a67f2c4940e9..a01bfe2ff616 100644
> > > --- a/include/linux/damon.h
> > > +++ b/include/linux/damon.h
> > > @@ -193,9 +193,13 @@ struct damos_quota_goal {
> > >   * size quota is set, DAMON tries to apply the action only up to &sz bytes
> > >   * within &reset_interval.
> > >   *
> > > - * Internally, the time quota is transformed to a size quota using estimated
> > > - * throughput of the scheme's action.  DAMON then compares it against &sz and
> > > - * uses smaller one as the effective quota.
> > > + * To convince the different types of quotas and goals, DAMON internally
> > > + * converts those into one single size quota called "effective quota".  DAMON
> > 
> > Could we use "effective size quota" instead of "effective quota"?
> > IMHO, it will better give an idea this is related to "esz" in the code,
> > which means effective size.
> 
> The above sentence is saying it as one single "size" quota, so calling it
> "effective size quota" here feels like unnecessary duplicates of the word
> ("size") to me.  I'd like to keep this sentence as is if you don't really mind.

Since the time or other goals are eventually transformed into a size
quota, I thought the "effective size quota" makes sense but I won't
stick to my term here.

We originally asked this question about the term "effective" itself as
we didn't find an explanation what "effective" means actually in the
doc.  It'd be better to have more explicit explanation as well.

> > 
> > > + * internally uses it as only one real quota.  The convert is made as follows.
> > 
> > (nit) "as only one" can be "as the only one".
> > (another nit) "The convert is made" can be "The conversion is made".
> 
> Nice eyes!  I will fix those.

Thanks, please do!

> > 
> > > + *
> > > + * The time quota is transformed to a size quota using estimated throughput of
> > > + * the scheme's action.  DAMON then compares it against &sz and uses smaller
> > > + * one as the effective quota.
> > >   *
> > >   * If @goals is not empt, DAMON calculates yet another size quota based on the
> > 
> > We better fix "empt" to "empty" together.
> 
> Nice catch!  I will fix so.

Ditto.

Thanks,
Honggyu

> > 
> > >   * goals using its internal feedback loop algorithm, for every @reset_interval.
> > > -- 
> > > 2.39.5
> > >
> 
> 
> Thanks,
> SJ


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [RFC PATCH] mm/damon: explain "effective quota" on kernel-doc comment
  2024-11-28  9:53     ` Honggyu Kim
@ 2024-11-28 17:50       ` SeongJae Park
  2024-11-29  7:49         ` Honggyu Kim
  0 siblings, 1 reply; 6+ messages in thread
From: SeongJae Park @ 2024-11-28 17:50 UTC (permalink / raw)
  To: Honggyu Kim
  Cc: SeongJae Park, damon, linux-mm, linux-kernel, Yunjeong Mun, kernel_team

On Thu, 28 Nov 2024 18:53:55 +0900 Honggyu Kim <honggyu.kim@sk.com> wrote:

> On Tue, 26 Nov 2024 11:43:47 -0800 SeongJae Park <sj@kernel.org> wrote:
> > On Tue, 26 Nov 2024 17:24:33 +0900 Honggyu Kim <honggyu.kim@sk.com> wrote:
> > 
> > > Hi SeongJae,
> > > 
> > > Thanks very much for the quick response.
> > 
> > No problem, all owing to your kind report!
> > 
> > > I think it looks great but I
> > > have some minor comments so please see my inline comments below.
> > > 
> > > Thanks,
> > > Honggyu
> > > 
> > > On Mon, 25 Nov 2024 16:29:21 -0800 SeongJae Park <sj@kernel.org> wrote:
> > > > The kernel-doc comment for 'struct damos_quota' describes how "effective
> > > > quota" is calculated, but does not explain what it is.  Actually there
> > > > was an input[1] about it.  Add the explanation on the comment.
> > > > 
> > > > [1] https://github.com/damonitor/damo/issues/17#issuecomment-2497525043
> > > > 
> > > > Cc: Yunjeong Mun <yunjeong.mun@sk.com>
> > > > Cc: Honggyu Kim <honggyu.kim@sk.com>
> > > > Signed-off-by: SeongJae Park <sj@kernel.org>
> > > > ---
> > > >  include/linux/damon.h | 10 +++++++---
> > > >  1 file changed, 7 insertions(+), 3 deletions(-)
> > > > 
> > > > diff --git a/include/linux/damon.h b/include/linux/damon.h
> > > > index a67f2c4940e9..a01bfe2ff616 100644
> > > > --- a/include/linux/damon.h
> > > > +++ b/include/linux/damon.h
> > > > @@ -193,9 +193,13 @@ struct damos_quota_goal {
> > > >   * size quota is set, DAMON tries to apply the action only up to &sz bytes
> > > >   * within &reset_interval.
> > > >   *
> > > > - * Internally, the time quota is transformed to a size quota using estimated
> > > > - * throughput of the scheme's action.  DAMON then compares it against &sz and
> > > > - * uses smaller one as the effective quota.
> > > > + * To convince the different types of quotas and goals, DAMON internally
> > > > + * converts those into one single size quota called "effective quota".  DAMON
> > > 
> > > Could we use "effective size quota" instead of "effective quota"?
> > > IMHO, it will better give an idea this is related to "esz" in the code,
> > > which means effective size.
> > 
> > The above sentence is saying it as one single "size" quota, so calling it
> > "effective size quota" here feels like unnecessary duplicates of the word
> > ("size") to me.  I'd like to keep this sentence as is if you don't really mind.
> 
> Since the time or other goals are eventually transformed into a size
> quota, I thought the "effective size quota" makes sense but I won't
> stick to my term here.

I understand your concern.  But I want to make it not very strictly fixed and
well-defined term, but just somewhat understandable with common sense and given
context, for flexibility and conciseness.  So unless this is really makes it
difficult to understand what it means even with common senses and the context
I'd like to keep current form.

I believe your answer to the above question is "no" since you mentioned you
won't stick to your term.  Please let me know if I'm misreading you.

> 
> We originally asked this question about the term "effective" itself as
> we didn't find an explanation what "effective" means actually in the
> doc.  It'd be better to have more explicit explanation as well.

I think this patch makes the point pretty explicit, so my humble brain is bit
confused what "more explicit" really means.  Could you please clarify what
changes you want to be added?


Thanks,
SJ

[...]


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [RFC PATCH] mm/damon: explain "effective quota" on kernel-doc comment
  2024-11-28 17:50       ` SeongJae Park
@ 2024-11-29  7:49         ` Honggyu Kim
  0 siblings, 0 replies; 6+ messages in thread
From: Honggyu Kim @ 2024-11-29  7:49 UTC (permalink / raw)
  To: SeongJae Park
  Cc: damon, linux-mm, linux-kernel, Yunjeong Mun, kernel_team, Honggyu Kim

On Thu, 28 Nov 2024 09:50:46 -0800 SeongJae Park <sj@kernel.org> wrote:
> On Thu, 28 Nov 2024 18:53:55 +0900 Honggyu Kim <honggyu.kim@sk.com> wrote:
> 
> > On Tue, 26 Nov 2024 11:43:47 -0800 SeongJae Park <sj@kernel.org> wrote:
> > > On Tue, 26 Nov 2024 17:24:33 +0900 Honggyu Kim <honggyu.kim@sk.com> wrote:
> > > 
> > > > Hi SeongJae,
> > > > 
> > > > Thanks very much for the quick response.
> > > 
> > > No problem, all owing to your kind report!
> > > 
> > > > I think it looks great but I
> > > > have some minor comments so please see my inline comments below.
> > > > 
> > > > Thanks,
> > > > Honggyu
> > > > 
> > > > On Mon, 25 Nov 2024 16:29:21 -0800 SeongJae Park <sj@kernel.org> wrote:
> > > > > The kernel-doc comment for 'struct damos_quota' describes how "effective
> > > > > quota" is calculated, but does not explain what it is.  Actually there
> > > > > was an input[1] about it.  Add the explanation on the comment.
> > > > > 
> > > > > [1] https://github.com/damonitor/damo/issues/17#issuecomment-2497525043
> > > > > 
> > > > > Cc: Yunjeong Mun <yunjeong.mun@sk.com>
> > > > > Cc: Honggyu Kim <honggyu.kim@sk.com>
> > > > > Signed-off-by: SeongJae Park <sj@kernel.org>
> > > > > ---
> > > > >  include/linux/damon.h | 10 +++++++---
> > > > >  1 file changed, 7 insertions(+), 3 deletions(-)
> > > > > 
> > > > > diff --git a/include/linux/damon.h b/include/linux/damon.h
> > > > > index a67f2c4940e9..a01bfe2ff616 100644
> > > > > --- a/include/linux/damon.h
> > > > > +++ b/include/linux/damon.h
> > > > > @@ -193,9 +193,13 @@ struct damos_quota_goal {
> > > > >   * size quota is set, DAMON tries to apply the action only up to &sz bytes
> > > > >   * within &reset_interval.
> > > > >   *
> > > > > - * Internally, the time quota is transformed to a size quota using estimated
> > > > > - * throughput of the scheme's action.  DAMON then compares it against &sz and
> > > > > - * uses smaller one as the effective quota.
> > > > > + * To convince the different types of quotas and goals, DAMON internally
> > > > > + * converts those into one single size quota called "effective quota".  DAMON
> > > > 
> > > > Could we use "effective size quota" instead of "effective quota"?
> > > > IMHO, it will better give an idea this is related to "esz" in the code,
> > > > which means effective size.
> > > 
> > > The above sentence is saying it as one single "size" quota, so calling it
> > > "effective size quota" here feels like unnecessary duplicates of the word
> > > ("size") to me.  I'd like to keep this sentence as is if you don't really mind.
> > 
> > Since the time or other goals are eventually transformed into a size
> > quota, I thought the "effective size quota" makes sense but I won't
> > stick to my term here.
> 
> I understand your concern.  But I want to make it not very strictly fixed and
> well-defined term, but just somewhat understandable with common sense and given
> context, for flexibility and conciseness.  So unless this is really makes it
> difficult to understand what it means even with common senses and the context
> I'd like to keep current form.
> 
> I believe your answer to the above question is "no" since you mentioned you
> won't stick to your term.  Please let me know if I'm misreading you.

OK. I'm fine with the changes with this patch.  I won't ask more changes.

> > 
> > We originally asked this question about the term "effective" itself as
> > we didn't find an explanation what "effective" means actually in the
> > doc.  It'd be better to have more explicit explanation as well.
> 
> I think this patch makes the point pretty explicit, so my humble brain is bit
> confused what "more explicit" really means.  Could you please clarify what
> changes you want to be added?

Nevermind, your changes here with some grammar and typo fixes are enough
for this patch.

Thanks,
Honggyu

> 
> Thanks,
> SJ
> 
> [...]


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-11-29  7:49 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-11-26  0:29 [RFC PATCH] mm/damon: explain "effective quota" on kernel-doc comment SeongJae Park
2024-11-26  8:24 ` Honggyu Kim
2024-11-26 19:43   ` SeongJae Park
2024-11-28  9:53     ` Honggyu Kim
2024-11-28 17:50       ` SeongJae Park
2024-11-29  7:49         ` Honggyu Kim

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox