osmo-pcu.git branch jerlbeck/master updated. 0.2-546-g77da355

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/osmocom-commitlog@lists.osmocom.org/.

gitosis at osmocom.org gitosis at osmocom.org
Thu Jul 16 18:07:21 UTC 2015


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "UNNAMED PROJECT".

The branch, jerlbeck/master has been updated
       via  77da35515ce40baf2305cf7cf5e4008f6b478e36 (commit)
       via  7b3675bf7a6203467e6a72e255544365cefc3b06 (commit)
       via  0f352a6f2293534fa31bfe81cf85ea7dbe317481 (commit)
       via  bf9042203d02298040e5289c86238961c154a3d4 (commit)
       via  7af53e61f0a9de8c6ebe412d7bb0ffe11f71dbbd (commit)
       via  88fb6136fb8b69f37ded4c868689556f3bde3ac8 (commit)
       via  e21b79cb211fa930b79b69ce9416a25816daff47 (commit)
       via  f16a069fd7e34c3f94527965073df3bae0e524b1 (commit)
       via  5979fe9d8af159bbf8ea382bcd06ad43e25e209c (commit)
       via  400ec02e8a0415a59eae9dcdae43de38247897a3 (commit)
       via  40da3e17e5b3d4cf199cb868d561f98c35b93147 (commit)
       via  5a2b8be3f5c9659cedb56855d2741accfdaeab3d (commit)
       via  2b558857dd720ea0a743d2656873a8c472ecd6b9 (commit)
       via  a8c2aaf6f05d5e25665e8cbb2b415c6a2ad34d8b (commit)
       via  69c9bfa0897c63b8a220bdb8db6658dc5021e5da (commit)
       via  b2439bbb8a73f00873efd7f744f70be535496e90 (commit)
       via  3a10dbd56428cf0e79b738f62748509bbd04aa68 (commit)
       via  e0853cdf42e60acd7759acd4869c84756eb1fa27 (commit)
       via  5879c6493f74aecddc81abbd785065325bf2e117 (commit)
       via  47a57f6f869f19704bbb993fc157a86fd0c85e58 (commit)
       via  61205a7e6539b3926c3039e8dcabda6aa9b408ef (commit)
      from  57cf69a18ccceac4b250dceb56c4e0d5f0018a95 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://cgit.osmocom.org/osmo-pcu/commit/?id=77da35515ce40baf2305cf7cf5e4008f6b478e36

commit 77da35515ce40baf2305cf7cf5e4008f6b478e36
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Thu Jul 16 18:33:46 2015 +0200

    alloc: Make alloc_algorithm_dynamic stateful
    
    Currently there is no persistent state being used in
    alloc_algorithm_dynamic. So algorithm B is even used in persistent
    high usage scenarios. If there are many active TBFs, multislot
    assigments are not fair, because MS of a "higher" multislot class get
    higher troughputs. On the other hand, as long as all PDCH are busy no
    bandwidth will be wasted even if all MS use algorithm A.
    
    This commit modifies alloc_algorithm_dynamic to disable algorithm B
    when that call fails. It then keeps it disabled until there is a
    single PDCH which is idle (it is considered idle, if there is at most
    one active DL TBF assigned to it).
    
    Sponsored-by: On-Waves ehf

http://cgit.osmocom.org/osmo-pcu/commit/?id=7b3675bf7a6203467e6a72e255544365cefc3b06

commit 7b3675bf7a6203467e6a72e255544365cefc3b06
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Thu Jul 16 18:28:22 2015 +0200

    alloc/test: Fix trx_no assertion
    
    Currently the value of trx_no2 is used in the assertion, even if the
    call to tfi_find_free has failed.
    
    This commit fixes the asserted expression to only compare the trx_no
    values if the function call has succeeded.
    
    Sponsored-by: On-Waves ehf

http://cgit.osmocom.org/osmo-pcu/commit/?id=0f352a6f2293534fa31bfe81cf85ea7dbe317481

commit 0f352a6f2293534fa31bfe81cf85ea7dbe317481
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Thu Jul 16 18:23:33 2015 +0200

    alloc/test: Free the TBF if the recursion has failed
    
    Currently if both an uplink and a downlink TBF are to be allocated by
    alloc_tbfs() and the second allocation fails, the first TBF is not
    freed.
    
    This commit changes the recursive function to free the TBF if the ms
    variable has been changed to NULL.
    
    Sponsored-by: On-Waves ehf

http://cgit.osmocom.org/osmo-pcu/commit/?id=bf9042203d02298040e5289c86238961c154a3d4

