<p>pespin <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-pcu/+/23031">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  laforge: Looks good to me, but someone else must approve
  fixeria: Looks good to me, but someone else must approve
  pespin: Looks good to me, approved
  Jenkins Builder: Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Support uplink multi-slot allocations<br><br>Before this patch, allocate_usf() was implemented to only allocate 1 USF<br>per TBF, regardless of the available ul_slot mask.<br><br>As a result, only 1 slot at max was allocated to any TBF. That's a pity<br>because usual multislot classes like 12 support up to 2 UL slots per TBF<br>(in common TS with DL).<br><br>This patch reworks allocate_usf() to allocate as many UL multislots as<br>possible (given mslot class, current USF availability, TFI availability,<br>related DL TBF slots for the same MS, etc.).<br><br>As a result, it can be seen that AllocTest results change substantially<br>and maximum concurrent TBF allocation drops under some conditions.<br>That happens due to more USFs being reserved (because each TBF has now<br>more UL slots reserved). Hence now USF exhaustion becomes the usual<br>limitation factor as per the number of concurrent TBFs than can be<br>handled per TRX (as opposed to TFIs previously).<br><br>Some of the biggest limitations in test appear though because really<br>high end multislot classes are used, which can consume high volumes of<br>UL slots (USFs), and which are probably not the most extended devices in<br>the field.<br><br>Moreover, in general the curren timeslot allocator for a given<br>multislot class will in general try to optimize the DL side gathering<br>most of the possible timeslots there. That means, for instance on ms<br>class 12 (4 Tx, 4Rx, 5 Sum), 4 DL slots and 1 UL slot will still be<br>selected. But in the case where only 3 PDCHs are available, then with<br>this new multi-slot UL support a TBF will reserve 3 DL slots and 2 UL<br>slots, while before this patch it would only taken 1 UL slot instead of<br>2.<br><br>This USF exhaustion situation can be improved in the future by<br>parametrizing (VTY command?) the maximum amount of UL slots that a TBF<br>can reserve, making for instance a default value of 2, meaning usual<br>classes can gather up 2 UL timelosts at a time while forbidding high-end<br>hungry classes to gather up to 8 UL timeslots.<br><br>Another approach would be to dynamically limit the amount of allowed<br>reservable UL timeslots based on current USF reservation load.<br><br>Related: OS#2282<br>Change-Id: Id97cc6e3b769511b591b1694549e0dac55227c43<br>---<br>M src/gprs_rlcmac_ts_alloc.cpp<br>M tests/alloc/AllocTest.cpp<br>M tests/alloc/AllocTest.err<br>M tests/alloc/AllocTest.ok<br>4 files changed, 7,595 insertions(+), 8,759 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-pcu/+/23031">change 23031</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-pcu/+/23031"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-pcu </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Id97cc6e3b769511b591b1694549e0dac55227c43 </div>
<div style="display:none"> Gerrit-Change-Number: 23031 </div>
<div style="display:none"> Gerrit-PatchSet: 5 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>