Attention is currently required from: kirr.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmocom-bb/+/40064?usp=email
to look at the new patch set (#2).
The following approvals got outdated and were removed:
Verified-1 by Jenkins Builder
Change subject: trx_toolkit/_fake_trx: Optimize IO loop fd polling
......................................................................
trx_toolkit/_fake_trx: Optimize IO loop fd polling
As can be seen from
http://navytux.spb.ru/~kirr/osmo/fake_trx/pyx-base.html
(Runner_5loop)
the system spends more in py select wrapper compared to select system
call itself. And also the wrapper releases/reacquires gil, which,
as Iaa675c95059ec8ccfad667f69984d5a7f608c249 (trx_toolkit/clck_gen: Don't
use threads because Python GIL is latency killer) shows, can have
dramatic effect. It is also known that select inside the kernel is doing
useless work at every call by registering/deregistering each fd every
time.
-> Avoid all that overhead by switching to epoll and doing epoll_wait
ourselves and without releasing/reacquiring the gil. We can do that
because fake_trx is single-threaded and because clck_gen._timerfd is
setup to do ~ 200 Hz regular wakeup.
Change-Id: I748810871601178cc97bcdaba41419949078c29d
---
M src/target/trx_toolkit/_fake_trx.pyx
1 file changed, 111 insertions(+), 18 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/64/40064/2
--
To view, visit
https://gerrit.osmocom.org/c/osmocom-bb/+/40064?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: I748810871601178cc97bcdaba41419949078c29d
Gerrit-Change-Number: 40064
Gerrit-PatchSet: 2
Gerrit-Owner: kirr <kirr(a)nexedi.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-CC: osmith <osmith(a)sysmocom.de>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: kirr <kirr(a)nexedi.com>