osmo-pcu.git branch jerlbeck/wip/pdch-alloc updated. 0.2-539-g50076d7

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
Tue Jul 14 12:39:54 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/wip/pdch-alloc has been updated
  discards  520c2919f4bf5d0d0d6dd254e8d76a6876b3b481 (commit)
  discards  509fdb69a9e2036b55cac7f954f9343b6c77d5af (commit)
  discards  8b7c196e9047073de6c7d4ff2857562ce0368303 (commit)
  discards  03ecaff5834c949058dd128a9e4f4a549db9bcf5 (commit)
  discards  cb80e6abb755bb6711a56388eb709f0995de9b1c (commit)
  discards  f297ac8e06506ddce1ab629bbc36f4fa402af915 (commit)
  discards  17ac3f7a1bd67aad0e0682d29d5356f193403f02 (commit)
  discards  acbf887cf8fcbd56fa3fd620cb46978210398bc9 (commit)
  discards  a8af58d7d5e44b175749290ef2a76f47fb714ac2 (commit)
  discards  3a0635c0145e5c814945b30d7eea50d3fd76b851 (commit)
  discards  9a2c6655686fb773550b6e1050f60c821eee70b4 (commit)
       via  50076d7a18e03fee84017df4066efa1429904c41 (commit)
       via  ba39f92b58e69d6c1d7268bb2b8f90d0ff199a41 (commit)
       via  a58d17131f2f6f7aca4f2479a0348ce04625fbfe (commit)
       via  a64aa7a65defed38baf2b344240ddf16095a9051 (commit)
       via  5f16b96df993c8f44ed8ab64a39c20b9b2904db3 (commit)
       via  f78593d6e83dd9f26bd1f9cc0e97dabf792a6d8a (commit)
       via  cf01665b6bd4cc79276cb331ec20f9141c622eee (commit)
       via  d31560624cd55371fc9d0a3f7b8d023f5dda3558 (commit)
       via  48d01a8e2fe77fa13d4f846ba730f43fa3166319 (commit)
       via  c86d1933900fdf4c1a296fe6fba72512fe025958 (commit)
       via  0c8ebf5f511826419c37e04dd1363357c2b4ec35 (commit)
       via  ec4f21ddec40a9091083c23ec1f040fd52525df9 (commit)
       via  0062976f9ba526c67544184f19e7d1216b3d5fcd (commit)
       via  4da768b26976cd10f20be32b460d374051b20b81 (commit)
       via  0023fbde402832765f083cd79a3e2fe382e8b8fe (commit)
       via  01f5df9589e83f97f9b15e31b06a53cfe4192e6d (commit)
       via  d6108ac1e13b9701b4bc2c5b2dba360ac231b589 (commit)
       via  5a7dd909fe51a9925ca844cdfcba48e0a890fb56 (commit)
       via  cfdd37fa164f8918fe6dea33b0212d01133f98e5 (commit)
       via  e3859a113af4d7865831a7f778574f830de8b23f (commit)
       via  3db617f14a0314a0e2a233b3ddaba1501213c0e5 (commit)

This update added new revisions after undoing existing revisions.  That is
to say, the old revision is not a strict subset of the new revision.  This
situation occurs when you --force push a change and generate a repository
containing something like this:

 * -- * -- B -- O -- O -- O (520c2919f4bf5d0d0d6dd254e8d76a6876b3b481)
            \
             N -- N -- N (50076d7a18e03fee84017df4066efa1429904c41)

When this happens we assume that you've already had alert emails for all
of the O revisions, and so we here report only the revisions in the N
branch from the common base, B.

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=50076d7a18e03fee84017df4066efa1429904c41

commit 50076d7a18e03fee84017df4066efa1429904c41
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.
    
    Sponsored-by: On-Waves ehf

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

commit ba39f92b58e69d6c1d7268bb2b8f90d0ff199a41
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.
    
    Sponsored-by: On-Waves ehf

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

commit a58d17131f2f6f7aca4f2479a0348ce04625fbfe
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
    
    Sponsored-by: On-Waves ehf

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

commit a64aa7a65defed38baf2b344240ddf16095a9051
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=5f16b96df993c8f44ed8ab64a39c20b9b2904db3

commit 5f16b96df993c8f44ed8ab64a39c20b9b2904db3
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=f78593d6e83dd9f26bd1f9cc0e97dabf792a6d8a

commit f78593d6e83dd9f26bd1f9cc0e97dabf792a6d8a
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Tue Jul 14 08:26:17 2015 +0200

    alloc: Optionally enforce first common TS in find_multi_slots (TODO)
    
    TODO:
    
    - This isn't probably triggered at all currently, so this commit
      can possibly be dropped

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

commit cf01665b6bd4cc79276cb331ec20f9141c622eee
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=d31560624cd55371fc9d0a3f7b8d023f5dda3558

commit d31560624cd55371fc9d0a3f7b8d023f5dda3558
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

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

commit 48d01a8e2fe77fa13d4f846ba730f43fa3166319
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Mon Jul 13 14:38:18 2015 +0200

    alloc/test: Put TBF allocation loop into alloc_many_tbfs
    
    Currently all TBFs are deleted after the allocation loop finishes.
    This make it difficult to interleave the TBF allocation like it
    happens with real MS.
    
    This commit refactors the allocation loop into alloc_many_tbfs and
    adds support for TLLIs, which are derived from the counter value and
    used to retrieve an old MS object if alloc_many_tbfs is called a
    second time.
    
    Note that this does not make a difference for the existing tests.
    
    Sponsored-by: On-Waves ehf

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

