aboutsummaryrefslogtreecommitdiffstats
path: root/include/osmocom/bsc/paging.h
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2022-11-22 14:02:48 +0100
committerPau Espin Pedrol <pespin@sysmocom.de>2022-11-22 19:53:17 +0100
commit70a1d60a836431eb64367a0d08b95d43a42ea37c (patch)
treec56cd143b4129fc1dd97f04f319b6464790baae2 /include/osmocom/bsc/paging.h
parent27096140117767c46a702e439b7ae97459fb79e9 (diff)
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
Diffstat (limited to 'include/osmocom/bsc/paging.h')
-rw-r--r--include/osmocom/bsc/paging.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/include/osmocom/bsc/paging.h b/include/osmocom/bsc/paging.h
index bd84f248b..ccee2d4d2 100644
--- a/include/osmocom/bsc/paging.h
+++ b/include/osmocom/bsc/paging.h
@@ -69,9 +69,10 @@ struct bsc_paging_params {
struct gsm_paging_request {
/* list_head for list of all paging requests */
struct llist_head entry;
- /* the subscriber which we're paging. Later gsm_paging_request
- * should probably become a part of the bsc_subsrc struct? */
+ /* the subscriber which we're paging. This struct is included using
+ * bsub_entry field in list bsub->active_paging_requests */
struct bsc_subscr *bsub;
+ struct llist_head bsub_entry;
/* back-pointer to the BTS on which we are paging */
struct gsm_bts *bts;
/* what kind of channel type do we ask the MS to establish */