Attention is currently required from: pespin.
fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/30266 )
Change subject: paging: Store list of gsm_paging_request in bsc_subscr
......................................................................
Patch Set 3: Code-Review+1
(3 comments)
File include/osmocom/bsc/bsc_subscriber.h:
https://gerrit.osmocom.org/c/osmo-bsc/+/30266/comment/3175c358_9ed2c424
PS2, Line 57: gsm_paging_request
> In general yes, but for this one I preferred keeping it here with the subset of functions specifical […]
Fine with me.
File src/osmo-bsc/bsc_subscriber.c:
https://gerrit.osmocom.org/c/osmo-bsc/+/30266/comment/a88f956c_7ac7ba04
PS3, Line 270: it could be freed during put():
> I don't see the point in doing that here, that adds extra get/put which also triggers allocations, l […]
I just took a look at the implementation of _osmo_use_count_get_put(), and... you're right. The refcounting API involves quite a lot of operations, so it's better be avoided here then.
File src/osmo-bsc/paging.c:
https://gerrit.osmocom.org/c/osmo-bsc/+/30266/comment/b9b4c65a_735ee29f
PS3, Line 533: it could be freed during put():
> Same here, doing get(__func__) .. put(__func__) would be cleaner.
Cleaner, but worse in terms of performance (unfortunately) :/
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/30266
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I831d0fe01d7812c34500362b90f47cd65645b666
Gerrit-Change-Number: 30266
Gerrit-PatchSet: 3
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-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 22 Nov 2022 19:01:19 +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
Attention is currently required from: fixeria.
Hello Jenkins Builder, laforge, fixeria,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-bsc/+/30266
to look at the new patch set (#4).
Change subject: paging: Store list of gsm_paging_request in bsc_subscr
......................................................................
paging: Store list of gsm_paging_request in bsc_subscr
This allows havily decreasing the algorithmic cost of removing all
pending active paging requests for a given subscriber once it answers
on a given BTS.
Beforehand, the whole paging queue of all BTS were iterated. Now, only
the active requests for that subscriber are iterated.
Related: SYS#6200
Change-Id: I831d0fe01d7812c34500362b90f47cd65645b666
---
M include/osmocom/bsc/bsc_subscriber.h
M include/osmocom/bsc/paging.h
M src/osmo-bsc/bsc_subscriber.c
M src/osmo-bsc/paging.c
4 files changed, 82 insertions(+), 59 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/66/30266/4
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/30266
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I831d0fe01d7812c34500362b90f47cd65645b666
Gerrit-Change-Number: 30266
Gerrit-PatchSet: 4
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-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: fixeria.
Hello Jenkins Builder, laforge, fixeria,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-bsc/+/30267
to look at the new patch set (#4).
Change subject: paging: Use bsub->active_paging_requests to allow early loop termination adding paging_req
......................................................................
paging: Use bsub->active_paging_requests to allow early loop termination adding paging_req
Before this patch, the entire queue of paging_request had to be iterated
in order to find if the subscriber already had an active paging request
(discarding duplicates).
Now that bsc_subscriber holds a list of its active paging requests, it's
easier to look at its list to find out if it is already active on that
BTS.
As a result, there's no need to unconditionally iterate the whole list
and we can optimize the loop finding the spot to insert the new queue:
- First the potentially way smaller loop over
bsub->active_paging_requests is done
- Second, only if the first loop allowed, the bts->pending_requests is
iterated and potentially early terminated.
Related: SYS#6200
Change-Id: I7912275026c4d4983269c8870aa5565c93277c5a
---
M src/osmo-bsc/paging.c
1 file changed, 28 insertions(+), 17 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/67/30267/4
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/30267
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I7912275026c4d4983269c8870aa5565c93277c5a
Gerrit-Change-Number: 30267
Gerrit-PatchSet: 4
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-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: fixeria.
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/30277 )
Change subject: paging: Introduce BTS stat paging:request_queue_length
......................................................................
Patch Set 1:
(2 comments)
File src/osmo-bsc/paging.c:
https://gerrit.osmocom.org/c/osmo-bsc/+/30277/comment/6fc7ead0_e22eadd9
PS1, Line 92: to_be_deleted->bts
> Why not paging_bts->bts_statg? I see it's used above.
Because "paging_bts" is not a gsm_bts, but a struct gsm_bts_paging_state, so it would be paging_bts->bts->bts_statg. So it doesn't really matter, it's the same bts pointer in the end.
https://gerrit.osmocom.org/c/osmo-bsc/+/30277/comment/ef39122c_5f835b11
PS1, Line 470: bts
> This is also confusing: above you're decrementing pending_requests_len via 'bts_entry', but here you […]
Same, bts_entry is struct gsm_bts_paging_state, which is basically "bts->paging".
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/30277
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I6d296cdeba1392ef95fc31f6c04210c73f1b23e5
Gerrit-Change-Number: 30277
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 22 Nov 2022 19:00:27 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: comment
Attention is currently required from: fixeria.
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/30276 )
Change subject: paging: Rename stat t3113 -> paging:t3113
......................................................................
Patch Set 1:
(1 comment)
File src/osmo-bsc/bts.c:
https://gerrit.osmocom.org/c/osmo-bsc/+/30276/comment/81ac6554_b4a616e3
PS1, Line 1698: paging:t3113
> Does this break stuff for people monitoring the stats via some scripts?
This was probably added by me not so long ago, probably even not released. And the most probable user of this stat is aware of the set of changes, so I don't see a major problem.
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/30276
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Iede1b6f68df468c7a3b3bf5fce7f68bb08b78832
Gerrit-Change-Number: 30276
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 22 Nov 2022 18:57:43 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: comment
Attention is currently required from: fixeria.
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/30275 )
Change subject: paging: Use bsub->active_paging_requests to optimize cancelling based on reason
......................................................................
Patch Set 1:
(1 comment)
File src/osmo-bsc/paging.c:
https://gerrit.osmocom.org/c/osmo-bsc/+/30275/comment/8135cde7_7a9280e0
PS1, Line 584: it could be freed during put():
> See my comments to previous patches in this patchset (get/put).
See my answers in previous patches.
It's basically like using while (!llist_empty()) to free stuff in a list like we do in lots of code.
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/30275
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I225d5e08427c6bb9d92ce6a1dccb6ce36053eab5
Gerrit-Change-Number: 30275
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 22 Nov 2022 18:56:44 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: comment
Attention is currently required from: fixeria.
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/30267 )
Change subject: paging: Use bsub->active_paging_requests to allow early loop termination adding paging_req
......................................................................
Patch Set 3:
(1 comment)
File src/osmo-bsc/paging.c:
https://gerrit.osmocom.org/c/osmo-bsc/+/30267/comment/51f1adcc_7d623656
PS3, Line 431:
> unrelated ws change (adding newline)
I'm change the whole block of code, it's not really unrelated, just adapting it to the new block. It's not even the same comment, I splitted it.
It's true though that there's a space missing, I'll fix that.
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/30267
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I7912275026c4d4983269c8870aa5565c93277c5a
Gerrit-Change-Number: 30267
Gerrit-PatchSet: 3
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-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 22 Nov 2022 18:54:37 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: comment
Attention is currently required from: fixeria.
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/30266 )
Change subject: paging: Store list of gsm_paging_request in bsc_subscr
......................................................................
Patch Set 3:
(2 comments)
File include/osmocom/bsc/bsc_subscriber.h:
https://gerrit.osmocom.org/c/osmo-bsc/+/30266/comment/57d92ebd_799a3902
PS2, Line 57: gsm_paging_request
> IMO, it's better to have all forward declarations in one place (above).
In general yes, but for this one I preferred keeping it here with the subset of functions specifically working with paging_request. I doubt it will be needed in another set of APIs.
File src/osmo-bsc/bsc_subscriber.c:
https://gerrit.osmocom.org/c/osmo-bsc/+/30266/comment/dda7bcdc_81d07f7f
PS3, Line 270: it could be freed during put():
> JFYI: the usual way to avoid this is would be: […]
I don't see the point in doing that here, that adds extra get/put which also triggers allocations, logging, etc.
Why recounting if it's not needed, adding a specific refcount here of whatever type just makes the use_count of the struct more difficult to understand.
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/30266
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I831d0fe01d7812c34500362b90f47cd65645b666
Gerrit-Change-Number: 30266
Gerrit-PatchSet: 3
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-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 22 Nov 2022 18:51:19 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: comment