commit bf9042203d02298040e5289c86238961c154a3d4
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Thu Jul 16 18:19:09 2015 +0200

    alloc/test: Use lower case for slots with TFI shortage
    
    Indicate those slots with lower case letters that do not have a spare
    TFI for the other direction if such a TBF has not been attached to
    the MS object yet.
    
    Sponsored-by: On-Waves ehf

http://cgit.osmocom.org/osmo-pcu/commit/?id=7af53e61f0a9de8c6ebe412d7bb0ffe11f71dbbd

commit 7af53e61f0a9de8c6ebe412d7bb0ffe11f71dbbd
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Thu Jul 16 15:04:07 2015 +0200

    alloc: Use a separate usage computation for algo A
    
    Currently algorithm A can select an TBF even when there is no free
    TBF in the reverse direction. While this does not necessarily lead to
    an allocation failure, the probabily is higher. In addition, the
    current slot reservations are not taken into account.
    
    This commit changes the selection algorithm to prefer slots where TFI
    are available in both directions and which are less reserved.
    
    Sponsored-by: On-Waves ehf

http://cgit.osmocom.org/osmo-pcu/commit/?id=88fb6136fb8b69f37ded4c868689556f3bde3ac8

commit 88fb6136fb8b69f37ded4c868689556f3bde3ac8
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Thu Jul 16 15:01:38 2015 +0200

    alloc/test: Show expectation before failure
    
    To simplify debugging, show the actuals value before the assertion
    fails in some cases.
    
    Sponsored-by: On-Waves ehf

http://cgit.osmocom.org/osmo-pcu/commit/?id=e21b79cb211fa930b79b69ce9416a25816daff47

commit e21b79cb211fa930b79b69ce9416a25816daff47
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Thu Jul 16 11:48:43 2015 +0200

    alloc: Change tx_window optimization strategy
    
    Currently each tx_window combination is checked only once by using a
    set containing the sets of TX slots that have been checked already.
    This approach does not ensure, that num_tx and ul_ts really match the
    tx_window being tested. This does not make a difference with the
    current test cases probably because num_tx starts with 1 and is
    increased each iteration. Since the bitmap optimization is equivalent
    to a cache optimization strategy that only uses tx_window as key. On
    the other hand, ul_ts, num_tx, and rx_mask cannot be derived from
    tx_window, but these values are also refered to after the call to
    test_and_set_bit(). This makes it difficult to prove that correctness
    of the caching. While this will not lead to a defect, the results
    might be less optimal.
    
    This commit changes the optimization strategy to skip all tx_window
    where ul_ts and ul_ts+num_tx-1 are not both contained.  This provides
    a similar degree of optimization like the set approach (only the
    iteration with num_ts == 8 is not optimized, which only applies to to
    ms class 18 and 29 MS) but ensures that the values of the related
    variables have a clear relationship.
    
    Note that the bitset based optimization for rx_window does not suffer
    from a possible cache inconsistency, since only tx_window and
    rx_window (tx_slot_count and rx_slot_count can be derived from the
    windows and thus are covered by the cache key) are used after the call
    to test_and_set_bit(). tx_window is constant over the whole lifetime
    of the cache.
    
    Sponsored-by: On-Waves ehf

http://cgit.osmocom.org/osmo-pcu/commit/?id=f16a069fd7e34c3f94527965073df3bae0e524b1

commit f16a069fd7e34c3f94527965073df3bae0e524b1
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Tue Jul 14 14:29:34 2015 +0200

    pcu: Use alloc_algorithm_dynamic by default
    
    The dynamic algorithm behaves like B until there are no TFI left.
    
    This commit changes the default algorithm to to former.
    
    Ticket: #1934
    Sponsored-by: On-Waves ehf

http://cgit.osmocom.org/osmo-pcu/commit/?id=5979fe9d8af159bbf8ea382bcd06ad43e25e209c

commit 5979fe9d8af159bbf8ea382bcd06ad43e25e209c
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Tue Jul 14 14:02:41 2015 +0200

    alloc: Add counters for successful algo A/B allocations
    
    This adds counters for algorithm A and B with count successful
    allocation combined for UL and DL.
    
    Ticket: #1934
    Sponsored-by: On-Waves ehf

http://cgit.osmocom.org/osmo-pcu/commit/?id=400ec02e8a0415a59eae9dcdae43de38247897a3

