Age | Commit message (Collapse) | Author | Files | Lines |
|
Change-Id: Id21f773d365f2e70129e1d463cf87b1213718be7
|
|
Change-Id: I950b9bd3cb52caf83c469fc424783d21750baa2a
|
|
We can't wait, we're in select, but we need to wait for a response from
the other side of the ipc interface -> only select our channels, so
other registered osmo fds are left alone, and we don't accidentally
handle stuff that should happen afterwards.
Change-Id: I4ffc8d825e5b4eba0fca8ea821b1d84e2b923266
|
|
They are too smart, they keep the timestamps.
Change-Id: Idb4b8f03eb5ffdfd6d3fdbc137b20e3ddc4cfa65
|
|
Change-Id: Ie5c3828df5187f0e93970bd05c82d97ef1d51102
|
|
Change-Id: I9be02583e54592f27748918c16a7fa502bf88c47
|
|
Change-Id: Iefb2298bcf89ee6e19a825b4774f9d6de9bff48b
|
|
Change-Id: I7a68a0325ec788823c5d984efff03ee68a1b6f4d
|
|
The other side might want to do a PPS sync on startup which is cutting
it close with one second of read timeout.
Additionally the number of buffers read to ensure proper flushing was
previously not updated with the actual number of buffers, which led to
stale buffers with wrong timestamps being stuck in the ipc interface.
Change-Id: I2ec8d422ef31f45e97d9091e5d814429b101ffe8
|
|
Change-Id: Ifac4d689d1007e021cf6765bba1bbef1fde19bb2
squashme2
Change-Id: I1bb22a8f722b49e7f71d4d993957a6f26c420552
|
|
Start/stop was previously fixed to channel 0, so proper multichannel
operation without using the mcbts mode was not possible.
UHD multichannel is rather annoying due to the alignment dance which
returns 0 reads, which may not be submitted to the ipc interface, since
empty buffers are treated as errors.
Change-Id: I441b1977e30a6c6c96b2e0543cedb3ce54d3ce31
|
|
Change-Id: If9a4eab0dccfde6740a3669a7c1d34226b3912d1
|
|
Change-Id: Ib57980e8e102d6f77d0bffa47faafd929c82a288
|
|
Change-Id: Ic2ba7616c6909bd0a7e642554ecffa4939935b01
|
|
Change-Id: I3808dcc69dd3ccc8372852c622660b7056c1be8a
|
|
Change-Id: Ie7b1b07479b81366cebaa081d80917ae868992b4
|
|
Change-Id: I9fd0b6cdb0b9d66b37e813cc8d35a28b9c9dc539
|
|
osmo-trx-ipc needs to know which master socket it should talk to, so
pass this path in the config device args like this:
dev-args ipc_msock=/path/to/socket
Additionally, add a master socket suffix number parameter to the ipc
backend,
ipc-driver-test -n 0 to start serving /tmp/ipc_sock0
Change-Id: I24857fbb74e5fc808b2a218957c723291de2ba04
|
|
Change-Id: I8b593d792a992973e76dd19f7b678c9caa9c5e16
|
|
Change-Id: I674d51fdcab2691853681f661b441364ed75207a
|
|
Change-Id: I9f2c15adff96e71a806ef09f17152c11d7c043aa
|
|
Change-Id: Ib072b01451084e055882d2867b558a5f8ede95ea
|
|
Change-Id: Iec2ca94ed8b6cf96d8797540cff43af6542e6437
|
|
Change-Id: I057e272623b41421f442206f550bcc8c60f4a747
|
|
Change-Id: I86cd659e74ebdbf43c4352e83e5adb78f8fe6de5
|
|
Change-Id: I01b2dce8e04cdc21872e5bbc3eec7e0a5e3d1b0b
|
|
Change-Id: Id2dc21e884991b3cca9f617aece12ac35959c1b2
|
|
Change-Id: I0e56539f699c39ab6e3546c96973184552da4d5f
|
|
Total size was previously only as large as sizeof(struct
ipc_shm_raw_stream) + sizeof(uint32_t)*num_buffers....
Change-Id: I1205b56a4b11bdf32fbdbfb82b67da36965a7981
|
|
Change-Id: Ia2631a869e23af520b9eade192dfdb032174c689
|
|
Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756
|
|
Change-Id: I1dc6610d7adfa1a52f3d41ad04544806c2be2c39
|
|
Change-Id: Ida1a3583749a004e2a6c92cfed0b6806a5b83c78
|
|
Using the new libosmovty features allow for:
* Setting different cpu-affinity masks for each thread in the process,
both at startup through .cfg file as well as changing it at runtime.
* Unified VTY interface to change the scheduling policy of the process
inherited by all osmocom processes enabling the feature.
Depends: libosmocore.git Change-Id If76a4bd2cc7b3c7adf5d84790a944d78be70e10a
Depends: osmo-gsm-masnuals.git Change-Id Icd75769ef630c3fa985fc5e2154d5521689cdd3c
Related: SYS#4986
Change-Id: I3798603779b88ea37da03033cf7737a6e4751d6e
|
|
Since there's now a rate counter, we can drop log level for those events
which can be bursty and hence print lots of output in short periods of
time, which may affect performance. This way setting them to INFO it's
enough to avoid getting them in stderr unless explicitly configured by
the user (for instance to debug stuff), while still allowing a good
enough level to be enabled for other targets such as gsmtap.
Related: OS#4679
Change-Id: I000f7112e35ac68d3d922444f78468b1ea74cbba
|
|
Avoid entering the logRxBurst() function and running a long loop even if
not used.
Change-Id: I67408bc8643d5d97355f277c4a2007064a83ae90
|
|
They are left as INFO instead of DEBUG since they show possible
timing/performance issues in the setup.
Change-Id: I8aab10054ac89c29b871259fdbe59636723ddfb6
|
|
This way i most usual rate_ctr related internal logging is disabled by default
(notice), and it can b eeasily enabled by switching the category to info
or debug.
Change-Id: Id6c36432da7e7ce673c585bcae6772a695028ec5
|
|
Change-Id: I1b5a63e6cc09ac02305c31ea7e94aff53ac0e5c2
|
|
In pushRadioVector, like we did for driveTxPriorityQueue already, gaps
are possible in any channel for TRX!=0, since TRX0 is the only one
expected to be always transmitting.
Since we always need to transmit there, it makes no sense to check for
channel being not NONE.
Change-Id: I3b4b85b9100f69dfa113c54a4357120bd11ec86f
|
|
Change-Id: I3854f284e6d6a561b3816b467985f59e690a282b
|
|
Fixes: Coverity CID#211258
Change-Id: Ic00cc5939ca46407cb5bf8b6fcbcf3dc677041a2
|
|
Related: OS#4487
Change-Id: Ibb2c492b3c67cbab11fbb936ae3a090fb5756aa8
|
|
The queue was being accessed sequentially obtaining and releasing the
mutual exclusion zone twice. First in getStaleBurst() dropping all
FN<currTime, then in getCurrentBurst() trying to obtain FN=currTime.
However, since in between the mutex is released, it could happen that
for instance upper layer would introduce currTime-1 in the queue, which
would make then getCurrentBurst() detect that one instead of potential
currTime in the queue and return NULL.
By holding the mutex during the call to both functions we make sure the
state is kept during the whole transaction.
Related: OS#4487 (comment #7)
Change-Id: If1fd8d7fc5f21ee2894192ef1ac2a3cdda6bbb98
|
|
This ones together with rate counters already available in lower layers
allows to understand better the source of the problem with stalled tx
bursts.
Change-Id: Ia34f7e7d780ad1e12f24638a07f05fe91f2afea5
|
|
It was notcied due to sometimes causing deadlock at shutdown time.
Fixes: 92ba59dacffe79f4c987154bc63c6eacd8c3605f
Change-Id: I49bea4b0ae469794b5c80ee8fa4f275914a5194c
|
|
Per-ARFCN CTRL threads managing CTRL socket loops were dropped a while
ago, but it was forgotten to udpate the documentation.
Change-Id: I34d117325e60b04b075c205d21bb0b827a5e8c52
|
|
Coverity dixit:
"Non-static class member field "ctrs.tx_stale_bursts" is not initialized
in this constructor nor in any functions that it calls."
Fixes: CID#211258
Change-Id: I4643a0500e9cad09938c05fab2f358167f72ffa9
|
|
This allows checking if there's timing issues on the downlink side
between osmo-bts-trx and osmo-trx. This counter is useful to find
information about osmo-bts-trx 'fn-advance' setting, since this counter
basically counts if burstrs from it arrived too late to osmo-trx.
Change-Id: Id6df00da81f6d6884f4dddc5a2c4b354dca3af97
|
|
RadioInterface ones will be added in next commit, so let's differentiate
the structs required for each one.
Change-Id: Ib0e142a1dd4bedefdb4c5f15c34132da872c0975
|