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

Yajun Deng posted 1 patch 3 years, 11 months ago
There is a newer version of this series
kernel/sched/deadline.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
[PATCH] sched/deadline: Use proc_douintvec_minmax() limit minimum value
Posted by Yajun Deng 3 years, 11 months ago
proc_dointvec() is not applicable for unsigned integer, use
proc_douintvec_minmax() limit minimum value.

Signed-off-by: Yajun Deng <yajun.deng@linux.dev>
---
 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
Re: [PATCH] sched/deadline: Use proc_douintvec_minmax() limit minimum value
Posted by Daniel Bristot de Oliveira 3 years, 11 months ago
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
Re: [PATCH] sched/deadline: Use proc_douintvec_minmax() limit minimum value
Posted by Yajun Deng 3 years, 11 months ago
June 7, 2022 3:55 PM, "Daniel Bristot de Oliveira" <bristot@redhat.com> 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
Re: [PATCH] sched/deadline: Use proc_douintvec_minmax() limit minimum value
Posted by Daniel Bristot de Oliveira 3 years, 11 months ago
On 6/7/22 10:35, Yajun Deng wrote:
> June 7, 2022 3:55 PM, "Daniel Bristot de Oliveira" <bristot@redhat.com> 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
Re: [PATCH] sched/deadline: Use proc_douintvec_minmax() limit minimum value
Posted by Yajun Deng 3 years, 11 months ago
Ping.



May 13, 2022 10:41 AM, "Yajun Deng" <yajun.deng@linux.dev> wrote:

> proc_dointvec() is not applicable for unsigned integer, use
> proc_douintvec_minmax() limit minimum value.
> 
> Signed-off-by: Yajun Deng <yajun.deng@linux.dev>
> ---
> 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