2024-01-31 12:32:37

by Zhang Qiao

[permalink] [raw]
Subject: [PATCH] sched/Documentation: Add RT_RUNTIME_SHARE documentation

RT_RUNTIME_SHARE is an important strategy for rt bandwidth, and
we should document this sched feature.

Signed-off-by: Zhang Qiao <[email protected]>
---
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



2024-02-28 22:44:25

by Jonathan Corbet

[permalink] [raw]
Subject: Re: [PATCH] sched/Documentation: Add RT_RUNTIME_SHARE documentation

Zhang Qiao <[email protected]> writes:

> RT_RUNTIME_SHARE is an important strategy for rt bandwidth, and
> we should document this sched feature.
>
> Signed-off-by: Zhang Qiao <[email protected]>
> ---
> 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

2024-03-24 03:54:36

by Zhang Qiao

[permalink] [raw]
Subject: Re: [PATCH] sched/Documentation: Add RT_RUNTIME_SHARE documentation

hi, Jonathan,

在 2024/3/24 10:47, Zhang Qiao 写道:
>
> Zhang Qiao <[email protected]> writes:
>
>> RT_RUNTIME_SHARE is an important strategy for rt bandwidth, and
>> we should document this sched feature.
>>
>> Signed-off-by: Zhang Qiao <[email protected]>
>> ---
>> 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
> .
>

2024-04-09 07:25:52

by Zhang Qiao

[permalink] [raw]
Subject: Re: [PATCH] sched/Documentation: Add RT_RUNTIME_SHARE documentation

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 <[email protected]>
> ---
> 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
> ===============
>

2024-04-12 02:51:40

by Bagas Sanjaya

[permalink] [raw]
Subject: Re: [PATCH] sched/Documentation: Add RT_RUNTIME_SHARE documentation

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


Attachments:
(No filename) (1.73 kB)
signature.asc (235.00 B)
Download all attachments