[PATCH] sched/Documentation: Add RT_RUNTIME_SHARE documentation

Zhang Qiao posted 1 patch 2 years ago
There is a newer version of this series
Documentation/scheduler/sched-rt-group.rst | 11 +++++++++++
1 file changed, 11 insertions(+)
[PATCH] sched/Documentation: Add RT_RUNTIME_SHARE documentation
Posted by Zhang Qiao 2 years ago
RT_RUNTIME_SHARE is an important strategy for rt bandwidth, and
we should document this sched feature.

Signed-off-by: Zhang Qiao <zhangqiao22@huawei.com>
---
 Documentation/scheduler/sched-rt-group.rst | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/Documentation/scheduler/sched-rt-group.rst b/Documentation/scheduler/sched-rt-group.rst
index d685609ed3d7..4d8eceb71f5e 100644
--- a/Documentation/scheduler/sched-rt-group.rst
+++ b/Documentation/scheduler/sched-rt-group.rst
@@ -12,6 +12,7 @@ Real-Time group scheduling
      2.1 System-wide settings
      2.2 Default behaviour
      2.3 Basis for grouping tasks
+     2.4 RT_RUNTIME_SHARE sched feature
    3. Future plans
 
 
@@ -146,6 +147,16 @@ For now, this can be simplified to just the following (but see Future plans):
 
    \Sum_{i} runtime_{i} <= global_runtime
 
+2.4 RT_RUNTIME_SHARE sched feature
+----------------------------
+
+RT_RUNTIME_SHARE allows a cpu borrows rt-runtime from other cpus if it runs
+out of its own rt-runtime.
+
+With this feature enabled, a rt-task probably hits 100% cpu usage and starves
+per-cpu tasks like kworkers, as a result, it may hang up the whole system.
+Therefore, in order to avoid such exception, recommand to disable this feature
+by default unless you really know what you're up to.
 
 3. Future plans
 ===============
-- 
2.18.0.huawei.25
Re: [PATCH] sched/Documentation: Add RT_RUNTIME_SHARE documentation
Posted by Bagas Sanjaya 1 year, 10 months ago
On Wed, Jan 31, 2024 at 08:32:38PM +0800, Zhang Qiao wrote:
> +2.4 RT_RUNTIME_SHARE sched feature
> +----------------------------

htmldocs build reports new warning:

Documentation/scheduler/sched-rt-group.rst:151: WARNING: Title underline too short.

2.4 RT_RUNTIME_SHARE sched feature
----------------------------

I have to extend the underline:

---- >8 ----
diff --git a/Documentation/scheduler/sched-rt-group.rst b/Documentation/scheduler/sched-rt-group.rst
index 4d8eceb71f5ed8..751113fcd35850 100644
--- a/Documentation/scheduler/sched-rt-group.rst
+++ b/Documentation/scheduler/sched-rt-group.rst
@@ -148,7 +148,7 @@ For now, this can be simplified to just the following (but see Future plans):
    \Sum_{i} runtime_{i} <= global_runtime
 
 2.4 RT_RUNTIME_SHARE sched feature
-----------------------------
+----------------------------------
 
 RT_RUNTIME_SHARE allows a cpu borrows rt-runtime from other cpus if it runs
 out of its own rt-runtime.

Wording suggestions below.

> +
> +RT_RUNTIME_SHARE allows a cpu borrows rt-runtime from other cpus if it runs
"... to borrow rt-runtime ..."
> +out of its own rt-runtime.
> +
> +With this feature enabled, a rt-task probably hits 100% cpu usage and starves
"... a rt-task may hit ... and can stall other per-cpu tasks ..."
> +per-cpu tasks like kworkers, as a result, it may hang up the whole system.
"..., which lead into system hang."
> +Therefore, in order to avoid such exception, recommand to disable this feature
> +by default unless you really know what you're up to.
"Thus, it is advised to disable this feature by default to avoid aforementioned
issue unless you know what you're doing."

Thanks.

-- 
An old man doll... just what I always wanted! - Clara
Re: [PATCH] sched/Documentation: Add RT_RUNTIME_SHARE documentation
Posted by Zhang Qiao 1 year, 9 months ago

