18 Oct, 2017

1 commit

  • The fq structure would fail to properly enforce the memory limit in the case
    where the packet being enqueued was bigger than the packet being removed to
    bring the memory usage down. So keep dropping packets until the memory usage is
    back below the limit. Also, fix the statistics for memory limit violations.

    Signed-off-by: Toke Høiland-Jørgensen
    Signed-off-by: Johannes Berg

    Toke Høiland-Jørgensen
     

30 Sep, 2016

1 commit

  • The reusable fairness queueing implementation (fq.h) lacks the memory
    usage limit that the fq_codel qdisc has. This means that small
    devices (e.g. WiFi routers) can run out of memory when flooded with a
    large number of packets. This ports the memory limit feature from
    fq_codel to fq.h.

    Signed-off-by: Toke Høiland-Jørgensen
    Signed-off-by: Johannes Berg

    Toke Høiland-Jørgensen
     

29 Apr, 2016

1 commit

  • mac80211 (which will be the first user of the
    fq.h) recently started to support software A-MSDU
    aggregation. It glues skbuffs together into a
    single one so the backlog accounting needs to be
    more fine-grained.

    To avoid backlog sorting logic duplication split
    it up for re-use.

    Signed-off-by: Michal Kazior
    Signed-off-by: David S. Miller

    Michal Kazior
     

26 Apr, 2016

1 commit

  • This works on the same implementation principle as
    codel*.h, i.e. there's a generic header with
    structures and macros and a implementation header
    carrying function definitions to include in given,
    e.g. driver or module.

    The fairness logic comes from
    net/sched/sch_fq_codel.c but is generalized so it
    is more flexible and easier to re-use.

    Signed-off-by: Michal Kazior
    Signed-off-by: David S. Miller

    Michal Kazior