2022-05-14 01:36:09

by Yajun Deng

[permalink] [raw]
Subject: [PATCH] sched/deadline: Use proc_douintvec_minmax() limit minimum value

proc_dointvec() is not applicable for unsigned integer, use
proc_douintvec_minmax() limit minimum value.

Signed-off-by: Yajun Deng <[email protected]>
---
kernel/sched/deadline.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
index 85cd62e0dddd..4d2a780c6f73 100644
--- a/kernel/sched/deadline.c
+++ b/kernel/sched/deadline.c
@@ -30,14 +30,16 @@ static struct ctl_table sched_dl_sysctls[] = {
.data = &sysctl_sched_dl_period_max,
.maxlen = sizeof(unsigned int),
.mode = 0644,
- .proc_handler = proc_dointvec,
+ .proc_handler = proc_douintvec_minmax,
+ .extra1 = (void *)&sysctl_sched_dl_period_min,
},
{
.procname = "sched_deadline_period_min_us",
.data = &sysctl_sched_dl_period_min,
.maxlen = sizeof(unsigned int),
.mode = 0644,
- .proc_handler = proc_dointvec,
+ .proc_handler = proc_douintvec_minmax,
+ .extra2 = (void *)&sysctl_sched_dl_period_max,
},
{}
};
--
2.25.1



2022-06-07 06:57:56

by Yajun Deng

[permalink] [raw]
Subject: Re: [PATCH] sched/deadline: Use proc_douintvec_minmax() limit minimum value

Ping.



May 13, 2022 10:41 AM, "Yajun Deng" <[email protected]> wrote:

> proc_dointvec() is not applicable for unsigned integer, use
> proc_douintvec_minmax() limit minimum value.
>
> Signed-off-by: Yajun Deng <[email protected]>
> ---
> kernel/sched/deadline.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
> index 85cd62e0dddd..4d2a780c6f73 100644
> --- a/kernel/sched/deadline.c
> +++ b/kernel/sched/deadline.c
> @@ -30,14 +30,16 @@ static struct ctl_table sched_dl_sysctls[] = {
> .data = &sysctl_sched_dl_period_max,
> .maxlen = sizeof(unsigned int),
> .mode = 0644,
> - .proc_handler = proc_dointvec,
> + .proc_handler = proc_douintvec_minmax,
> + .extra1 = (void *)&sysctl_sched_dl_period_min,
> },
> {
> .procname = "sched_deadline_period_min_us",
> .data = &sysctl_sched_dl_period_min,
> .maxlen = sizeof(unsigned int),
> .mode = 0644,
> - .proc_handler = proc_dointvec,
> + .proc_handler = proc_douintvec_minmax,
> + .extra2 = (void *)&sysctl_sched_dl_period_max,
> },
> {}
> };
> --
> 2.25.1

2022-06-07 11:34:27

by Yajun Deng

[permalink] [raw]
Subject: Re: [PATCH] sched/deadline: Use proc_douintvec_minmax() limit minimum value

June 7, 2022 3:55 PM, "Daniel Bristot de Oliveira" <[email protected]> wrote:

> Hi Yajun
>
> On 5/13/22 04:41, Yajun Deng wrote:
>
>> proc_dointvec() is not applicable for unsigned integer, use
>> proc_douintvec_minmax() limit minimum value.
>
> I understand your patch, but your log message is somehow incomplete.
>
> Could you expand on that, showing the problem using an example, and then how you
> see it fixed?
>

This patch isn't a fix. It's just an optimization for match data and proc_handler in struct ctl_table.

> Also, could you please add the Fixes: tag so this patch can land on stable trees?
>

This statement 'if (period < min || period > max)' in __checkparam_dl() will work fine even if there hasn't this patch.
So this patch may not need land on stable trees.

> -- Daniel

Subject: Re: [PATCH] sched/deadline: Use proc_douintvec_minmax() limit minimum value

Hi Yajun

On 5/13/22 04:41, Yajun Deng wrote:
> proc_dointvec() is not applicable for unsigned integer, use
> proc_douintvec_minmax() limit minimum value.

I understand your patch, but your log message is somehow incomplete.

Could you expand on that, showing the problem using an example, and then how you
see it fixed?

Also, could you please add the Fixes: tag so this patch can land on stable trees?

-- Daniel

Subject: Re: [PATCH] sched/deadline: Use proc_douintvec_minmax() limit minimum value

On 6/7/22 10:35, Yajun Deng wrote:
> June 7, 2022 3:55 PM, "Daniel Bristot de Oliveira" <[email protected]> wrote:
>
>> Hi Yajun
>>
>> On 5/13/22 04:41, Yajun Deng wrote:
>>
>>> proc_dointvec() is not applicable for unsigned integer, use
>>> proc_douintvec_minmax() limit minimum value.
>> I understand your patch, but your log message is somehow incomplete.
>>
>> Could you expand on that, showing the problem using an example, and then how you
>> see it fixed?
>>
> This patch isn't a fix. It's just an optimization for match data and proc_handler in struct ctl_table.
>
>> Also, could you please add the Fixes: tag so this patch can land on stable trees?
>>
> This statement 'if (period < min || period > max)' in __checkparam_dl() will work fine even if there hasn't this patch.
> So this patch may not need land on stable trees.
>

Good, so you already know how to improve your log message.

-- Daniel