[dpdk-dev] [PATCH] sched: add 64-bit counter retrieval API

2018-07-18 Thread alangordondewar
From: Alan Dewar Add new APIs to retrieve counters in 64-bit wide fields. Signed-off-by: Alan Dewar --- lib/librte_sched/rte_sched.c | 72 lib/librte_sched/rte_sched.h | 76 ++ lib/librte_sched/rte_sched_versi

[dpdk-dev] [PATCH v6] sched: make RED scaling configurable

2018-01-15 Thread alangordondewar
From: Alan Dewar The RED code stores the weighted moving average in a 32-bit integer as a pseudo fixed-point floating number with 10 fractional bits. Twelve other bits are used to encode the filter weight, leaving just 10 bits for the queue length. This limits the maximum queue length supported

[dpdk-dev] [PATCH v7] sched: make RED scaling configurable

2018-01-16 Thread alangordondewar
From: Alan Dewar The RED code stores the weighted moving average in a 32-bit integer as a pseudo fixed-point floating number with 10 fractional bits. Twelve other bits are used to encode the filter weight, leaving just 10 bits for the queue length. This limits the maximum queue length supported

[dpdk-dev] [PATCH] sched: make RED scaling configurable

2017-09-01 Thread alangordondewar
From: Alan Dewar The RED code stores the maximum threshold is a 32-bit integer as a pseudo fixed-point floating number with 10 fractional bits. Twelve other bits are used to encode the filter weight, leaving just 10 bits for the queue length. This limits the maximum queue length supported by RE

[dpdk-dev] [PATCH v2] sched: make RED scaling configurable

2017-09-13 Thread alangordondewar
From: Alan Dewar The RED code stores the maximum threshold is a 32-bit integer as a pseudo fixed-point floating number with 10 fractional bits. Twelve other bits are used to encode the filter weight, leaving just 10 bits for the queue length. This limits the maximum queue length supported by RE

[dpdk-dev] [PATCH v3] sched: make RED scaling configurable

2017-09-20 Thread alangordondewar
From: Alan Dewar The RED code stores the maximum threshold is a 32-bit integer as a pseudo fixed-point floating number with 10 fractional bits. Twelve other bits are used to encode the filter weight, leaving just 10 bits for the queue length. This limits the maximum queue length supported by RE

[dpdk-dev] [PATCH v4] sched: make RED scaling configurable

2017-10-03 Thread alangordondewar
From: Alan Dewar The RED code stores the weighted moving average in a 32-bit integer as a pseudo fixed-point floating number with 10 fractional bits. Twelve other bits are used to encode the filter weight, leaving just 10 bits for the queue length. This limits the maximum queue length supported

[dpdk-dev] [RFC] sched: parameterize QoS traffic-classes and queues

2017-10-05 Thread alangordondewar
From: Alan Dewar The DPDK QoS framework has hierarchy of QoS scheduling elements: port, subport, pipe, traffic-class and queue. The first two levels of the hierarchy are flexible (port and subport) in the number child nodes that each parent can have, but from the pipe layer down the number of ch

[dpdk-dev] [PATCH] sched: fix overflow errors in WRR weighting code

2017-11-14 Thread alangordondewar
From: Alan Dewar The WRR code calculates the lowest common denominator between the four WRR weights as a uint32_t value and divides the LCD by each of the WRR weights and casts the results as a uint8_t. This casting can cause the ratios of the computed wrr costs to be wrong. For example with WR

[dpdk-dev] [PATCH] test: new sched WRR unit-test

2017-11-16 Thread alangordondewar
From: Alan Dewar New unit-test for the librte_sched WRR weighting code. With the standard 17.11 code, the first three sub-tests pass, but the last two fail due to bugs in the WRR weighting code. With the "sched: fix overflow errors in WRR weighting code" patch all five sub-tests pass. Signed-o

[dpdk-dev] [PATCH v2] sched: fix overflow errors in WRR weighting code

2017-11-30 Thread alangordondewar
From: Alan Dewar Revised patch - this version fixes an issue when a small wrr_cost is shifted so far right that its value becomes zero. The WRR code calculates the lowest common denominator between the four WRR weights as a uint32_t value and divides the LCD by each of the WRR weights and casts

[dpdk-dev] [PATCH v2] test: new sched WRR unit-test

2017-11-30 Thread alangordondewar
From: Alan Dewar New unit-test for the librte_sched WRR weighting code. With the standard 17.11 code, the first three sub-tests pass, but the last three fail due to bugs in the WRR weighting code. With v1 of the "sched: fix overflow errors in WRR weighting code" patch the first five sub-tests p

[dpdk-dev] [PATCH] vhost: support non multiqueue guests

2018-01-31 Thread alangordondewar
From: Alan Dewar Performance of vhost interfaces can be improved by having multiple TX/RX queue-pairs. QEMU can be told to use multiple queue-pairs for a vhost interface when starting the guest VM. The DPDK will also configure multiple queue-pairs in response to requests from QEMU. Later when

[dpdk-dev] [RFC v2] sched: parameterize QoS traffic-classes and queues

2018-02-16 Thread alangordondewar
From: Alan Dewar The DPDK QoS framework has hierarchy of QoS scheduling elements: port, subport, pipe, traffic-class and queue. The first two levels of the hierarchy are flexible (port and subport) in the number child nodes that each parent can have, but from the pipe layer down the number of ch

[dpdk-dev] [RFC 1/2] sched: new APIs for per-subport queue sizes

2018-02-28 Thread alangordondewar
From: Alan Dewar Added new APIs to allow the maximum queue sizes for each traffic class to be configured on a per-subport basis, rather than all subport's inheriting their maximum queue sizes from their parent port. Added new sched unit-test to exercise the new APIs. Signed-off-by: Alan Dewar

[dpdk-dev] [RFC 2/2] sched: support per-subport wred configurations

2018-02-28 Thread alangordondewar
From: Alan Dewar Move the WRED queue configuration parameters from rte_sched_port_params into rte_sched_subport_params so that we can have different WRED configuations on each subport. Updated sched unit-test to exercise new functionality. Signed-off-by: Alan Dewar --- lib/librte_sched/rte_sc

[dpdk-dev] [PATCH v5] sched: make RED scaling configurable

2018-01-08 Thread alangordondewar
From: Alan Dewar The RED code stores the weighted moving average in a 32-bit integer as a pseudo fixed-point floating number with 10 fractional bits. Twelve other bits are used to encode the filter weight, leaving just 10 bits for the queue length. This limits the maximum queue length supported

[dpdk-dev] [PATCH] sched: fix port time rounding error

2020-04-16 Thread alangordondewar
From: Alan Dewar The QoS scheduler works off port time that is computed from the number of CPU cycles that have elapsed since the last time the port was polled. It divides the number of elapsed cycles to calculate how many bytes can be sent, however this division can generate rounding errors, w

[dpdk-dev] [PATCH v2] sched: fix port time rounding error

2020-06-25 Thread alangordondewar
From: Alan Dewar The QoS scheduler works off port time that is computed from the number of CPU cycles that have elapsed since the last time the port was polled. It divides the number of elapsed cycles to calculate how many bytes can be sent, however this division can generate rounding errors, w