Hello Jenkins Builder, laforge,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-mgw/+/26190
to look at the new patch set (#13).
Change subject: rework the counters and stats so they work with the threaded mgw
......................................................................
rework the counters and stats so they work with the threaded mgw
Main thread has a one-second timer cb that aggregrates and updates the
rate counters, as well as the stats, by reading the actual atomic
counters that are being updated by the threads.
Change-Id: Iaab3fc262649cb5fb886f0297a60286bde1ffeb0
---
M include/osmocom/mgcp/mgcp_conn.h
M include/osmocom/mgcp/mgcp_network.h
M include/osmocom/mgcp/mgcp_ratectr.h
M include/osmocom/mgcp/mgcp_trunk.h
M src/libosmo-mgcp/mgcp_conn.c
M src/libosmo-mgcp/mgcp_e1.c
M src/libosmo-mgcp/mgcp_endp.c
M src/libosmo-mgcp/mgcp_network.c
M src/libosmo-mgcp/mgcp_protocol.c
M src/libosmo-mgcp/mgcp_ratectr.c
M src/libosmo-mgcp/mgcp_stat.c
M src/libosmo-mgcp/mgcp_threads.c
M src/libosmo-mgcp/mgcp_threads_vty.c
M src/libosmo-mgcp/mgcp_trunk.c
M src/libosmo-mgcp/mgcp_vty.c
M tests/mgcp/mgcp_test.c
16 files changed, 270 insertions(+), 252 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/90/26190/13
--
To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/26190
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-mgw
Gerrit-Branch: master
Gerrit-Change-Id: Iaab3fc262649cb5fb886f0297a60286bde1ffeb0
Gerrit-Change-Number: 26190
Gerrit-PatchSet: 13
Gerrit-Owner: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-CC: dexter <pmaier(a)sysmocom.de>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Hello Jenkins Builder, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-mgw/+/25432
to look at the new patch set (#38).
Change subject: Add multithreading for the virtual trunk
......................................................................
Add multithreading for the virtual trunk
The idea is rather easy: do not disturb the code too much, so each
thread operates on a mgcp_trunk sub-trunk that has
- (it is) a mgcp_trunk structure just like the parent trunk
- some thread-specific information in struct per_thread_info
* this exists in the sub-trunk, as a SINGLE pointer (this_thread_info)
to the threads own info
- a different endpoint begin offset
- and different number of endpoint
- a private copy (!) of the mgcp_config structure that allows selective
updates of config settings during runtime using the vty
The thread-trunks doen't really know that they are not a full trunk, as
far as actual "mgw-operation" is concerned
Most of the other changes deal with the (t)alloc contexts to ensure
proper parent contexts that are not mixed between threads, the only
talloc that is threadsafe is the null context with disabled null
tracking, which is plain old malloc.
A parent trunk is configured using the vty/config as usual, so it also
has all the endpoints, but those are just not being used by anything,
all of the structs just exist to allow parsing and configuring, but the
updates are then also sent to the trunk threads. It contains the
thread_info array which has one per_thread_info struct entry for every
trunkthread of this trunk.
Communication betwen the main threads and the trunk thread(s) work by
sending messages through
- the mgcp msg queue for mgcp commands, which the thread then answers by
writing to the socket, the queue back to the main thread is currently
unused.
- the cfg/vty command queue for vty commands and vty settings, that are
parsed and filtered by the threads own functions, the return queue to
the main thread is only being used to block it during vty show commands
that print in threads.
MGCP message handling is therefore split between a quick parsing in the
main thread to determine which endpoint (-> thread) should handle the
command and wrapping the command in a interthread queue buffer before
submitting it to one (or multiple) threads, and the usual processing
within the sub-trunk threads.
Multithreading is by default disabled unless "number threads" in the
config file exists.
Multithreading is disabled for e1 trunks due to the complexity of the
code and a lack of test coverage that reliably proves the absence of
threading related issues, so e1 is still being handled by the main
thread. Multithreading is also disabled for all trunks if osmux is
configured, also due to complexity and the fact that one osmux trunk is
limited to 256 calls due to the CID anyway, which can be handled within
one (main) thread.
That being said the code is ready to enable threads for all of that,
it's just not possible to prove that it will not implode at some point..
Depends: libosmocore Id8405099e6b316c2e14fb0c9b3c5e80a68a91277
Change-Id: I31be8253600c8af0a43c967d0d128f5ba7b16260
---
M include/osmocom/mgcp/Makefile.am
M include/osmocom/mgcp/mgcp.h
M include/osmocom/mgcp/mgcp_endp.h
A include/osmocom/mgcp/mgcp_threads.h
M include/osmocom/mgcp/mgcp_trunk.h
M src/libosmo-mgcp/Makefile.am
M src/libosmo-mgcp/mgcp_e1.c
M src/libosmo-mgcp/mgcp_endp.c
M src/libosmo-mgcp/mgcp_protocol.c
A src/libosmo-mgcp/mgcp_threads.c
A src/libosmo-mgcp/mgcp_threads_vty.c
M src/libosmo-mgcp/mgcp_trunk.c
M src/libosmo-mgcp/mgcp_vty.c
M src/osmo-mgw/mgw_main.c
M tests/mgcp/mgcp_test.c
15 files changed, 1,161 insertions(+), 353 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/32/25432/38
--
To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25432
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-mgw
Gerrit-Branch: master
Gerrit-Change-Id: I31be8253600c8af0a43c967d0d128f5ba7b16260
Gerrit-Change-Number: 25432
Gerrit-PatchSet: 38
Gerrit-Owner: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: dexter <pmaier(a)sysmocom.de>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: newpatchset
Attention is currently required from: pespin.
fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/27934 )
Change subject: bts: Make sure paging timers are deleted when struct gsm_bts is freed
......................................................................
Patch Set 1: Code-Review+1
(1 comment)
File src/osmo-bsc/bts.c:
https://gerrit.osmocom.org/c/osmo-bsc/+/27934/comment/3dea8ef9_f3eb73f6
PS1, Line 152: paging_destructor
> I think it really makes sense to have this function here, since there's an _init() counterpart, and […]
Ack
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/27934
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: If8dffc948a3a9d8bdd9237f644e7f10f41c64853
Gerrit-Change-Number: 27934
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Mon, 25 Apr 2022 20:20:57 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Comment-In-Reply-To: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: comment
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/27932 )
Change subject: bts: Use uint8_t instead of int for ccch_load_ind_thresh
......................................................................
bts: Use uint8_t instead of int for ccch_load_ind_thresh
The range used for this variable is 0-100, so no need to use a signed
integer. Morever, uint8_it is enough for the range.
Change-Id: I863d9531baf5308b45a2ebe60266ba02d1041cc3
---
M include/osmocom/bsc/bts.h
1 file changed, 1 insertion(+), 1 deletion(-)
Approvals:
Jenkins Builder: Verified
laforge: Looks good to me, approved
fixeria: Looks good to me, but someone else must approve
diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h
index 95d9b05..4c1127b 100644
--- a/include/osmocom/bsc/bts.h
+++ b/include/osmocom/bsc/bts.h
@@ -472,7 +472,7 @@
} gprs;
/* threshold (in percent) when BTS shall send CCCH LOAD IND */
- int ccch_load_ind_thresh;
+ uint8_t ccch_load_ind_thresh;
/* RACH NM values */
int rach_b_thresh;
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/27932
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I863d9531baf5308b45a2ebe60266ba02d1041cc3
Gerrit-Change-Number: 27932
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
Attention is currently required from: fixeria.
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/27934 )
Change subject: bts: Make sure paging timers are deleted when struct gsm_bts is freed
......................................................................
Patch Set 1:
(1 comment)
File src/osmo-bsc/bts.c:
https://gerrit.osmocom.org/c/osmo-bsc/+/27934/comment/0c37d9d4_25e1ac6c
PS1, Line 152: paging_destructor
> Is it worth having a function just for two osmo_timer_del() calls? Are you planning to reuse it? Or […]
I think it really makes sense to have this function here, since there's an _init() counterpart, and those timers are always setup and scheduled in this file.
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/27934
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: If8dffc948a3a9d8bdd9237f644e7f10f41c64853
Gerrit-Change-Number: 27934
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Mon, 25 Apr 2022 20:17:10 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: comment
Hello Jenkins Builder, laforge, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27604
to look at the new patch set (#7).
Change subject: tcpdump capture script: check permissions to fix running in a netns
......................................................................
tcpdump capture script: check permissions to fix running in a netns
This might be all caps (=ep), or a list of all caps.
Change-Id: I75f7af6cc67e96ffb7b002591f7f7d1da9b5a51d
---
M ttcn3-tcpdump-start.sh
1 file changed, 13 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/04/27604/7
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27604
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I75f7af6cc67e96ffb7b002591f7f7d1da9b5a51d
Gerrit-Change-Number: 27604
Gerrit-PatchSet: 7
Gerrit-Owner: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Reviewer: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newpatchset