commit c86d1933900fdf4c1a296fe6fba72512fe025958
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Mon Jul 13 14:23:32 2015 +0200

    ms: Add is_idle() method to GprsMs::Guard
    
    Currently there is no simple way to determine, whether the MS object
    protected by a guard will continue to exist after the guard object is
    destroyed.
    
    This patch adds a is_idle() method that will return true if the MS
    object is just kept by the guard from being idle. In that case, the
    MS object would either be deleted or return true for
    GprsMs::is_idle() after the guard's destruction, provided that no
    TBF attachment took place in between.
    
    Sponsored-by: On-Waves ehf

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

commit 0c8ebf5f511826419c37e04dd1363357c2b4ec35
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Fri Jul 10 19:52:37 2015 +0200

    tbf: Put the TFI->TBF mapping into the PDCH objects
    
    Currently the TBFs are registered in a TFI indexed array within the TRX
    objects. TBFs can be searched globally by TFI and TRX number. This
    conflicts with the use of the same TFI for different TBF on different
    PDCH. This use case requires the specification of the PDCH as
    additional search dimension.
    
    This commit moves the TFI index TBF arrays into the PDCH objects. The
    related methods are updated accordingly.
    
    Ticket: #1793
    Sponsored-by: On-Waves ehf

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

commit ec4f21ddec40a9091083c23ec1f040fd52525df9
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Fri Jul 10 12:25:25 2015 +0200

    alloc: Allocate TFI per slot (algorithm A)
    
    Currently the TFI are managed per TRX, thus only a maximum of 32 TBF
    per direction and per TRX are possible simultaneously.
    
    This commit modifies algorithm_a() to allow the sharing of TFI
    between different PDCH. Since algorithm A only assigns a single slot
    to each TBF, the TFI of each PDCH can be assigned independently.
    This increases the maximum to 32 TBF per direction and per PDCH
    concerning the TFI allocation.
    
    Ticket: #1793
    Sponsored-by: On-Waves ehf

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

commit 0062976f9ba526c67544184f19e7d1216b3d5fcd
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Fri Jul 10 10:41:36 2015 +0200

    tbf: Move TFI selection into alloc_algorithm
    
    Currently the TFI and the TRX have to be determined before the actual TBF
    allocation function is called, passing TFI and TRX number as
    parameters. This does fit to TFI reuse for different slots, since
    this were tightly coupled with the slot selection.
    
    This commit just moves the TFI selection into the alloc_algorithm
    functions. The tfi parameter is removed from the the TFI alloc
    functions. The trx parameter is changed into use_trx to optionally
    limit the trx selection (same semantics like in tfi_find_free).
    
    Sponsored-by: On-Waves ehf

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

commit 4da768b26976cd10f20be32b460d374051b20b81
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Wed Jul 8 12:53:16 2015 +0200

    pdch: Manage TFIs per direction
    
    Currently a single bit set is used to maintain a set of used TFI
    without distinguishing between uplink and downlink. Since the
    namespaces of UL and DL TFI are separate, this implementation is
    not correct.
    
    This commit changes gprs_rlcmac_pdch to use a separate bit set for
    each direction. It also replace the corresponding conditional fprintf
    statement in check_tfi_usage (AllocTest.cpp) by an equivalent
    OSMO_ASSERT.
    
    Sponsored-by: On-Waves ehf

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

commit 0023fbde402832765f083cd79a3e2fe382e8b8fe
Author: Jacob Erlbeck <jerlbeck at sysmocom.de>
Date:   Thu Jul 9 11:35:50 2015 +0200

    alloc/test: Check for TFI conflicts
    
    This commit adds the check_tfi_usage function that checks the TFI
    usage. It iterates through all TBFs, records on which PDCH it uses
    which TFI and check for conflicts. It also checks the bits returned
    by pdch->assigned_tfi(). The latter suffers from an bug in that
    method (no separation of uplink and downlink), so a conditional
    fprintf is used instead of an assertion. The method tfi_find_free
    is checked for conflicts after allocations.
    
    Sponsored-by: On-Waves ehf

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

Summary of changes:
 src/bts.cpp                  |    2 +
 src/bts.h                    |    6 +
 src/gprs_ms.cpp              |    8 +
 src/gprs_ms.h                |    2 +
 src/gprs_rlcmac.h            |    5 +
 src/gprs_rlcmac_ts_alloc.cpp |  311 +++++----
 src/pcu_main.cpp             |    2 +-
 src/pcu_vty.c                |   13 +-
 tests/alloc/AllocTest.cpp    |  163 ++++-
 tests/alloc/AllocTest.err    | 1502 +++++++++++++++++++++++++++++++++++++++++-
 tests/alloc/AllocTest.ok     | 1261 +++++++++++++++++++++++++++++++++++
 11 files changed, 3124 insertions(+), 151 deletions(-)


hooks/post-receive
-- 
UNNAMED PROJECT



More information about the osmocom-commitlog mailing list