Summary of osmo-pcu failures/defects

Holger Hans Peter Freyther hfreyther at
Mon Nov 25 23:18:03 UTC 2013

On Mon, Nov 25, 2013 at 09:21:08AM +0100, Holger Hans Peter Freyther wrote:

> As I have already pointed out. Some control blocks can starve. I don't
> know if it does but it is where I will continue to have a look.

Here is the starvation theory for the ping:

We have a LLC frame (or many queued up)... we schedule the polls and
at the final_ack indicate we decide to re-use the TBF. This means that
we will schedule another PACKET DOWNLINK ASSIGNMENT. But at the same
time we either want to honor the "rh->si" or want to schedule the ACK

So we more or less want to send "PACKET DOWNLINK ASSIGNMENT" and the
"PACKET UPLINK ACK" at the same time (with more DL tbfs/traffic this
is getting more likely) but currently we will always prefer the PACKET
DOWNLINK ASSIGNMENT. This means that the uplink will starve (e.g. the
window stalled, rh->si means that the uplink will starve (the window
will stall, rh->si being set, etc).

Fairness improvements:

* put ul_ass_tbf, dl_ass_tbf, ul_ack_tbf in an array and store the
  last index in the PDCH and iterate over it.
* move the TBF to the front of the ul_tbfs and dl_tbfs list so that
  it is not selected again.

- Holger Freyther <hfreyther at>
* sysmocom - systems for mobile communications GmbH
* Schivelbeiner Str. 5
* 10439 Berlin, Germany
* Sitz / Registered office: Berlin, HRB 134158 B
* Geschaeftsfuehrer / Managing Directors: Holger Freyther, Harald Welte

More information about the osmocom-net-gprs mailing list