pespin has uploaded this change for review. ( 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, 4 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/53/28053/1
diff --git a/src/osmo-bsc/paging.c b/src/osmo-bsc/paging.c
index 6e888d4..7f8d362 100644
--- a/src/osmo-bsc/paging.c
+++ b/src/osmo-bsc/paging.c
@@ -469,7 +469,10 @@
LOG_PAGING_BTS(req, req->bts, DPAG, LOGL_DEBUG,
"New req arrived: re-scheduling next batch in %lld.%06ld\n",
(long long)tdiff.tv_sec, tdiff.tv_nsec / 1000);
- osmo_timer_schedule(&bts_entry->work_timer, tdiff.tv_sec, tdiff.tv_nsec / 1000);
+ if (tdiff.tv_sec == 0 && tdiff.tv_nsec == 0)
+ 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: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newchange
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/28052 )
Change subject: paging: Fix recalculate work timer if waiting for retrans
......................................................................
paging: Fix recalculate work timer if waiting for retrans
We want to recalculate the timer based on last time the work_timer was
triggered (that is, the time when the worker re-armed the pag req to
retransmit). We don't want to recalculate based on the last time the pag
ret tro retransmit was scheduled.
In loaded paging queue, there's lots of retrans (let's say 200) and it
may take more than 500ms to actually retransmit them. That means in most
cases we could end up in a situation where only pag req to retrans where
in the queue, hitting this recalculate path. Since the 500ms were for
sure elapsed, that would most probably schedule the work_timer at {0,0}
for each new paging request that arrived. As a result, the worker would
be scheduled lots of times per second (once for each new req arriving)
and only submitting 1 pag req (the new one) plus potentially 1 or
serveral pag req to retransmit.
In summary, there was not throthling applied in the scenario where only
pag req to retransmit where in the queue and new pag reqs kept arriving.
This incurrs into augmented paging throughput and also augmented
frequency of polls().
Related: OS#5922
Fixes: 4821c9f4dff3cb9d06ee8392de18fd7c63399bf0
Change-Id: I7ce6f436286b50dc31331d218ff256cf7be3f619
---
M include/osmocom/bsc/paging.h
M src/osmo-bsc/paging.c
2 files changed, 5 insertions(+), 4 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/52/28052/1
diff --git a/include/osmocom/bsc/paging.h b/include/osmocom/bsc/paging.h
index 9b63225..9eddda0 100644
--- a/include/osmocom/bsc/paging.h
+++ b/include/osmocom/bsc/paging.h
@@ -106,6 +106,9 @@
struct osmo_timer_list work_timer;
struct osmo_timer_list credit_timer;
+ /* Last time paging worker was triggered */
+ struct timespec last_sched_ts;
+
/* free chans needed */
int free_chans_need;
diff --git a/src/osmo-bsc/paging.c b/src/osmo-bsc/paging.c
index 2246918..6e888d4 100644
--- a/src/osmo-bsc/paging.c
+++ b/src/osmo-bsc/paging.c
@@ -225,6 +225,7 @@
goto sched_next_iter;
osmo_clock_gettime(CLOCK_MONOTONIC, &now);
+ paging_bts->last_sched_ts = now;
/* do while loop: Try send at most first MAX_PAGE_REQ_PER_ITER paging
* requests (or before if there are no more available slots). Since
@@ -458,11 +459,8 @@
* which is a longer period.
* Let's recaculate the time to adapt it to initial_period: */
struct timespec now, elapsed, tdiff;
- struct gsm_paging_request *first_retrans_req;
osmo_clock_gettime(CLOCK_MONOTONIC, &now);
- /* This is what used to be the first req (retrans state) in the queue: */
- first_retrans_req = llist_entry(req->entry.next, struct gsm_paging_request, entry);
- timespecsub(&now, &first_retrans_req->last_attempt_ts, &elapsed);
+ timespecsub(&now, &bts_entry->last_sched_ts, &elapsed);
if (timespeccmp(&elapsed, &initial_period, <)) {
timespecsub(&initial_period, &elapsed, &tdiff);
} else {
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/28052
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I7ce6f436286b50dc31331d218ff256cf7be3f619
Gerrit-Change-Number: 28052
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newchange
laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/28050 )
Change subject: jobs/ttcn3-testsuites: centos: use osmocom mirror
......................................................................
jobs/ttcn3-testsuites: centos: use osmocom mirror
Lately we've been seeing a lot of build failures from the TTCN3-centos
jobs running against the nightly repository. It seems that the mirror we
get redirected to isn't syncing properly. Use the Osmocom mirror
instead.
Fix for:
Nightly packages of the Osmocom project (CentOS 190 kB/s | 1.7 kB 00:00
Nightly packages of the Osmocom project (CentOS 1.8 kB/s | 634 B 00:00
[91mErrors during downloading metadata for repository 'network_osmocom_nightly':
- Status code: 404 for http://ftp.gwdg.de/pub/opensuse/repositories/network:/osmocom:/nightly/Cent… (IP: 134.76.12.6)
- Status code: 404 for http://ftp.gwdg.de/pub/opensuse/repositories/network:/osmocom:/nightly/Cent… (IP: 134.76.12.6)
[0m[91mError: Failed to download metadata for repo 'network_osmocom_nightly': Yum repo downloading error: Downloading error(s): repodata/ad91db8cb7273beaefca0e473d9c4dd12d12786819947d9abc971661c588e8c6-primary.xml.gz - Cannot download, all mirrors were already tried without success; repodata/7062058d3e5395b4b02570496e41e19e8fd306f5234003a6c3595331cf3fc100-filelists.xml.gz - Cannot download, all mirrors were already tried without success
Change-Id: Id114d55edc2ba92f7851243ab7df51db332079c4
---
M jobs/ttcn3-testsuites.yml
1 file changed, 2 insertions(+), 0 deletions(-)
Approvals:
Jenkins Builder: Verified
pespin: Looks good to me, but someone else must approve
laforge: Looks good to me, approved
diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml
index 4f92248..af6e482 100644
--- a/jobs/ttcn3-testsuites.yml
+++ b/jobs/ttcn3-testsuites.yml
@@ -491,6 +491,8 @@
;;
TTCN3-centos-*)
DIR="$(echo "{job-name}" | sed s/^TTCN3-centos\-/ttcn3-/)"
+ export OSMOCOM_REPO_MIRROR="https://downloads.osmocom.org"
+ export OSMOCOM_REPO_PATH="obs-mirror/.previous"
export IMAGE_SUFFIX="master-centos8"
;;
TTCN3-centos7-*)
--
To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/28050
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Change-Id: Id114d55edc2ba92f7851243ab7df51db332079c4
Gerrit-Change-Number: 28050
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/28050 )
Change subject: jobs/ttcn3-testsuites: centos: use osmocom mirror
......................................................................
jobs/ttcn3-testsuites: centos: use osmocom mirror
Lately we've been seeing a lot of build failures from the TTCN3-centos
jobs running against the nightly repository. It seems that the mirror we
get redirected to isn't syncing properly. Use the Osmocom mirror
instead.
Fix for:
Nightly packages of the Osmocom project (CentOS 190 kB/s | 1.7 kB 00:00
Nightly packages of the Osmocom project (CentOS 1.8 kB/s | 634 B 00:00
[91mErrors during downloading metadata for repository 'network_osmocom_nightly':
- Status code: 404 for http://ftp.gwdg.de/pub/opensuse/repositories/network:/osmocom:/nightly/Cent… (IP: 134.76.12.6)
- Status code: 404 for http://ftp.gwdg.de/pub/opensuse/repositories/network:/osmocom:/nightly/Cent… (IP: 134.76.12.6)
[0m[91mError: Failed to download metadata for repo 'network_osmocom_nightly': Yum repo downloading error: Downloading error(s): repodata/ad91db8cb7273beaefca0e473d9c4dd12d12786819947d9abc971661c588e8c6-primary.xml.gz - Cannot download, all mirrors were already tried without success; repodata/7062058d3e5395b4b02570496e41e19e8fd306f5234003a6c3595331cf3fc100-filelists.xml.gz - Cannot download, all mirrors were already tried without success
Change-Id: Id114d55edc2ba92f7851243ab7df51db332079c4
---
M jobs/ttcn3-testsuites.yml
1 file changed, 2 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/50/28050/1
diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml
index 4f92248..af6e482 100644
--- a/jobs/ttcn3-testsuites.yml
+++ b/jobs/ttcn3-testsuites.yml
@@ -491,6 +491,8 @@
;;
TTCN3-centos-*)
DIR="$(echo "{job-name}" | sed s/^TTCN3-centos\-/ttcn3-/)"
+ export OSMOCOM_REPO_MIRROR="https://downloads.osmocom.org"
+ export OSMOCOM_REPO_PATH="obs-mirror/.previous"
export IMAGE_SUFFIX="master-centos8"
;;
TTCN3-centos7-*)
--
To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/28050
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Change-Id: Id114d55edc2ba92f7851243ab7df51db332079c4
Gerrit-Change-Number: 28050
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-MessageType: newchange