diff --git a/images/src/png/kernel_tasks.png b/images/src/png/kernel_tasks.png deleted file mode 100644 index e31bd77..0000000 Binary files a/images/src/png/kernel_tasks.png and /dev/null differ diff --git a/xml/MAIN.SLERT.xml b/xml/MAIN.SLERT.xml index dd21618..229a4ec 100644 --- a/xml/MAIN.SLERT.xml +++ b/xml/MAIN.SLERT.xml @@ -1,18 +1,14 @@ - - - + %entities; ]> - + + &slert; Documentation - + &productname; &productnameshort; &productnumber; @@ -26,12 +22,30 @@ https://github.com/SUSE/doc-slert/edit/main/xml/ no - + + + 2023-11-09 + + + + + + Quick Start Guides + + + + 2023-11-09 + + + + + + diff --git a/xml/article_kernel_tasks.xml b/xml/article_kernel_tasks.xml index 8be000e..feb574b 100644 --- a/xml/article_kernel_tasks.xml +++ b/xml/article_kernel_tasks.xml @@ -32,6 +32,14 @@ https://github.com/SUSE/doc-slert/edit/main/xml/ no + + + 2022-11-09 + + + + +
Processes and task states diff --git a/xml/common_copyright_gfdl.xml b/xml/common_copyright_gfdl.xml index 87c20f5..86ae036 100644 --- a/xml/common_copyright_gfdl.xml +++ b/xml/common_copyright_gfdl.xml @@ -1,9 +1,9 @@ - - + %entities; ]> + + + + 2024-01-11 + + + + + + Copyright © 2006– SUSE LLC and contributors. All rights reserved. diff --git a/xml/common_legal.xml b/xml/common_legal.xml index 021e9d2..b041368 100644 --- a/xml/common_legal.xml +++ b/xml/common_legal.xml @@ -1,12 +1,20 @@ - - + %entities; ]> + GNU Licenses - + + + 2021-07-20 + + + + + + This appendix contains the GNU Free Documentation License version 1.2. diff --git a/xml/slert_cpuset_manipulation.xml b/xml/slert_cpuset_manipulation.xml index 189ebcf..dfe3877 100644 --- a/xml/slert_cpuset_manipulation.xml +++ b/xml/slert_cpuset_manipulation.xml @@ -1,11 +1,20 @@ - - + %entities; ]> + Full-featured cpuset manipulation commands + + + 2022-11-25 + + + + + + While basic shielding as described above is useful and a common use model for cset, there comes a time when more functionality @@ -29,7 +38,7 @@ The basic syntax of set for cpuset creation is: &prompt.user;cset set -c 1-3 -s my_cpuset1 -cset: --> created cpuset "my_cpuset1" +cset: --> created cpuset "my_cpuset1" This creates a cpuset named my_cpuset1 with a CPUSPEC of CPU1, CPU2 and CPU3. The CPUSPEC is the same concept as described in @@ -48,7 +57,7 @@ cset: --> created cpuset "my_cpuset1" omit CPU2), then issue the following command. &prompt.user;cset set -c 1,3 -s my_cpuset1 -cset: --> modified cpuset "my_cpuset +cset: --> modified cpuset "my_cpuset cset will then adjust the CPUs that are assigned to the my_cpuset1 set to only use CPU1 and CPU3. @@ -58,7 +67,7 @@ cset: --> modified cpuset "my_cpuset example: &prompt.user;cset set -s my_cpuset1 -n super_set -cset: --> renaming "/cpusets/my_cpuset1" to "super_set" +cset: --> renaming "/cpusets/my_cpuset1" to "super_set" Renames the cpuset called my_cpuset1 to super_set. @@ -68,8 +77,8 @@ cset: --> renaming "/cpusets/my_cpuset1" to "super_set" follows. &prompt.user;cset set -d super_set -cset: --> processing cpuset "super_set", moving 0 tasks to parent "/"... -cset: --> deleting cpuset "/super_set" +cset: --> processing cpuset "super_set", moving 0 tasks to parent "/"... +cset: --> deleting cpuset "/super_set" cset: done This command destroys the newly created cpuset called @@ -97,11 +106,11 @@ cset: done example: &prompt.user;cset set -c 1,3 -s top_set -cset: --> created cpuset "top_set" +cset: --> created cpuset "top_set" &prompt.user;cset set -c 3 -s /top_set/sub_set -cset: --> created cpuset "/top_set/sub_set" +cset: --> created cpuset "/top_set/sub_set" These commands created two cpusets: top_set and sub_set. The top_set uses CPU1 and @@ -112,7 +121,7 @@ cset: --> created cpuset "/top_set/sub_set" ask you to use the path. For example: &prompt.user;cset set -c 1,3 -s sub_set -cset: --> modified cpuset "sub_set +cset: --> modified cpuset "sub_set This command adds CPU1 to the sub_set cpuset for its use. Note that using the path in this case is optional. @@ -310,7 +319,7 @@ USER PID PPID SPPr TASK NAME cset: "two" cpuset of CPUSPEC(2) with 0 tasks running &prompt.user;cset proc -s two -e bash -cset: --> last message, executed args into cpuset "/two", new pid is: 20955 +cset: --> last message, executed args into cpuset "/two", new pid is: 20955 &prompt.user;cset proc -l -s two cset: "two" cpuset of CPUSPEC(2) with 2 tasks running @@ -373,8 +382,8 @@ root 21147 21118 Roth python ./cset proc -l two executed, the result may be puzzling. For example: &prompt.user;cset proc -s two -e blah-blah -cset: --> last message, executed args into cpuset "/two", new pid is: 21655 -cset: **> [Errno 2] No such file or directory +cset: --> last message, executed args into cpuset "/two", new pid is: 21655 +cset: **> [Errno 2] No such file or directory The result is no new process even though a new PID is output. The reason for the message is of course that the cset process @@ -645,11 +654,11 @@ three 3 n 0 n 10 0 /three &prompt.user;cset set -c 0 -s system -cset: --> created cpuset "system" +cset: --> created cpuset "system" &prompt.user;cset set -c 1-3 -s user -cset: --> created cpuset "user" +cset: --> created cpuset "user" &prompt.user;cset set -l @@ -688,7 +697,7 @@ system 0 n 0 n 187 0 /system proc subcommand as described above. If you also want to eliminate kernel threads from root that could interfere with user workload (to achieve a form of interrupt - shielding on a real time Linux kernel, for example), you should look + shielding on a real time Linux kernel, for example), you should look at isolcpus= kernel command line argument. @@ -781,23 +790,23 @@ root 0-3 y 0 y 344 0 / &prompt.user;cset set -c 0-3 prio_all -cset: --> created cpuset "prio_all" +cset: --> created cpuset "prio_all" &prompt.user;cset set -c 1-3 /prio_all/prio_high -cset: --> created cpuset "/prio_all/prio_high" +cset: --> created cpuset "/prio_all/prio_high" &prompt.user;cset set -c 2-3 /prio_all/prio_high/prio_med -cset: --> created cpuset "/prio_all/prio_high/prio_med" +cset: --> created cpuset "/prio_all/prio_high/prio_med" &prompt.user;cset set -c 3 /prio_all/prio_high/prio_med/prio_low -cset: --> created cpuset "/prio_all/prio_high/prio_med/prio_low" +cset: --> created cpuset "/prio_all/prio_high/prio_med/prio_low" &prompt.user;cset set -c 0 system -cset: --> created cpuset "system" +cset: --> created cpuset "system" &prompt.user;cset set -l -r diff --git a/xml/slert_gettinghelp.xml b/xml/slert_gettinghelp.xml index 6ca2888..0340200 100644 --- a/xml/slert_gettinghelp.xml +++ b/xml/slert_gettinghelp.xml @@ -1,12 +1,20 @@ - - + %entities; ]> + What to do if there are problems - + + + 2022-11-25 + + + + + + If you are using cset on a supported operating system such as &sls; &productnumber; or &slerte; &productnumber;, diff --git a/xml/slert_intro.xml b/xml/slert_intro.xml index 85b035d..b1ff30b 100644 --- a/xml/slert_intro.xml +++ b/xml/slert_intro.xml @@ -1,11 +1,20 @@ - - + %entities; ]> + Introduction + + + 2022-11-25 + + + + + + cset and cgroup version The cset utility supports cpuset controller only diff --git a/xml/slert_shielding_model.xml b/xml/slert_shielding_model.xml index dad28c0..f96a664 100644 --- a/xml/slert_shielding_model.xml +++ b/xml/slert_shielding_model.xml @@ -1,15 +1,20 @@ - - + %entities; ]> - + The basic shielding model - + + + 2022-11-25 + + + + + + Although any setup of &cpuset;s can really be described as shielding, there is one prevalent shielding model in @@ -107,7 +112,7 @@ processing, issue the following command. &prompt.user;cset shield -c 1-3 -cset: --> activating shielding: +cset: --> activating shielding: cset: moving 176 tasks from root into system cpuset... [==================================================]% cset: "system" cpuset of CPUSPEC(0) with 176 tasks running @@ -137,7 +142,7 @@ cset: "user" cpuset of CPUSPEC(1-3) with 0 tasks running the current status of the shield again, issue this command: &prompt.user;cset shield -cset: --> shielding system active with +cset: --> shielding system active with cset: "system" cpuset of CPUSPEC(0) with 176 tasks running cset: "user" cpuset of CPUSPEC(1-3) with 0 tasks running @@ -216,7 +221,7 @@ root 32653 25222 Roth python ./cset shield --unshield -v access to all resources on the system. For example: &prompt.user;cset shield --reset -cset: --> deactivating/reseting shielding +cset: --> deactivating/reseting shielding cset: moving 0 tasks from "/user" user set to root set... cset: moving 250 tasks from "/system" system set to root set... [==================================================]% @@ -259,7 +264,7 @@ cset: done &prompt.user;cset shield -e bash -cset: --> last message, executed args into cpuset "/user", new pid is: 13300 +cset: --> last message, executed args into cpuset "/user", new pid is: 13300 &prompt.user;cset shield -s -v @@ -328,7 +333,7 @@ cset: done and options for execution as follows. &prompt.user;cset shield --user=&exampleuser; --group=users -e bash -cset: --> last message, executed args into cpuset "/user", new pid is: 14212 +cset: --> last message, executed args into cpuset "/user", new pid is: 14212 &prompt.user;cset shield -s -v @@ -417,7 +422,7 @@ USER PID PPID SPPr TASK NAME &prompt.user;cset shield -s -p 22010-22020 -cset: --> shielding following pidspec: 22010-22020 +cset: --> shielding following pidspec: 22010-22020 cset: done @@ -431,7 +436,7 @@ cset: done &prompt.user;cset shield -u -p $$ -cset: --> unshielding following pidspec: 22018 +cset: --> unshielding following pidspec: 22018 cset: done diff --git a/xml/slert_systemd_shielding.xml b/xml/slert_systemd_shielding.xml index 64bea85..f8d8676 100644 --- a/xml/slert_systemd_shielding.xml +++ b/xml/slert_systemd_shielding.xml @@ -1,15 +1,20 @@ - - + %entities; ]> - + Shielding with systemd - + + + 2022-11-25 + + + + + + systemd has native support for the cpuset controller since &productname; 15 SP4. Shielding the sensitive workload can be achieved with the proper configuration of respective units. @@ -34,8 +39,7 @@ We must configure all of these units not to stand in the way of our main workload. For instance with following - + drop-in file(s): &prompt.root;cat /etc/systemd/system/init.scope.d/40-shielding.conf diff --git a/xml/slert_usingshortcuts.xml b/xml/slert_usingshortcuts.xml index 8ffb7d3..f6d4541 100644 --- a/xml/slert_usingshortcuts.xml +++ b/xml/slert_usingshortcuts.xml @@ -1,11 +1,20 @@ - - + %entities; ]> + Using shortcuts + + + 2022-01-17 + + + + + + The commands listed in the previous sections always used all the required options. However, cset does have a shortcut facility @@ -251,12 +260,12 @@ cset se -d myset yourset ourset ---> destroys cpusets: myset, yourset and ourset +--> destroys cpusets: myset, yourset and ourset cset se -l prio_high prio_med prio_low ---> lists only cpusets prio_high, prio_med and prio_low ---> the -l is optional in this case since list is default +--> lists only cpusets prio_high, prio_med and prio_low +--> the -l is optional in this case since list is default <command>proc</command> subcommand shortcuts