• Jesus Sanchez-Palencia's avatar
    net/sched: Add HW offloading capability to ETF · 88cab771
    Jesus Sanchez-Palencia authored
    Add infra so etf qdisc supports HW offload of time-based transmission.
    
    For hw offload, the time sorted list is still used, so packets are
    dequeued always in order of txtime.
    
    Example:
    
    $ tc qdisc replace dev enp2s0 parent root handle 100 mqprio num_tc 3 \
               map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 queues 1@0 1@1 2@2 hw 0
    
    $ tc qdisc add dev enp2s0 parent 100:1 etf offload delta 100000 \
    	   clockid CLOCK_REALTIME
    
    In this example, the Qdisc will use HW offload for the control of the
    transmission time through the network adapter. The hrtimer used for
    packets scheduling inside the qdisc will use the clockid CLOCK_REALTIME
    as reference and packets leave the Qdisc "delta" (100000) nanoseconds
    before their transmission time. Because this will be using HW offload and
    since dynamic clocks are not supported by the hrtimer, the system clock
    and the PHC clock must be synchronized for this mode to behave as
    expected.
    Signed-off-by: default avatarJesus Sanchez-Palencia <jesus.sanchez-palencia@intel.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    88cab771
sch_etf.c 10 KB