Attention is currently required from: laforge.

pespin uploaded patch set #3 to this change.

View Change

bsc_subscriber: Optimize lookup of bsub by TMSI

It was found that on a busy osmo-bsc process (>1000 concurrent calls
spead over different BTSs), a good amount of time is spent iterating the
subscribers list trying to find a subscriber based on a TMSI (1.60% of
total CPU time used by osmo-bsc).

This patch introduces a new rbtree under struct bsc_subscr_store which
allows storing all the busbs ordered by TMSI.
This way, lookup time changes O(N) -> O(log(N)), at the expense of
increased insert/deletion time O(1) -> O(log(N)).

Related: SYS#6200
Change-Id: If27429e715ef4b327177e427249e68321a6e83cc
---
M include/osmocom/bsc/bsc_subscriber.h
M src/osmo-bsc/bsc_subscriber.c
M src/osmo-bsc/osmo_bsc_bssap.c
M tests/subscr/bsc_subscr_test.c
4 files changed, 104 insertions(+), 6 deletions(-)

git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/75/31875/3

To view, visit change 31875. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: If27429e715ef4b327177e427249e68321a6e83cc
Gerrit-Change-Number: 31875
Gerrit-PatchSet: 3
Gerrit-Owner: pespin <pespin@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge@osmocom.org>
Gerrit-Reviewer: osmith <osmith@sysmocom.de>
Gerrit-Reviewer: pespin <pespin@sysmocom.de>
Gerrit-Attention: laforge <laforge@osmocom.org>
Gerrit-MessageType: newpatchset