commit 400ec02e8a0415a59eae9dcdae43de38247897a3
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Tue Jul 14 13:31:48 2015 +0200

    alloc: Add 'dynamic' allocation algorithm
    
    The idea behind this meta algorithm is to automatically select one of
    the other algorithms based on the system state. Basically algorithm B
    will be selected if the PDCH usage is low to improve throughput and
    latency. Algorithm A will be selected to support more concurrent MS.
    
    This commit adds a first simple state-less version of this algorithm
    that always tries B first and only if that fails A is tried
    afterwards.
    
    The following VTY command is added to the 'pcu' node:
    
     - alloc-algorithm dynamic
    
    Ticket: #1934
    Sponsored-by: On-Waves ehf

http://cgit.osmocom.org/osmo-pcu/commit/?id=40da3e17e5b3d4cf199cb868d561f98c35b93147

commit 40da3e17e5b3d4cf199cb868d561f98c35b93147
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Tue Jul 14 12:57:07 2015 +0200

    alloc: Remove disabled code fragment for multi-UL allocation
    
    This part of algorithm_b has already been disabled. Further work may
    depend on this, but it is going out of sync. So this commit removes
    it completely.
    
    Sponsored-by: On-Waves ehf

http://cgit.osmocom.org/osmo-pcu/commit/?id=5a2b8be3f5c9659cedb56855d2741accfdaeab3d

commit 5a2b8be3f5c9659cedb56855d2741accfdaeab3d
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Tue Jul 14 11:35:21 2015 +0200

    alloc: Refactor alloc algorithms to only apply changes on success
    
    Currently these algorithms modify other objects (MS, TBF, PDCH) even
    if the allocation will fail later on. To implement an algorithm that
    dynamically tries another algorithm on failure (e.g. A after B), the
    first (failing) algorithm should not change or damage anything.
    
    This commit refactors algorithm A and B to delay the actual allocation
    until it is known that the allocation will not fail.
    
    Ticket: #1934
    Sponsored-by: On-Waves ehf

http://cgit.osmocom.org/osmo-pcu/commit/?id=2b558857dd720ea0a743d2656873a8c472ecd6b9

commit 2b558857dd720ea0a743d2656873a8c472ecd6b9
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Mon Jul 13 15:15:18 2015 +0200

    alloc: Remove redundant first_common_ts handling
    
    Currently this code path is only used, if an allocation has been
    taken place in a former call to an allocation algorithm function.
    If this was for an DL TBF, the first common TS was selected,
    otherwise the least used common TS was selected for an UL TBF.
    The shrinking of the UL set (to 1<<first_common_ts) is done in the
    latter case.
    
    This commit removes an additional code path that aligns the UL set to
    first_common_ts, because it has no more influence on the set of
    common TS after both UL and DL TBF have been allocated.
    
    Sponsored-by: On-Waves ehf

http://cgit.osmocom.org/osmo-pcu/commit/?id=a8c2aaf6f05d5e25665e8cbb2b415c6a2ad34d8b

commit a8c2aaf6f05d5e25665e8cbb2b415c6a2ad34d8b
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Mon Jul 13 14:50:08 2015 +0200

    alloc/test: Add test for interleaved TBF chains
    
    MS iniated TCP connections generally result in a sequence
    of short time UL and longer lasting DL TBFs, being interleaved
    between several MS. This scenario is not covered by the existing
    tests.
    
    This commit adds a test, that allocates as man as possible TBFs
    several times with different test modes without clearing the BTS (and
    thus the TBF list) in between. The number of allocated DL TBFs in
    each round is expected to be constant.
    
    Sponsored-by: On-Waves ehf

-----------------------------------------------------------------------

Summary of changes:
 src/bts.cpp                  |  149 ++--
 src/bts.h                    |   30 +-
 src/gprs_ms.cpp              |    8 +
 src/gprs_ms.h                |    2 +
 src/gprs_rlcmac.h            |   11 +-
 src/gprs_rlcmac_ts_alloc.cpp |  471 ++++++++---
 src/pcu_main.cpp             |    2 +-
 src/pcu_vty.c                |   13 +-
 src/tbf.cpp                  |   65 +-
 src/tbf.h                    |    5 +-
 src/tbf_dl.cpp               |   17 +-
 tests/alloc/AllocTest.cpp    |  410 ++++++---
 tests/alloc/AllocTest.err    |  875 +++++++++++++++++++
 tests/alloc/AllocTest.ok     | 1907 +++++++++++++++++++++++++++++++++++++++---
 tests/tbf/TbfTest.cpp        |   10 +-
 tests/tbf/TbfTest.err        |  324 ++++---
 16 files changed, 3636 insertions(+), 663 deletions(-)


hooks/post-receive
-- 
UNNAMED PROJECT



More information about the osmocom-commitlog mailing list