pespin has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-bsc/+/28053 )

Change subject: paging: Avoid unnecessary immediate polling in mainloop
......................................................................

paging: Avoid unnecessary immediate polling in mainloop

We have seen an increased CPU load in osmo-bsc recently since the paging
improvements where merged, centered round poll() calls.
It is expected most of them will be fixed with previous patch. In any
case, let's avoid unnecessary poll() calls being called for no reason.

Related: OS#5922
Change-Id: Ie767bdc8d4353aafe375a424e02d698ef7fd3dea
---
M src/osmo-bsc/paging.c
1 file changed, 5 insertions(+), 1 deletion(-)

Approvals:
  pespin: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/src/osmo-bsc/paging.c b/src/osmo-bsc/paging.c
index fe403d2..4cac64c 100644
--- a/src/osmo-bsc/paging.c
+++ b/src/osmo-bsc/paging.c
@@ -469,7 +469,11 @@
                LOG_PAGING_BTS(req, req->bts, DPAG, LOGL_DEBUG,
                               "New req arrived: re-scheduling next batch in 
%lld.%06lds\n",
                               (long long)tdiff.tv_sec, tdiff.tv_nsec / 1000);
-               osmo_timer_schedule(&bts_entry->work_timer, tdiff.tv_sec, 
tdiff.tv_nsec / 1000);
+               /* Avoid scheduling timer for short periods, run cb directly: */
+               if (tdiff.tv_sec == 0 && tdiff.tv_nsec < 5000)
+                       paging_worker(bts_entry);
+               else
+                       osmo_timer_schedule(&bts_entry->work_timer, 
tdiff.tv_sec, tdiff.tv_nsec / 1000);
        } /* else: worker is already ongoing submitting initial requests, 
nothing do be done */

        return 0;

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

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Ie767bdc8d4353aafe375a424e02d698ef7fd3dea
Gerrit-Change-Number: 28053
Gerrit-PatchSet: 3
Gerrit-Owner: pespin <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <[email protected]>
Gerrit-Reviewer: pespin <[email protected]>
Gerrit-MessageType: merged

Reply via email to