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=50076d7a18e03fee84017df4066efa1…
commit 50076d7a18e03fee84017df4066efa1429904c41
Author: Jacob Erlbeck <jerlbeck(a)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=ba39f92b58e69d6c1d7268bb2b8f90d…
commit ba39f92b58e69d6c1d7268bb2b8f90d0ff199a41
Author: Jacob Erlbeck <jerlbeck(a)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=a58d17131f2f6f7aca4f2479a0348ce…
commit a58d17131f2f6f7aca4f2479a0348ce04625fbfe
Author: Jacob Erlbeck <jerlbeck(a)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=a64aa7a65defed38baf2b344240ddf1…
commit a64aa7a65defed38baf2b344240ddf16095a9051
Author: Jacob Erlbeck <jerlbeck(a)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=5f16b96df993c8f44ed8ab64a39c20b…
commit 5f16b96df993c8f44ed8ab64a39c20b9b2904db3
Author: Jacob Erlbeck <jerlbeck(a)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=f78593d6e83dd9f26bd1f9cc0e97dab…
commit f78593d6e83dd9f26bd1f9cc0e97dabf792a6d8a
Author: Jacob Erlbeck <jerlbeck(a)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=cf01665b6bd4cc79276cb331ec20f91…
commit cf01665b6bd4cc79276cb331ec20f9141c622eee
Author: Jacob Erlbeck <jerlbeck(a)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=d31560624cd55371fc9d0a3f7b8d023…
commit d31560624cd55371fc9d0a3f7b8d023f5dda3558
Author: Jacob Erlbeck <jerlbeck(a)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=48d01a8e2fe77fa13d4f846ba730f43…
commit 48d01a8e2fe77fa13d4f846ba730f43fa3166319
Author: Jacob Erlbeck <jerlbeck(a)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=c86d1933900fdf4c1a296fe6fba7251…
commit c86d1933900fdf4c1a296fe6fba72512fe025958
Author: Jacob Erlbeck <jerlbeck(a)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=0c8ebf5f511826419c37e04dd136335…
commit 0c8ebf5f511826419c37e04dd1363357c2b4ec35
Author: Jacob Erlbeck <jerlbeck(a)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=ec4f21ddec40a9091083c23ec1f040f…
commit ec4f21ddec40a9091083c23ec1f040fd52525df9
Author: Jacob Erlbeck <jerlbeck(a)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=0062976f9ba526c67544184f19e7d12…
commit 0062976f9ba526c67544184f19e7d1216b3d5fcd
Author: Jacob Erlbeck <jerlbeck(a)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=4da768b26976cd10f20be32b460d374…
commit 4da768b26976cd10f20be32b460d374051b20b81
Author: Jacob Erlbeck <jerlbeck(a)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=0023fbde402832765f083cd79a3e2fe…
commit 0023fbde402832765f083cd79a3e2fe382e8b8fe
Author: Jacob Erlbeck <jerlbeck(a)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