lkml.org 
[lkml]   [2020]   [Feb]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 281/309] taprio: Fix dropping packets when using taprio + ETF offloading
    Date
    From: Vinicius Costa Gomes <vinicius.gomes@intel.com>

    [ Upstream commit bfabd41da34180d05382312533a3adc2e012dee0 ]

    When using taprio offloading together with ETF offloading, configured
    like this, for example:

    $ tc qdisc replace dev $IFACE parent root handle 100 taprio \
    num_tc 4 \
    map 2 2 1 0 3 2 2 2 2 2 2 2 2 2 2 2 \
    queues 1@0 1@1 1@2 1@3 \
    base-time $BASE_TIME \
    sched-entry S 01 1000000 \
    sched-entry S 0e 1000000 \
    flags 0x2

    $ tc qdisc replace dev $IFACE parent 100:1 etf \
    offload delta 300000 clockid CLOCK_TAI

    During enqueue, it works out that the verification added for the
    "txtime" assisted mode is run when using taprio + ETF offloading, the
    only thing missing is initializing the 'next_txtime' of all the cycle
    entries. (if we don't set 'next_txtime' all packets from SO_TXTIME
    sockets are dropped)

    Fixes: 4cfd5779bd6e ("taprio: Add support for txtime-assist mode")
    Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@intel.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    net/sched/sch_taprio.c | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    --- a/net/sched/sch_taprio.c
    +++ b/net/sched/sch_taprio.c
    @@ -1522,9 +1522,9 @@ static int taprio_change(struct Qdisc *s
    goto unlock;
    }

    - if (TXTIME_ASSIST_IS_ENABLED(q->flags)) {
    - setup_txtime(q, new_admin, start);
    + setup_txtime(q, new_admin, start);

    + if (TXTIME_ASSIST_IS_ENABLED(q->flags)) {
    if (!oper) {
    rcu_assign_pointer(q->oper_sched, new_admin);
    err = 0;

    \
     
     \ /
      Last update: 2020-02-10 13:42    [W:4.139 / U:0.044 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site