<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-pcu/+/19697">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  laforge: Looks good to me, approved
  Jenkins Builder: Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Support setting rt-prio and cpu-affinity mask through VTY<br><br>Change-Id: I92bfabd57fab28b23bd4494a577373106be1daec<br>Depends: libosmocore.git Change-Id If76a4bd2cc7b3c7adf5d84790a944d78be70e10a<br>Depends: osmo-gsm-masnuals.git Change-Id Icd75769ef630c3fa985fc5e2154d5521689cdd3c<br>Related: SYS#4986<br>---<br>A TODO-RELEASE<br>M configure.ac<br>M debian/control<br>M doc/manuals/osmopcu-usermanual.adoc<br>M doc/manuals/vty/osmo-pcu_vty_reference.xml<br>M src/pcu_main.cpp<br>6 files changed, 59 insertions(+), 5 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/TODO-RELEASE b/TODO-RELEASE</span><br><span>new file mode 100644</span><br><span>index 0000000..17c6a34</span><br><span>--- /dev/null</span><br><span>+++ b/TODO-RELEASE</span><br><span>@@ -0,0 +1,10 @@</span><br><span style="color: hsl(120, 100%, 40%);">+# When cleaning up this file: bump API version in corresponding Makefile.am and rename corresponding debian/lib*.install</span><br><span style="color: hsl(120, 100%, 40%);">+# according to https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html#Updating-version-info</span><br><span style="color: hsl(120, 100%, 40%);">+# In short:</span><br><span style="color: hsl(120, 100%, 40%);">+# LIBVERSION=c:r:a</span><br><span style="color: hsl(120, 100%, 40%);">+# If the library source code has changed at all since the last update, then increment revision: c:r + 1:a.</span><br><span style="color: hsl(120, 100%, 40%);">+# If any interfaces have been added, removed, or changed since the last update: c + 1:0:0.</span><br><span style="color: hsl(120, 100%, 40%);">+# If any interfaces have been added since the last public release: c:r:a + 1.</span><br><span style="color: hsl(120, 100%, 40%);">+# If any interfaces have been removed or changed since the last public release: c:r:0.</span><br><span style="color: hsl(120, 100%, 40%);">+#library        what            description / commit summary line</span><br><span style="color: hsl(120, 100%, 40%);">+osmo-pcu        update osmo-gsm-manuals dependency to > 0.3.0 for vty_cpu_sched.adoc include</span><br><span>diff --git a/configure.ac b/configure.ac</span><br><span>index 3f403b8..2e99a15 100644</span><br><span>--- a/configure.ac</span><br><span>+++ b/configure.ac</span><br><span>@@ -82,10 +82,10 @@</span><br><span> fi</span><br><span> </span><br><span> dnl checks for libraries</span><br><span style="color: hsl(0, 100%, 40%);">-PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.3.0)</span><br><span style="color: hsl(0, 100%, 40%);">-PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.3.0)</span><br><span style="color: hsl(0, 100%, 40%);">-PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.3.0)</span><br><span style="color: hsl(0, 100%, 40%);">-PKG_CHECK_MODULES(LIBOSMOGB, libosmogb >= 1.3.0)</span><br><span style="color: hsl(120, 100%, 40%);">+PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.4.0)</span><br><span style="color: hsl(120, 100%, 40%);">+PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.4.0)</span><br><span style="color: hsl(120, 100%, 40%);">+PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.4.0)</span><br><span style="color: hsl(120, 100%, 40%);">+PKG_CHECK_MODULES(LIBOSMOGB, libosmogb >= 1.4.0)</span><br><span> </span><br><span> AC_MSG_CHECKING([whether to enable direct DSP access for PDCH of sysmocom-bts])</span><br><span> AC_ARG_ENABLE(sysmocom-dsp,</span><br><span>diff --git a/debian/control b/debian/control</span><br><span>index b9dad0c..0d69a9a 100644</span><br><span>--- a/debian/control</span><br><span>+++ b/debian/control</span><br><span>@@ -7,7 +7,7 @@</span><br><span>                dh-systemd (>= 1.5),</span><br><span>                autotools-dev,</span><br><span>                pkg-config,</span><br><span style="color: hsl(0, 100%, 40%);">-               libosmocore-dev (>= 1.3.0),</span><br><span style="color: hsl(120, 100%, 40%);">+               libosmocore-dev (>= 1.4.0),</span><br><span>                osmo-gsm-manuals-dev</span><br><span> Standards-Version: 3.9.8</span><br><span> Homepage: http://osmocom.org/projects/osmopcu</span><br><span>diff --git a/doc/manuals/osmopcu-usermanual.adoc b/doc/manuals/osmopcu-usermanual.adoc</span><br><span>index bf25cfd..e202e33 100644</span><br><span>--- a/doc/manuals/osmopcu-usermanual.adoc</span><br><span>+++ b/doc/manuals/osmopcu-usermanual.adoc</span><br><span>@@ -21,6 +21,8 @@</span><br><span> </span><br><span> include::./common/chapters/gb.adoc[]</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+include::./common/chapters/vty_cpu_sched.adoc[]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> include::./common/chapters/port_numbers.adoc[]</span><br><span> </span><br><span> include::./common/chapters/bibliography.adoc[]</span><br><span>diff --git a/doc/manuals/vty/osmo-pcu_vty_reference.xml b/doc/manuals/vty/osmo-pcu_vty_reference.xml</span><br><span>index 7b33cbb..afb9d47 100644</span><br><span>--- a/doc/manuals/vty/osmo-pcu_vty_reference.xml</span><br><span>+++ b/doc/manuals/vty/osmo-pcu_vty_reference.xml</span><br><span>@@ -440,6 +440,13 @@</span><br><span>         <param name='[TNNNN]' doc='T- or X-timer-number -- 3GPP compliant timer number of the format &apos;1234&apos; or &apos;T1234&apos; or &apos;t1234&apos;; Osmocom-specific timer number of the format: &apos;X1234&apos; or &apos;x1234&apos;.' /></span><br><span>       </params></span><br><span>     </command></span><br><span style="color: hsl(120, 100%, 40%);">+    <command id='show cpu-sched threads'></span><br><span style="color: hsl(120, 100%, 40%);">+      <params></span><br><span style="color: hsl(120, 100%, 40%);">+        <param name='show' doc='Show running system information' /></span><br><span style="color: hsl(120, 100%, 40%);">+        <param name='cpu-sched' doc='Show Sched section information' /></span><br><span style="color: hsl(120, 100%, 40%);">+        <param name='threads' doc='Show information about running threads)' /></span><br><span style="color: hsl(120, 100%, 40%);">+      </params></span><br><span style="color: hsl(120, 100%, 40%);">+    </command></span><br><span>     <command id='show ns'></span><br><span>       <params></span><br><span>         <param name='show' doc='Show running system information' /></span><br><span>@@ -912,6 +919,13 @@</span><br><span>         <param name='[TNNNN]' doc='T- or X-timer-number -- 3GPP compliant timer number of the format &apos;1234&apos; or &apos;T1234&apos; or &apos;t1234&apos;; Osmocom-specific timer number of the format: &apos;X1234&apos; or &apos;x1234&apos;.' /></span><br><span>       </params></span><br><span>     </command></span><br><span style="color: hsl(120, 100%, 40%);">+    <command id='show cpu-sched threads'></span><br><span style="color: hsl(120, 100%, 40%);">+      <params></span><br><span style="color: hsl(120, 100%, 40%);">+        <param name='show' doc='Show running system information' /></span><br><span style="color: hsl(120, 100%, 40%);">+        <param name='cpu-sched' doc='Show Sched section information' /></span><br><span style="color: hsl(120, 100%, 40%);">+        <param name='threads' doc='Show information about running threads)' /></span><br><span style="color: hsl(120, 100%, 40%);">+      </params></span><br><span style="color: hsl(120, 100%, 40%);">+    </command></span><br><span>     <command id='show ns'></span><br><span>       <params></span><br><span>         <param name='show' doc='Show running system information' /></span><br><span>@@ -1199,6 +1213,11 @@</span><br><span>         <param name='pcu' doc='BTS specific configure' /></span><br><span>       </params></span><br><span>     </command></span><br><span style="color: hsl(120, 100%, 40%);">+    <command id='cpu-sched'></span><br><span style="color: hsl(120, 100%, 40%);">+      <params></span><br><span style="color: hsl(120, 100%, 40%);">+        <param name='cpu-sched' doc='Configure CPU Scheduler related settings' /></span><br><span style="color: hsl(120, 100%, 40%);">+      </params></span><br><span style="color: hsl(120, 100%, 40%);">+    </command></span><br><span>     <command id='ns'></span><br><span>       <params></span><br><span>         <param name='ns' doc='Configure the GPRS Network Service' /></span><br><span>@@ -1586,6 +1605,27 @@</span><br><span>       </params></span><br><span>     </command></span><br><span>   </node></span><br><span style="color: hsl(120, 100%, 40%);">+  <node id='config-cpu-sched'></span><br><span style="color: hsl(120, 100%, 40%);">+    <name>config-cpu-sched</name></span><br><span style="color: hsl(120, 100%, 40%);">+    <command id='policy rr &lt;1-32&gt;'></span><br><span style="color: hsl(120, 100%, 40%);">+      <params></span><br><span style="color: hsl(120, 100%, 40%);">+        <param name='policy' doc='Set the scheduling policy to use for the process' /></span><br><span style="color: hsl(120, 100%, 40%);">+        <param name='rr' doc='Use the SCHED_RR real-time scheduling algorithm' /></span><br><span style="color: hsl(120, 100%, 40%);">+        <param name='&lt;1-32&gt;' doc='Set the SCHED_RR real-time priority' /></span><br><span style="color: hsl(120, 100%, 40%);">+      </params></span><br><span style="color: hsl(120, 100%, 40%);">+    </command></span><br><span style="color: hsl(120, 100%, 40%);">+    <command id='cpu-affinity (self|all|&lt;0-4294967295&gt;|THREADNAME) CPUHEXMASK [delay]'></span><br><span style="color: hsl(120, 100%, 40%);">+      <params></span><br><span style="color: hsl(120, 100%, 40%);">+        <param name='cpu-affinity' doc='Set CPU affinity mask on a (group of) thread(s)' /></span><br><span style="color: hsl(120, 100%, 40%);">+        <param name='self' doc='Set CPU affinity mask on thread running the VTY' /></span><br><span style="color: hsl(120, 100%, 40%);">+        <param name='all' doc='Set CPU affinity mask on all process&apos; threads' /></span><br><span style="color: hsl(120, 100%, 40%);">+        <param name='&lt;0-4294967295&gt;' doc='Set CPU affinity mask on a thread with specified PID' /></span><br><span style="color: hsl(120, 100%, 40%);">+        <param name='THREADNAME' doc='Set CPU affinity mask on a thread with specified thread name' /></span><br><span style="color: hsl(120, 100%, 40%);">+        <param name='CPUHEXMASK' doc='CPU affinity mask' /></span><br><span style="color: hsl(120, 100%, 40%);">+        <param name='[delay]' doc='If set, delay applying the affinity mask now and let the app handle it at a later point' /></span><br><span style="color: hsl(120, 100%, 40%);">+      </params></span><br><span style="color: hsl(120, 100%, 40%);">+    </command></span><br><span style="color: hsl(120, 100%, 40%);">+  </node></span><br><span>   <node id='config-pcu'></span><br><span>     <name>config-pcu</name></span><br><span>     <command id='egprs only'></span><br><span>diff --git a/src/pcu_main.cpp b/src/pcu_main.cpp</span><br><span>index 3912204..c5ff3dc 100644</span><br><span>--- a/src/pcu_main.cpp</span><br><span>+++ b/src/pcu_main.cpp</span><br><span>@@ -43,6 +43,7 @@</span><br><span> #include <osmocom/vty/command.h></span><br><span> #include <osmocom/vty/vty.h></span><br><span> #include <osmocom/vty/ports.h></span><br><span style="color: hsl(120, 100%, 40%);">+#include <osmocom/vty/cpu_sched_vty.h></span><br><span> #include <osmocom/core/rate_ctr.h></span><br><span> #include <osmocom/core/select.h></span><br><span> #include <osmocom/core/application.h></span><br><span>@@ -272,6 +273,7 @@</span><br><span>    pcu_vty_info.tall_ctx = tall_pcu_ctx;</span><br><span>        vty_init(&pcu_vty_info);</span><br><span>         pcu_vty_init();</span><br><span style="color: hsl(120, 100%, 40%);">+       osmo_cpu_sched_vty_init(tall_pcu_ctx);</span><br><span> </span><br><span>   handle_options(argc, argv);</span><br><span>  if ((!!spoof_mcc) + (!!spoof_mnc) == 1) {</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-pcu/+/19697">change 19697</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-pcu/+/19697"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-pcu </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I92bfabd57fab28b23bd4494a577373106be1daec </div>
<div style="display:none"> Gerrit-Change-Number: 19697 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>