Attention is currently required from: neels.
lynxis lazus has posted comments on this change by lynxis lazus. ( https://gerrit.osmocom.org/c/osmo-msc/+/38491?usp=email )
Change subject: WIP: vlr_lu_fsm: terminate the FSM instead of dispatching a signal to the parent
......................................................................
Patch Set 7:
(1 comment)
This change is ready for review.
File src/libvlr/vlr_lu_fsm.c:
https://gerrit.osmocom.org/c/osmo-msc/+/38491/comment/db6e4900_8a22c95c?usp… :
PS6, Line 823: fi->proc.parent_term_event = lfp->parent_event_failure;
> (just an idea, when allocating the FSM instance, maybe set the fi->proc. […]
_vlr_loc_update() is already doing it for the failure event.
--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/38491?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: I27fd1048f85363797b43808d2061ce28be6da81b
Gerrit-Change-Number: 38491
Gerrit-PatchSet: 7
Gerrit-Owner: lynxis lazus <lynxis(a)fe80.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: daniel <dwillmann(a)sysmocom.de>
Gerrit-CC: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Comment-Date: Sat, 15 Feb 2025 22:47:10 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: neels <nhofmeyr(a)sysmocom.de>
Attention is currently required from: daniel, laforge, neels, pespin.
lynxis lazus has posted comments on this change by lynxis lazus. ( https://gerrit.osmocom.org/c/osmo-msc/+/38490?usp=email )
Change subject: vlr: add PS support
......................................................................
Patch Set 6:
(5 comments)
File src/libvlr/vlr_lu_fsm.c:
https://gerrit.osmocom.org/c/osmo-msc/+/38490/comment/ce929dee_04b1d31b?usp… :
PS5, Line 587: return 1;
> Agree
Done
https://gerrit.osmocom.org/c/osmo-msc/+/38490/comment/2d4161d8_74395881?usp… :
PS5, Line 598: break;
> yeah makes sense having an ASSERT which should hit indicating some timeout was forgotten to be added […]
Done
https://gerrit.osmocom.org/c/osmo-msc/+/38490/comment/f88cac26_765b45a5?usp… :
PS5, Line 1570: {
> (would be nice to have a short one-liner comment to indicate what this does / why it needs to go in […]
I replaced the preterm and moved it into the timer_cb.
https://gerrit.osmocom.org/c/osmo-msc/+/38490/comment/9fa5cb4d_a97ea383?usp… :
PS5, Line 1586: gsm48_cause = GSM48_REJECT_NETWORK_FAILURE;
> (add "break;" in the end)
Done
https://gerrit.osmocom.org/c/osmo-msc/+/38490/comment/ea27908f_124cd4d0?usp… :
PS5, Line 1742:
> (two blank lines, unusual for osmocom)
Done
--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/38490?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: Ie9ffeb140c9d354b3a0f4822e2619f623235add0
Gerrit-Change-Number: 38490
Gerrit-PatchSet: 6
Gerrit-Owner: lynxis lazus <lynxis(a)fe80.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: daniel <dwillmann(a)sysmocom.de>
Gerrit-Comment-Date: Sat, 15 Feb 2025 22:39:38 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: neels <nhofmeyr(a)sysmocom.de>
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Comment-In-Reply-To: lynxis lazus <lynxis(a)fe80.eu>
Attention is currently required from: neels.
lynxis lazus has posted comments on this change by lynxis lazus. ( https://gerrit.osmocom.org/c/osmo-msc/+/38489?usp=email )
Change subject: vlr: when receiving imsi detach, purge the subscriber towards HLR
......................................................................
Patch Set 6:
(1 comment)
File src/libvlr/vlr.c:
https://gerrit.osmocom.org/c/osmo-msc/+/38489/comment/b274bdaf_7c8847ba?usp… :
PS5, Line 1523: rc |= vlr_subscr_detach(vsub);
> (for me personally, '|=' on int type indicates some sort of bitmask logic; here it seems to be boole […]
I made vlr_subscr_detach() a void, because it doesn't has an error path.
--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/38489?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: I9c2569c45e69b422ce26050b682e6eb26c1c2625
Gerrit-Change-Number: 38489
Gerrit-PatchSet: 6
Gerrit-Owner: lynxis lazus <lynxis(a)fe80.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Comment-Date: Sat, 15 Feb 2025 22:11:57 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: neels <nhofmeyr(a)sysmocom.de>
Attention is currently required from: lynxis lazus.
kirr has posted comments on this change by kirr. ( https://gerrit.osmocom.org/c/osmocom-bb/+/39534?usp=email )
Change subject: trx_toolkit/transceiver: Do not scan tx_queue twice on tx path
......................................................................
Patch Set 1:
(1 comment)
File src/target/trx_toolkit/transceiver.py:
https://gerrit.osmocom.org/c/osmocom-bb/+/39534/comment/acc194fa_2837d7c6?u… :
PS1, Line 315: self._tx_queue_lock.acquire()
Thanks for feedback.
> The strange thing is, with %timedif what you've used with ipython, it is much slower.
When you are measuring with cProfile, what actually happens is that python execution is instrumented and the profiler gets to run every Nth instruction. Measuring overall time with profiler thus measures significantly adjusted code and the profiler usage can affect the result significantly if it is used for microbenchmark link this.
When you are measuring with %timeit of IPython, the code only gets executed for many times without any instrumentation. It thus reflects that actual execution time that we get during regular usage more closely.
Here is indirect proof that profiling is instrumenting the code when running it:
```diff
diff --git a/bench.py.orig b/bench.py
index 4cce94c..92f44ee 100644
--- a/bench.py.orig
+++ b/bench.py
@@ -46,6 +46,7 @@ def testrun(size):
lcomp = cProfile.Profile(timeunit=0.000_000_001)
lcomp.run('do_diff(testvec)')
lcomp_stat = lcomp.getstats()
+ lcomp.print_stats()
forloop = cProfile.Profile(timeunit=0.000_000_001)
forloop.run('do_forloop(testvec)')
forloop_stat = forloop.getstats()
@@ -54,6 +55,6 @@ def testrun(size):
print(f"{size}: forloop {forloop_stat[0].totaltime}")
testrun(1024)
-testrun(100)
-testrun(10)
-testrun(1)
+#testrun(100)
+#testrun(10)
+#testrun(1)
```
```console
(osmo.venv) kirr@deca:~/src/osmocom/t$ python bench.py
7 function calls in 0.000 seconds
Ordered by: standard name
ncalls tottime percall cumtime percall filename:lineno(function)
1 0.000 0.000 0.000 0.000 <string>:1(<module>)
1 0.000 0.000 0.000 0.000 bench.py:20(do_diff)
1 0.000 0.000 0.000 0.000 bench.py:21(<listcomp>)
1 0.000 0.000 0.000 0.000 bench.py:22(<listcomp>)
1 0.000 0.000 0.000 0.000 bench.py:23(<listcomp>)
1 0.000 0.000 0.000 0.000 {built-in method builtins.exec}
1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}
1024: lcomp 0.000209867
1024: forloop 0.00011744300000000001
```
the `.getstats()` low-level method, that you used in measurements, is exactly the same method that is used by the profiler to build statistics out of lsprof samples:
https://github.com/python/cpython/blob/v3.11.9-9-g1b0e63c81b5/Lib/cProfile.…https://github.com/python/cpython/blob/v3.11.9-9-g1b0e63c81b5/Lib/cProfile.…
So in my view the benchmarks speak for the "forloop" variant to be better.
--------
Besides that I would not go to microoptimize the code on python level, because in my view here the actual difference in between both versions is not that high and it does not contribute so much compared to other changes, like not doing tx work from under lock, and not doing useless copies. From that point of view the "forloop" variant also looks better because it is more logical to scan the queue only once extracting all the things at once.
By the way it actually turned out that this part of the code does not occupy lot of time, at least not with 4 trx. And if it will start to occupy lots of time it is better to change tx_queue to priority queue instead of still linearly scanning it all the time.
--
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/39534?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: I225c44c4cc327b6786efce96d1278c6ec68fbc25
Gerrit-Change-Number: 39534
Gerrit-PatchSet: 1
Gerrit-Owner: kirr <kirr(a)nexedi.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-CC: lynxis lazus <lynxis(a)fe80.eu>
Gerrit-CC: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: lynxis lazus <lynxis(a)fe80.eu>
Gerrit-Comment-Date: Sat, 15 Feb 2025 20:18:57 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: lynxis lazus <lynxis(a)fe80.eu>
Attention is currently required from: fixeria.
laforge has posted comments on this change by fixeria. ( https://gerrit.osmocom.org/c/erlang/logger_gsmtap/+/39553?usp=email )
Change subject: Create GSMTAP sink to avoid ICMP errors
......................................................................
Patch Set 1: Code-Review+1
(1 comment)
Patchset:
PS1:
might be worth making the sink creation optional. But then, failure is ignored anyway, so not critical.
--
To view, visit https://gerrit.osmocom.org/c/erlang/logger_gsmtap/+/39553?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: erlang/logger_gsmtap
Gerrit-Branch: master
Gerrit-Change-Id: I1b103bb16d2e9f0bc6296a2feda138364ed640e2
Gerrit-Change-Number: 39553
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Sat, 15 Feb 2025 19:47:57 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Attention is currently required from: fixeria.
laforge has posted comments on this change by fixeria. ( https://gerrit.osmocom.org/c/erlang/osmo-s1gw/+/39556?usp=email )
Change subject: s1ap_proxy: catch exceptions in handle_pdu/2
......................................................................
Patch Set 1: Code-Review+1
--
To view, visit https://gerrit.osmocom.org/c/erlang/osmo-s1gw/+/39556?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: erlang/osmo-s1gw
Gerrit-Branch: master
Gerrit-Change-Id: Ib1e6674f5b85557866c7beaea710ea903e4eeaca
Gerrit-Change-Number: 39556
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Sat, 15 Feb 2025 19:44:23 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes