pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/27897 )
Change subject: RFC: Prioritize paging requests for new subsribers over retransmitions ......................................................................
RFC: Prioritize paging requests for new subsribers over retransmitions
Currently, the Tx paging_req queue at the BSC always has new paging requests adding at the end (as long as the subsriver is not already in the queue). That means, if the queue is full of retransmitions, it will take a long time until the first paging_req is sent towards that subscriber. The rationale here is that it makes sense to attempt the first paging ASAP, and give lower prio to paging_req retransmitions, since it may well be that those other subsribers are not available/reachable and won't answer.
Related: SYS#5922 Change-Id: I1ae6d97152c458247bc538233b97c2d245196359 --- M src/osmo-bsc/paging.c 1 file changed, 7 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/97/27897/1
diff --git a/src/osmo-bsc/paging.c b/src/osmo-bsc/paging.c index c290848..a3d9bd4 100644 --- a/src/osmo-bsc/paging.c +++ b/src/osmo-bsc/paging.c @@ -352,6 +352,13 @@ rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_PAGING_ALREADY)); return -EEXIST; } + /* TODO: add new paging request (if not existing already) before first + paging request which ->attempts>0. This way we give better priority + to new subscribers rather than those which didn't answer at first. + This can be done in O(n) since we anyway need to traverse the entire + list to see if the subscriber is already being paged. During + traversal, store the last req with attempts==0. If none found, + add_tail(). */
LOG_PAGING_BTS(params, bts, DPAG, LOGL_DEBUG, "Start paging\n"); params->bsub->active_paging_requests++;