在 2024/4/12 10:50, Bagas Sanjaya 写道:
> On Wed, Jan 31, 2024 at 08:32:38PM +0800, Zhang Qiao wrote:
>> +2.4 RT_RUNTIME_SHARE sched feature
>> +----------------------------
> 
> htmldocs build reports new warning:
> 
> Documentation/scheduler/sched-rt-group.rst:151: WARNING: Title underline too short.
> 
> 2.4 RT_RUNTIME_SHARE sched feature
> ----------------------------
> 
> I have to extend the underline:
> 
> ---- >8 ----
> diff --git a/Documentation/scheduler/sched-rt-group.rst b/Documentation/scheduler/sched-rt-group.rst
> index 4d8eceb71f5ed8..751113fcd35850 100644
> --- a/Documentation/scheduler/sched-rt-group.rst
> +++ b/Documentation/scheduler/sched-rt-group.rst
> @@ -148,7 +148,7 @@ For now, this can be simplified to just the following (but see Future plans):
>     \Sum_{i} runtime_{i} <= global_runtime
>  
>  2.4 RT_RUNTIME_SHARE sched feature
> -----------------------------
> +----------------------------------
>  
>  RT_RUNTIME_SHARE allows a cpu borrows rt-runtime from other cpus if it runs
>  out of its own rt-runtime.
> 
> Wording suggestions below.

Hi, Bagas,
Thanks for you suggestions, i will update in v2.


Zhang Qiao.

> 
>> +
>> +RT_RUNTIME_SHARE allows a cpu borrows rt-runtime from other cpus if it runs
> "... to borrow rt-runtime ..."
>> +out of its own rt-runtime.
>> +
>> +With this feature enabled, a rt-task probably hits 100% cpu usage and starves
> "... a rt-task may hit ... and can stall other per-cpu tasks ..."
>> +per-cpu tasks like kworkers, as a result, it may hang up the whole system.
> "..., which lead into system hang."
>> +Therefore, in order to avoid such exception, recommand to disable this feature
>> +by default unless you really know what you're up to.
> "Thus, it is advised to disable this feature by default to avoid aforementioned
> issue unless you know what you're doing."
> 
> Thanks.
> 
Re: [PATCH] sched/Documentation: Add RT_RUNTIME_SHARE documentation
Posted by Zhang Qiao 1 year, 10 months ago
Ping.

+cc Peter, Steven.

在 2024/1/31 20:32, Zhang Qiao 写道:
> RT_RUNTIME_SHARE is an important strategy for rt bandwidth, and
> we should document this sched feature.
> 
> Signed-off-by: Zhang Qiao <zhangqiao22@huawei.com>
> ---
>  Documentation/scheduler/sched-rt-group.rst | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/Documentation/scheduler/sched-rt-group.rst b/Documentation/scheduler/sched-rt-group.rst
> index d685609ed3d7..4d8eceb71f5e 100644
> --- a/Documentation/scheduler/sched-rt-group.rst
> +++ b/Documentation/scheduler/sched-rt-group.rst
> @@ -12,6 +12,7 @@ Real-Time group scheduling
>       2.1 System-wide settings
>       2.2 Default behaviour
>       2.3 Basis for grouping tasks
> +     2.4 RT_RUNTIME_SHARE sched feature
>     3. Future plans
>  
>  
> @@ -146,6 +147,16 @@ For now, this can be simplified to just the following (but see Future plans):
>  
>     \Sum_{i} runtime_{i} <= global_runtime
>  
> +2.4 RT_RUNTIME_SHARE sched feature
> +----------------------------
> +
> +RT_RUNTIME_SHARE allows a cpu borrows rt-runtime from other cpus if it runs
> +out of its own rt-runtime.
> +
> +With this feature enabled, a rt-task probably hits 100% cpu usage and starves
> +per-cpu tasks like kworkers, as a result, it may hang up the whole system.
> +Therefore, in order to avoid such exception, recommand to disable this feature
> +by default unless you really know what you're up to.
>  
>  3. Future plans
>  ===============
> 
Re: [PATCH] sched/Documentation: Add RT_RUNTIME_SHARE documentation
Posted by Jonathan Corbet 1 year, 11 months ago
Zhang Qiao <zhangqiao22@huawei.com> writes:

