Attention is currently required from: osmith, pespin.
Hello Jenkins Builder, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-ci/+/39319?usp=email
to look at the new patch set (#3).
The following approvals got outdated and were removed:
Code-Review+1 by pespin, Verified+1 by Jenkins Builder
Change subject: ansible/setup-obs-worker: install lxc<5.0.0
......................................................................
ansible/setup-obs-worker: install lxc<5.0.0
Make sure we install a version that works with obs-build.
Related: OS#6186#note-50
Change-Id: Ied668ccd4a2079e6539ffd27aa9ce7b736c8ba31
---
M ansible/roles/osmocom-obs-worker/tasks/obs.yml
1 file changed, 3 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/19/39319/3
--
To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/39319?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Change-Id: Ied668ccd4a2079e6539ffd27aa9ce7b736c8ba31
Gerrit-Change-Number: 39319
Gerrit-PatchSet: 3
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/39336?usp=email )
Change subject: ansible: obs worker: set worker cache size to 50G
......................................................................
ansible: obs worker: set worker cache size to 50G
Change the worker cache size from 100G to 50G, to get more free space.
Change-Id: Ifa234674ccb8b2a84298fccf6f0aed5c7ddf850e
---
M ansible/roles/osmocom-obs-worker/templates/obs-server
1 file changed, 1 insertion(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/36/39336/1
diff --git a/ansible/roles/osmocom-obs-worker/templates/obs-server b/ansible/roles/osmocom-obs-worker/templates/obs-server
index f042cd1..240966d 100644
--- a/ansible/roles/osmocom-obs-worker/templates/obs-server
+++ b/ansible/roles/osmocom-obs-worker/templates/obs-server
@@ -186,7 +186,7 @@
#
# Set the size to 50% of the maximum usable size of this partition
#
-OBS_CACHE_SIZE="100000"
+OBS_CACHE_SIZE="50000"
## Path: Applications/OBS
## Description: Defines the nice level of running workers
--
To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/39336?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: Ifa234674ccb8b2a84298fccf6f0aed5c7ddf850e
Gerrit-Change-Number: 39336
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
kirr has posted comments on this change by kirr. ( https://gerrit.osmocom.org/c/osmocom-bb/+/39328?usp=email )
Change subject: [WIP] Revert "Revert "trx_toolkit/transceiver.py: implement the transmit burst queue""
......................................................................
Patch Set 1:
(1 comment)
File src/target/trx_toolkit/transceiver.py:
https://gerrit.osmocom.org/c/osmocom-bb/+/39328/comment/fbf3c95c_b06dc378?u… :
PS1, Line 134: a L12TRX message on the TRXD (data) inteface, so it gets queued by
> 'inteface' may be misspelled - perhaps 'interface'?
Well, I just did the revert, the misspelling was in the original patch. I think OSMOCOM culture requires that typo to be fixed in another separate patch.
--
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/39328?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: I41291708effdd2c767be680fff22ffbd9a56815e
Gerrit-Change-Number: 39328
Gerrit-PatchSet: 1
Gerrit-Owner: kirr <kirr(a)nexedi.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-CC: osmith <osmith(a)sysmocom.de>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 15 Jan 2025 11:39:59 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Attention is currently required from: fixeria, laforge, osmith.
kirr has posted comments on this change by kirr. ( https://gerrit.osmocom.org/c/osmocom-bb/+/39327?usp=email )
Change subject: trx_toolkit/clck_gen.py: Fix clock generator not to accumulate timing error
......................................................................
Patch Set 2:
(2 comments)
Patchset:
PS1:
> > So is it maybe a problem with permissions or do I miss something? […]
Thanks!
File src/target/trx_toolkit/clck_gen.py:
https://gerrit.osmocom.org/c/osmocom-bb/+/39327/comment/bc41348c_3c838cf5?u… :
PS1, Line 98: δt
> Sorry for the nit-pick, but I'm not entirely sure we ant to start introducing non-latin-characters a […]
Thanks for feedback, Harald.
Well, if you ask for it and since I think it would not be appropriate to push my preferences here, let's indeed change it and avoid greek characters. I changed δt -> dt in the code, and δTxxx -> dΤxxx and μs -> us in the testsuite. Hope it is ok, but please let me know if you really prefer it to be named delta_t and delta_Txxx and I will rework it further.
Just for the reference: On Debian GNU/Linux it is easy to input such non-latin symbols with e.g. Fcitx ( https://wiki.debian.org/I18n/Fcitx5 ). Personally I selected 3 languages to be available there (my native, English and Greek) and enjoy ability to use greek letters in texts and code since in many areas of physics, math, applied math and associated programming it is more natural to use greek letters as we were taught at school and universities. Having it being easy to input and uniformly well displayed, as UTF-8 and unicode are widespread and common this days, personally I find using greek letters to be ok and improving readability and signal to noise ratio everywhere. The "delta" spelling comes from the days when people really wanted to represent "δ" but could not, due to e.g. not being able to input it, and/or due to not being able to use non-ASCII characters because of programming language constraints back then. Isn't it? But nowdays those constraints are lifted and using "delta" instead of "δ" is just an inertia, I think.
Anyway I shared all that just for the reference and if you really prefer to use the "delta" style, so be it that way here.
Thanks, once again, for feedback,
Kirill
--
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/39327?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: I928801422c9af80c368261f617b91d7ecfedbabf
Gerrit-Change-Number: 39327
Gerrit-PatchSet: 2
Gerrit-Owner: kirr <kirr(a)nexedi.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-CC: osmith <osmith(a)sysmocom.de>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 15 Jan 2025 11:31:26 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: osmith <osmith(a)sysmocom.de>
Comment-In-Reply-To: kirr <kirr(a)nexedi.com>
Comment-In-Reply-To: laforge <laforge(a)osmocom.org>
Comment-In-Reply-To: fixeria <vyanitskiy(a)sysmocom.de>
Attention is currently required from: fixeria, kirr.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmocom-bb/+/39327?usp=email
to look at the new patch set (#2).
The following approvals got outdated and were removed:
Verified+1 by Jenkins Builder
Change subject: trx_toolkit/clck_gen.py: Fix clock generator not to accumulate timing error
......................................................................
trx_toolkit/clck_gen.py: Fix clock generator not to accumulate timing error
CLCKGen currently works as follows:
sleep(ctr_interval)
some work
sleep(ctr_interval)
some work
sleep(ctr_interval)
some work
...
The intent here is to do some work at timestamps that are multiple of ctr_interval,
however the implementation does not match the intent, because
1) sleep(ctr_interval) is not guaranteed by the OS to be ideal, so there
will always be some jitter in actually slept time without any
guarantee that the error will fluctuate over zero without accumulating.
2) "some work" takes some time to run and that time adds again and again
to the current time when next sleep(ctr_interval) starts. As the
result even if sleep implementation would be ideal, then n'th sleep
would start not at
t₀ + n·ctr_interval
but instead at
t₀ + n·ctr_interval + Σ1..n t(work_i)
where trailing Σ term adds over and over as the timing error which can
be seen as e.g. increasing trend of received GSM clock jitter in
https://osmocom.org/issues/4658#note-10 .
The thinko in the clock generator logic is not so much visible if "some
work" takes only a bit of time or is done infrequently. That was
actually the case before fake_trx added tx queueing in 6e1c82d2
(trx_toolkit/transceiver.py: implement the transmit burst queue) because
before that commit some work was only "send IND CLOCK data every ~ 100th
tick". However after 6e1c82d2 the work was adjusted to do linear scan of
tx queue over and over at every tick which amplified error accumulation
and highlighted the problem.
With that tx queuing in fake_trx was disabled in d4ed09df (Revert
"trx_toolkit/transceiver.py: implement the transmit burst queue") with
the rationale being most likely, as https://osmocom.org/issues/4658#note-10 says,
Unfortunately, Python is not fast enough to handle the queues in time.
Despite the relatively low CPU usage, fake_trx.py fails to scheduler
everything during one TDMA frame period. This causes some of our TTCN-3
test cases to fail.
...
Most likely, the problem is that Python's threading.Event is not
accurate enough. Running with SCHED_RR does not change anything.
However with the above analysis we can see that it is the logic in
CLCKgen that needs fixing, not threading.Event . For the reference
threading.Event indeed used dumb timeout implementation on Python2:
https://github.com/python/cpython/blob/2.7-0-g8d21aa21f2c/Lib/threading.py#…https://github.com/python/cpython/blob/2.7-0-g8d21aa21f2c/Lib/threading.py#…
but on Python3 it essentially uses plain Lock.acquire(timeout) which,
under the hood, uses PyThread_acquire_lock_timed - a plain wrapper over
sem_timedwait:
https://github.com/python/cpython/blob/v3.11.9-9-g1b0e63c81b5/Lib/threading…https://github.com/python/cpython/blob/v3.11.9-9-g1b0e63c81b5/Modules/_thre…https://github.com/python/cpython/blob/v3.11.9-9-g1b0e63c81b5/Python/thread…
so at least with py3 there should be no question about threading.Event .
-> Fix timing error accumulation by reworking the clock generator loop
to compensate observed jitter, caused by OS noise and the work
taking time, by adjusting to-sleep δt each tick accordingly.
This is generally good for correctness and will allow us to reinstate
tx queueing in fake_trx.
Without the fix added test fails as
FAIL: test_no_timing_error_accumulated (test_clck_gen.CLCKGen_Test.test_no_timing_error_accumulated)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/kirr/src/osmocom/bb/src/target/trx_toolkit/test_clck_gen.py", line 60, in test_no_timing_error_accumulated
self.assertTrue((ntick+1)*clck.ctr_interval > δT, "tick #%d: time overrun by %dµs total" %
AssertionError: False is not true : tick #200: time overrun by 572478µs total
Change-Id: I928801422c9af80c368261f617b91d7ecfedbabf
Related: OS#4658, OS#6672
---
M src/target/trx_toolkit/clck_gen.py
A src/target/trx_toolkit/test_clck_gen.py
2 files changed, 87 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/27/39327/2
--
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/39327?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: I928801422c9af80c368261f617b91d7ecfedbabf
Gerrit-Change-Number: 39327
Gerrit-PatchSet: 2
Gerrit-Owner: kirr <kirr(a)nexedi.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-CC: osmith <osmith(a)sysmocom.de>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: kirr <kirr(a)nexedi.com>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Attention is currently required from: laforge, osmith.
Hello laforge,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-ci/+/39334?usp=email
to look at the new patch set (#2).
The following approvals got outdated and were removed:
Code-Review+1 by laforge
Change subject: jobs/master-builds: add ot290-gsmtap
......................................................................
jobs/master-builds: add ot290-gsmtap
This job didn't have a jenkins job builder config yet and ran without
docker on label=osmocom-master-debian10, which we are removing.
Related: https://jenkins.osmocom.org/jenkins/job/master-ot290-gsmtap/
Related: OS#6186
Change-Id: Iec1a07896dc2817f7671463ddba438b727f41b5d
---
M jobs/master-builds.yml
1 file changed, 4 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/34/39334/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/39334?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Change-Id: Iec1a07896dc2817f7671463ddba438b727f41b5d
Gerrit-Change-Number: 39334
Gerrit-PatchSet: 2
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Attention is currently required from: osmith.
laforge has posted comments on this change by osmith. ( https://gerrit.osmocom.org/c/osmo-ci/+/39334?usp=email )
Change subject: jobs/master-builds: add ot290-gsmtap
......................................................................
Patch Set 1: Code-Review+1
--
To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/39334?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: Iec1a07896dc2817f7671463ddba438b727f41b5d
Gerrit-Change-Number: 39334
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 15 Jan 2025 10:42:48 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes