pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/41865?usp=email )
Change subject: gmstap_log: optimization: Add talloc_pool for transmitted messages
......................................................................
gmstap_log: optimization: Add talloc_pool for transmitted messages
In synchronous modes (blocking and non-blocking), set a pool size of 1
msgb. This way we avoid re-allocating the msgb with malloc/free
everytime a gsmtap_log msg is transmitted over the target, and instead
we allocate the msgb during creation of the target.
In asynchronous mode (workqueue), create a pool of 100 msgbs, which
should in general be enough to speedup more usual needs. If more than
100 msgbs are to be enqueued into the gsmtap_inst, then they will be
allocated as normal talloc contexts.
Since the struct log_target is public, it is currently not possible to
add new fields to it under "tgt_gsmtap" without breaking the ABI. Hence,
the ->output field, which is unused in this target, is reused to store
the pool object internally.
Change-Id: I19cdf09f21d856e8e3646de495ce7ae040195268
---
M src/core/logging_gsmtap.c
1 file changed, 25 insertions(+), 2 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/65/41865/1
diff --git a/src/core/logging_gsmtap.c b/src/core/logging_gsmtap.c
index 7775c27..ed810ed 100644
--- a/src/core/logging_gsmtap.c
+++ b/src/core/logging_gsmtap.c
@@ -50,6 +50,9 @@
#include <osmocom/core/thread.h>
#define GSMTAP_LOG_MAX_SIZE 4096
+#define GSMTAP_MSG_MAX_SIZE (sizeof(struct gsmtap_hdr) + \
+ sizeof(struct gsmtap_osmocore_log_hdr) + \
+ GSMTAP_LOG_MAX_SIZE)
static __thread uint32_t logging_gsmtap_tid;
@@ -70,8 +73,8 @@
/* get timestamp ASAP */
osmo_gettimeofday(&tv, NULL);
- msg = msgb_alloc(sizeof(*gh)+sizeof(*golh)+GSMTAP_LOG_MAX_SIZE,
- "GSMTAP logging");
+
+ msg = msgb_alloc_c((void *)target->output, GSMTAP_MSG_MAX_SIZE, "GSMTAP logging");
/* GSMTAP header */
gh = (struct gsmtap_hdr *) msgb_put(msg, sizeof(*gh));
@@ -139,6 +142,7 @@
{
struct log_target *target;
struct gsmtap_inst *gti;
+ size_t num_pool_objects;
target = log_target_create();
if (!target)
@@ -150,6 +154,25 @@
return NULL;
}
+ if (ofd_wq_mode) {
+ /* Allocate a talloc pool to avoid malloc() on the first 100
+ * concurrently queued msgbs (~400KB per gsmtap_log target).
+ * Once the talloc_pool is full, new normal talloc chunks will be used. */
+ num_pool_objects = 100;
+ } else {
+ /* When in synchronous mode (blocking & non-blocking), there's
+ * no queueing in gsmtap_sendmsg() so there's no need to have a
+ * pool with multiple msgbs. */
+ num_pool_objects = 1;
+ }
+ /* XXX: Abuse "output" field to store the talloc_pool, since it's not
+ * used in gsmtap log target. This can be moved to its own field once we
+ * make "sutrct log_target" private.
+ */
+ target->output = _talloc_pooled_object(target, 0, "gsmtap_log_msgb_pool",
+ num_pool_objects,
+ (sizeof(struct msgb) + GSMTAP_MSG_MAX_SIZE) * num_pool_objects);
+
if (add_sink)
gsmtap_source_add_sink(gti);
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/41865?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I19cdf09f21d856e8e3646de495ce7ae040195268
Gerrit-Change-Number: 41865
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/41864?usp=email )
Change subject: logging: Improve syslog log documentation
......................................................................
logging: Improve syslog log documentation
Change-Id: Ic3ab275fd1448e590a43251e226d690beee67004
---
M common/chapters/logging.adoc
1 file changed, 11 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals refs/changes/64/41864/1
diff --git a/common/chapters/logging.adoc b/common/chapters/logging.adoc
index 4cf2e15..2275d65 100644
--- a/common/chapters/logging.adoc
+++ b/common/chapters/logging.adoc
@@ -358,10 +358,20 @@
`logging filter`, `logging level` as well as `logging color`
and `logging timestamp`.
-NOTE: Syslog daemons will normally automatically prefix every message
+TIP: Syslog daemons will normally automatically prefix every message
with a time-stamp, so you should disable the libosmocore time-stamping
by issuing the `logging timestamp 0` command.
+NOTE: Typical syslog implementations (such as glibc's one) write to _AF_UNIX_
+socket in `/dev/log` in a synchronous blocking I/O fashion, which means
+transmitting a big amount of messages or text over it in a short amount of time
+(before syslogd has time to read it) could potentially block the osmocom
+program's thread issuing the logging. It is hence advised avoiding use of this
+log target to log notable amounts of information in any osmocom program driven
+by an event loop (which includes any program using a VTY), since it may block
+the thread for an unspecified (potentially long or even infinite) amount of time
+and hence prevent the event loop to run and process events.
+
==== Logging to systemd-journal
--
To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/41864?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: osmo-gsm-manuals
Gerrit-Branch: master
Gerrit-Change-Id: Ic3ab275fd1448e590a43251e226d690beee67004
Gerrit-Change-Number: 41864
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Attention is currently required from: fixeria, osmith, pespin.
Hello Jenkins Builder, fixeria, osmith,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmo-abis/+/41861?usp=email
to look at the new patch set (#2).
The following approvals got outdated and were removed:
Code-Review+1 by osmith, Verified+1 by Jenkins Builder
Change subject: ipaccess: Move bts/bsc specific line_update code to helper functions
......................................................................
ipaccess: Move bts/bsc specific line_update code to helper functions
This simplifies a bit that code path, specially since reader usually
only is interested at looking at only one of either bts or bsc.
Change-Id: If2c081128bf8f14537d8c2c7223de371454aee6b
---
M src/input/ipaccess.c
1 file changed, 126 insertions(+), 119 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/61/41861/2
--
To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/41861?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: libosmo-abis
Gerrit-Branch: master
Gerrit-Change-Id: If2c081128bf8f14537d8c2c7223de371454aee6b
Gerrit-Change-Number: 41861
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Attention is currently required from: osmith.
pespin has posted comments on this change by osmith. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41862?usp=email )
Change subject: bts: testenv: don't respawn if sched_rr fails
......................................................................
Patch Set 1:
(1 comment)
File bts/run_osmo_bts_trx.sh:
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41862/comment/a3618c7b_23f9… :
PS1, Line 5: if [ $EXIT_CODE != 0 ] && grep -q "SCHED_RR.*Operation not permitted" bts.log; then
I think all this can probably be checked with "ulimit -r" -ge 30 ?
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41862?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I7bc1414f95e4a54a40eb7c6f7b3d6c83ce3500c6
Gerrit-Change-Number: 41862
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-Comment-Date: Fri, 16 Jan 2026 15:20:05 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Attention is currently required from: osmith.
pespin has posted comments on this change by osmith. ( https://gerrit.osmocom.org/c/osmo-ci/+/41863?usp=email )
Change subject: ansible: allow jenkins users to set rtprio 30
......................................................................
Patch Set 1:
(1 comment)
Patchset:
PS1:
what about --ulimit rtprio=30 when calling podman/docker?
--
To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/41863?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Change-Id: Id79851b3e3a47d19773aa9bba134b9bf99dbecbb
Gerrit-Change-Number: 41863
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-Comment-Date: Fri, 16 Jan 2026 15:17:12 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/41863?usp=email )
Change subject: ansible: allow jenkins users to set rtprio 30
......................................................................
ansible: allow jenkins users to set rtprio 30
Create an /etc/security/limits.d file to allow the jenkins user to set
rtprio 30. This is required for running the ttcn3 bts testsuite through
testenv, as (unlike the previous approach with docker containers)
osmo-bts-trx runs without root rights there.
Change-Id: Id79851b3e3a47d19773aa9bba134b9bf99dbecbb
---
M ansible/roles/osmocom-jenkins-slave/tasks/ttcn3-slave.yml
1 file changed, 7 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/63/41863/1
diff --git a/ansible/roles/osmocom-jenkins-slave/tasks/ttcn3-slave.yml b/ansible/roles/osmocom-jenkins-slave/tasks/ttcn3-slave.yml
index 4237073..bc9e539 100644
--- a/ansible/roles/osmocom-jenkins-slave/tasks/ttcn3-slave.yml
+++ b/ansible/roles/osmocom-jenkins-slave/tasks/ttcn3-slave.yml
@@ -43,3 +43,10 @@
- libosmocore-utils
update_cache: yes
cache_valid_time: 3600
+
+# Running bts ttcn3 tests as user requires them to be able to set rtprio
+- name: allow jenkins user to set rtprio
+ ansible.builtin.lineinfile:
+ path: "/etc/security/limits.d/{{ jenkins_user }}_allow-rtprio.conf"
+ line: "{{ jenkins_user }} - rtprio 30"
+ create: yes
--
To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/41863?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Change-Id: Id79851b3e3a47d19773aa9bba134b9bf99dbecbb
Gerrit-Change-Number: 41863
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>