Change in osmo-mgw[master]: add a lock-free bounded spsc interthread queue

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

pespin gerrit-no-reply at lists.osmocom.org
Fri Sep 10 12:11:28 UTC 2021


pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25431 )

Change subject: add a lock-free bounded spsc interthread queue
......................................................................


Patch Set 12:

(8 comments)

Please again, explain in the commit description why is this needed and how will it be used within osmo-mgw.
It may be useful to move this kind of generic queue into libomoscore?

https://gerrit.osmocom.org/c/osmo-mgw/+/25431/12//COMMIT_MSG 
Commit Message:

https://gerrit.osmocom.org/c/osmo-mgw/+/25431/12//COMMIT_MSG@7 
PS12, Line 7: add a lock-free bounded spsc interthread queue
spsc?


https://gerrit.osmocom.org/c/osmo-mgw/+/25431/12/include/osmocom/mgcp/mgcp_threads_queue.h 
File include/osmocom/mgcp/mgcp_threads_queue.h:

https://gerrit.osmocom.org/c/osmo-mgw/+/25431/12/include/osmocom/mgcp/mgcp_threads_queue.h@26 
PS12, Line 26: struct spsc {
Write "Single Producer Single Consumer" somewhere please.


https://gerrit.osmocom.org/c/osmo-mgw/+/25431/12/include/osmocom/mgcp/mgcp_threads_queue.h@35 
PS12, Line 35: 	void *buf;
some documentation for the fields would be great too.


https://gerrit.osmocom.org/c/osmo-mgw/+/25431/12/include/osmocom/mgcp/mgcp_threads_queue.h@39 
PS12, Line 39: struct qchan {
Same here.


https://gerrit.osmocom.org/c/osmo-mgw/+/25431/12/src/libosmo-mgcp/mgcp_threads_queue.c 
File src/libosmo-mgcp/mgcp_threads_queue.c:

https://gerrit.osmocom.org/c/osmo-mgw/+/25431/12/src/libosmo-mgcp/mgcp_threads_queue.c@52 
PS12, Line 52: 	struct spsc *q = calloc(1, sizeof(struct spsc) + sizeof(uintptr_t) * count);
talloc_zero?


https://gerrit.osmocom.org/c/osmo-mgw/+/25431/12/src/libosmo-mgcp/mgcp_threads_queue.c@59 
PS12, Line 59: 	q->buf = calloc(count, size_per_buf);
talloc?


https://gerrit.osmocom.org/c/osmo-mgw/+/25431/12/src/libosmo-mgcp/mgcp_threads_queue.c@117 
PS12, Line 117: bool spsc_pop(struct spsc *q, void *elem)
All this file needs a lots more documentation in general.


https://gerrit.osmocom.org/c/osmo-mgw/+/25431/12/src/libosmo-mgcp/mgcp_threads_queue.c@139 
PS12, Line 139: 	struct qchan q; // = calloc(1, sizeof(struct qchan));
this calloc comment can be dropped?



-- 
To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25431
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-mgw
Gerrit-Branch: master
Gerrit-Change-Id: I4f17042baf76d086ce6b20eb99402dc64c22c657
Gerrit-Change-Number: 25431
Gerrit-PatchSet: 12
Gerrit-Owner: Hoernchen <ewild at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin <pespin at sysmocom.de>
Gerrit-Comment-Date: Fri, 10 Sep 2021 12:11:28 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210910/0f285ef3/attachment.htm>


More information about the gerrit-log mailing list