diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2020-08-18 12:58:36 +0200 |
---|---|---|
committer | Pau Espin Pedrol <pespin@sysmocom.de> | 2020-08-18 13:25:34 +0200 |
commit | ed18fa908c0614531c4e08d58377e20c54392dc9 (patch) | |
tree | c9947f15321a354d05907ab473c3c835226a4afc | |
parent | f464fff1736f7de6064047e52e8956088ba478e9 (diff) |
Support setting rt-prio and cpu-affinity mask through VTY
Change-Id: I33101aae3e2851febc335f6fbf96228eab7cf6df
Depends: libosmocore.git Change-Id If76a4bd2cc7b3c7adf5d84790a944d78be70e10a
Depends: osmo-gsm-masnuals.git Change-Id Icd75769ef630c3fa985fc5e2154d5521689cdd3c
Related: SYS#4986
-rw-r--r-- | TODO-RELEASE | 10 | ||||
-rw-r--r-- | configure.ac | 8 | ||||
-rw-r--r-- | debian/control | 2 | ||||
-rw-r--r-- | doc/manuals/osmohlr-usermanual.adoc | 3 | ||||
-rw-r--r-- | doc/manuals/vty/hlr_vty_reference.xml | 40 | ||||
-rw-r--r-- | src/hlr.c | 2 | ||||
-rw-r--r-- | tests/test_nodes.vty | 8 | ||||
-rw-r--r-- | tests/test_subscriber.vty | 1 |
8 files changed, 66 insertions, 8 deletions
diff --git a/TODO-RELEASE b/TODO-RELEASE new file mode 100644 index 0000000..810a346 --- /dev/null +++ b/TODO-RELEASE @@ -0,0 +1,10 @@ +# When cleaning up this file: bump API version in corresponding Makefile.am and rename corresponding debian/lib*.install +# according to https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html#Updating-version-info +# In short: +# LIBVERSION=c:r:a +# If the library source code has changed at all since the last update, then increment revision: c:r + 1:a. +# If any interfaces have been added, removed, or changed since the last update: c + 1:0:0. +# If any interfaces have been added since the last public release: c:r:a + 1. +# If any interfaces have been removed or changed since the last public release: c:r:0. +#library what description / commit summary line +osmo-hlr update osmo-gsm-manuals dependency to > 0.3.0 for vty_cpu_sched.adoc include diff --git a/configure.ac b/configure.ac index b920790..341e925 100644 --- a/configure.ac +++ b/configure.ac @@ -39,10 +39,10 @@ PKG_PROG_PKG_CONFIG([0.20]) PKG_CHECK_MODULES(TALLOC, [talloc >= 2.0.1]) -PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.3.0) -PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.3.0) +PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.4.0) +PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.4.0) PKG_CHECK_MODULES(LIBOSMOABIS, libosmoabis >= 0.6.0) PKG_CHECK_MODULES(SQLITE3, sqlite3) diff --git a/debian/control b/debian/control index c737d8d..68d789e 100644 --- a/debian/control +++ b/debian/control @@ -8,7 +8,7 @@ Build-Depends: debhelper (>= 9), dh-systemd (>= 1.5), autotools-dev, python3-minimal, - libosmocore-dev, + libosmocore-dev (>= 1.4.0), libosmo-abis-dev, libosmo-netif-dev, libsqlite3-dev, diff --git a/doc/manuals/osmohlr-usermanual.adoc b/doc/manuals/osmohlr-usermanual.adoc index 68db1a7..f651f06 100644 --- a/doc/manuals/osmohlr-usermanual.adoc +++ b/doc/manuals/osmohlr-usermanual.adoc @@ -28,6 +28,8 @@ include::{srcdir}/chapters/dgsm.adoc[] include::./common/chapters/gsup.adoc[] +include::./common/chapters/vty_cpu_sched.adoc[] + include::./common/chapters/port_numbers.adoc[] include::./common/chapters/bibliography.adoc[] @@ -35,4 +37,3 @@ include::./common/chapters/bibliography.adoc[] include::./common/chapters/glossary.adoc[] include::./common/chapters/gfdl.adoc[] - diff --git a/doc/manuals/vty/hlr_vty_reference.xml b/doc/manuals/vty/hlr_vty_reference.xml index 8e56f4b..7a9eb03 100644 --- a/doc/manuals/vty/hlr_vty_reference.xml +++ b/doc/manuals/vty/hlr_vty_reference.xml @@ -408,6 +408,13 @@ <param name='services' doc='List configured service addresses as sent to remote mslookup requests' /> </params> </command> + <command id='show cpu-sched threads'> + <params> + <param name='show' doc='Show running system information' /> + <param name='cpu-sched' doc='Show Sched section information' /> + <param name='threads' doc='Show information about running threads)' /> + </params> + </command> </node> <node id='enable'> <name>enable</name> @@ -935,6 +942,13 @@ <param name='services' doc='List configured service addresses as sent to remote mslookup requests' /> </params> </command> + <command id='show cpu-sched threads'> + <params> + <param name='show' doc='Show running system information' /> + <param name='cpu-sched' doc='Show Sched section information' /> + <param name='threads' doc='Show information about running threads)' /> + </params> + </command> </node> <node id='config'> <name>config</name> @@ -1181,6 +1195,11 @@ <param name='mslookup' doc='Configure Distributed GSM mslookup' /> </params> </command> + <command id='cpu-sched'> + <params> + <param name='cpu-sched' doc='Configure CPU Scheduler related settings' /> + </params> + </command> </node> <node id='config-log'> <name>config-log</name> @@ -1431,6 +1450,27 @@ </params> </command> </node> + <node id='config-cpu-sched'> + <name>config-cpu-sched</name> + <command id='policy rr <1-32>'> + <params> + <param name='policy' doc='Set the scheduling policy to use for the process' /> + <param name='rr' doc='Use the SCHED_RR real-time scheduling algorithm' /> + <param name='<1-32>' doc='Set the SCHED_RR real-time priority' /> + </params> + </command> + <command id='cpu-affinity (self|all|<0-4294967295>|THREADNAME) CPUHEXMASK [delay]'> + <params> + <param name='cpu-affinity' doc='Set CPU affinity mask on a (group of) thread(s)' /> + <param name='self' doc='Set CPU affinity mask on thread running the VTY' /> + <param name='all' doc='Set CPU affinity mask on all process' threads' /> + <param name='<0-4294967295>' doc='Set CPU affinity mask on a thread with specified PID' /> + <param name='THREADNAME' doc='Set CPU affinity mask on a thread with specified thread name' /> + <param name='CPUHEXMASK' doc='CPU affinity mask' /> + <param name='[delay]' doc='If set, delay applying the affinity mask now and let the app handle it at a later point' /> + </params> + </command> + </node> <node id='config-hlr'> <name>config-hlr</name> <command id='gsup'> @@ -31,6 +31,7 @@ #include <osmocom/vty/command.h> #include <osmocom/vty/telnet_interface.h> #include <osmocom/vty/ports.h> +#include <osmocom/vty/cpu_sched_vty.h> #include <osmocom/ctrl/control_vty.h> #include <osmocom/gsm/apn.h> #include <osmocom/gsm/gsm48_ie.h> @@ -732,6 +733,7 @@ int main(int argc, char **argv) handle_options(argc, argv); hlr_vty_init(); dgsm_vty_init(); + osmo_cpu_sched_vty_init(hlr_ctx); rc = vty_read_config_file(cmdline_opts.config_file, NULL); if (rc < 0) { diff --git a/tests/test_nodes.vty b/tests/test_nodes.vty index cf41207..d9971f7 100644 --- a/tests/test_nodes.vty +++ b/tests/test_nodes.vty @@ -16,6 +16,7 @@ OsmoHLR> list subscriber (imsi|msisdn|id|imei) IDENT show show subscriber (imsi|msisdn|id|imei) IDENT show mslookup services +... OsmoHLR> enable OsmoHLR# ? @@ -25,12 +26,15 @@ OsmoHLR# ? OsmoHLR# configure terminal OsmoHLR(config)# ? ... - hlr Configure the HLR - mslookup Configure Distributed GSM mslookup + hlr Configure the HLR + mslookup Configure Distributed GSM mslookup +... + OsmoHLR(config)# list ... hlr mslookup +... OsmoHLR(config)# hlr OsmoHLR(config-hlr)# ? diff --git a/tests/test_subscriber.vty b/tests/test_subscriber.vty index fb5da0e..4082700 100644 --- a/tests/test_subscriber.vty +++ b/tests/test_subscriber.vty @@ -14,6 +14,7 @@ OsmoHLR# list subscriber (imsi|msisdn|id|imei) IDENT update imei (none|IMEI) subscriber (imsi|msisdn|id|imei) IDENT update network-access-mode (none|cs|ps|cs+ps) show mslookup services +... OsmoHLR# subscriber? subscriber Subscriber management commands |