• Xin Long's avatar
    sctp: add weighted fair queueing stream scheduler · 42d452e7
    Xin Long authored
    As it says in rfc8260#section-3.6 about the weighted fair queueing
    scheduler:
    
       A Weighted Fair Queueing scheduler between the streams is used.  The
       weight is configurable per outgoing SCTP stream.  This scheduler
       considers the lengths of the messages of each stream and schedules
       them in a specific way to use the capacity according to the given
       weights.  If the weight of stream S1 is n times the weight of stream
       S2, the scheduler should assign to stream S1 n times the capacity it
       assigns to stream S2.  The details are implementation dependent.
       Interleaving user messages allows for a better realization of the
       capacity usage according to the given weights.
    
    This patch adds Weighted Fair Queueing Scheduler actually based on
    the code of Fair Capacity Scheduler by adding fc_weight into struct
    sctp_stream_out_ext and taking it into account when sorting stream->
    fc_list in sctp_sched_fc_sched() and sctp_sched_fc_dequeue_done().
    Signed-off-by: default avatarXin Long <lucien.xin@gmail.com>
    Acked-by: default avatarMarcelo Ricardo Leitner <marcelo.leitner@gmail.com>
    Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
    42d452e7
stream_sched_fc.c 5.58 KB