> RT_RUNTIME_SHARE is an important strategy for rt bandwidth, and
> we should document this sched feature.
>
> Signed-off-by: Zhang Qiao <zhangqiao22@huawei.com>
> ---
>  Documentation/scheduler/sched-rt-group.rst | 11 +++++++++++
>  1 file changed, 11 insertions(+)
>
> diff --git a/Documentation/scheduler/sched-rt-group.rst b/Documentation/scheduler/sched-rt-group.rst
> index d685609ed3d7..4d8eceb71f5e 100644
> --- a/Documentation/scheduler/sched-rt-group.rst
> +++ b/Documentation/scheduler/sched-rt-group.rst
> @@ -12,6 +12,7 @@ Real-Time group scheduling
>       2.1 System-wide settings
>       2.2 Default behaviour
>       2.3 Basis for grouping tasks
> +     2.4 RT_RUNTIME_SHARE sched feature
>     3. Future plans
>  
>  
> @@ -146,6 +147,16 @@ For now, this can be simplified to just the following (but see Future plans):
>  
>     \Sum_{i} runtime_{i} <= global_runtime
>  
> +2.4 RT_RUNTIME_SHARE sched feature
> +----------------------------
> +
> +RT_RUNTIME_SHARE allows a cpu borrows rt-runtime from other cpus if it runs
> +out of its own rt-runtime.
> +
> +With this feature enabled, a rt-task probably hits 100% cpu usage and starves
> +per-cpu tasks like kworkers, as a result, it may hang up the whole system.
> +Therefore, in order to avoid such exception, recommand to disable this feature
> +by default unless you really know what you're up to.

So this doesn't appear to have been picked up by anybody...should I
carry it in docs, or is there some other reason why it hasn't gone in?

Thanks,

jon
Re: [PATCH] sched/Documentation: Add RT_RUNTIME_SHARE documentation
Posted by Zhang Qiao 1 year, 10 months ago
hi, Jonathan,

在 2024/3/24 10:47, Zhang Qiao 写道:
>
> Zhang Qiao <zhangqiao22@huawei.com> writes:
>
>> RT_RUNTIME_SHARE is an important strategy for rt bandwidth, and
>> we should document this sched feature.
>>
>> Signed-off-by: Zhang Qiao <zhangqiao22@huawei.com>
>> ---
>>  Documentation/scheduler/sched-rt-group.rst | 11 +++++++++++
>>  1 file changed, 11 insertions(+)
>>
>> diff --git a/Documentation/scheduler/sched-rt-group.rst b/Documentation/scheduler/sched-rt-group.rst
>> index d685609ed3d7..4d8eceb71f5e 100644
>> --- a/Documentation/scheduler/sched-rt-group.rst
>> +++ b/Documentation/scheduler/sched-rt-group.rst
>> @@ -12,6 +12,7 @@ Real-Time group scheduling
>>       2.1 System-wide settings
>>       2.2 Default behaviour
>>       2.3 Basis for grouping tasks
>> +     2.4 RT_RUNTIME_SHARE sched feature
>>     3. Future plans
>>
>>
>> @@ -146,6 +147,16 @@ For now, this can be simplified to just the following (but see Future plans):
>>
>>     \Sum_{i} runtime_{i} <= global_runtime
>>
>> +2.4 RT_RUNTIME_SHARE sched feature
>> +----------------------------
>> +
>> +RT_RUNTIME_SHARE allows a cpu borrows rt-runtime from other cpus if it runs
>> +out of its own rt-runtime.
>> +
>> +With this feature enabled, a rt-task probably hits 100% cpu usage and starves
>> +per-cpu tasks like kworkers, as a result, it may hang up the whole system.
>> +Therefore, in order to avoid such exception, recommand to disable this feature
>> +by default unless you really know what you're up to.
>
> So this doesn't appear to have been picked up by anybody...should I
> carry it in docs, or is there some other reason why it hasn't gone in?
>

I'm not exactly sure why it wasn't added in docs before.

In my opinion, the RT_RUNTIME_SHARE sched features and sched_rt_period_us/sched_rt_runtime_us
parameters are both important parameters of rt bandwidth,it will affect the quota of rt tasks,
and improper configuration may cause the system hang up. So I think it's necessary to add it
in Documentation/scheduler/sched-rt-group.rst.

Thanks,

Qiao.

> Thanks,
>
> jon
> .
>