All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH iproute2-next v2 0/7] Move rate and size parsing and output to lib
@ 2020-12-05 21:13 Petr Machata
  2020-12-05 21:13 ` [PATCH iproute2-next v2 1/7] Move the use_iec declaration to the tools Petr Machata
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Petr Machata @ 2020-12-05 21:13 UTC (permalink / raw)
  To: netdev, dsahern, stephen
  Cc: Po.Liu, toke, dave.taht, edumazet, tahiliani, leon, Petr Machata

The DCB tool will have commands that deal with buffer sizes and traffic
rates. TC is another tool that has a number of such commands, and functions
to support them: get_size(), get_rate/64(), s/print_size() and
s/print_rate(). In this patchset, these functions are moved from TC to lib/
for possible reuse and modernized.

s/print_rate() has a hidden parameter of a global variable use_iec, which
made the conversion non-trivial. The parameter was made explicit,
print_rate() converted to a mostly json_print-like function, and
sprint_rate() retired in favor of the new print_rate. Patches #1 and #2
deal with this.

The intention was to treat s/print_size() similarly, but unfortunately two
use cases of sprint_size() cannot be converted to a json_print-like
print_size(), and the function sprint_size() had to remain as a discouraged
backdoor to print_size(). This is done in patch #3.

Patch #4 then improves the code of sprint_size() a little bit.

Patch #5 fixes a buglet in formatting small rates in IEC mode.

Patches #6 and #7 handle a routine movement of, respectively,
get_rate/64() and get_size() from tc to lib.

This patchset does not actually add any new uses of these functions. A
follow-up patchset will add subtools for management of DCB buffer and DCB
maxrate objects that will make use of them.

v2:
- Patch #2:
    - Adapt q_mqprio.c patch, the file changed since v1.
- Patch #4:
    - This patch is new. It addresses a request from Stephen Hemminger to
      clean up the sprint_size() function.


Petr Machata (7):
  Move the use_iec declaration to the tools
  lib: Move print_rate() from tc here; modernize
  lib: Move sprint_size() from tc here, add print_size()
  lib: sprint_size(): Uncrustify the code a bit
  lib: print_color_rate(): Fix formatting small rates in IEC mode
  lib: Move get_rate(), get_rate64() from tc here
  lib: Move get_size() from tc here

 include/json_print.h |  14 ++++
 include/utils.h      |   4 +-
 ip/ip_common.h       |   2 +
 lib/json_print.c     |  63 +++++++++++++++
 lib/utils.c          | 114 +++++++++++++++++++++++++++
 tc/m_gate.c          |   6 +-
 tc/m_police.c        |  14 ++--
 tc/q_cake.c          |  44 +++++------
 tc/q_cbq.c           |  14 +---
 tc/q_drr.c           |  10 +--
 tc/q_fifo.c          |  10 +--
 tc/q_fq.c            |  34 +++-----
 tc/q_fq_codel.c      |   5 +-
 tc/q_fq_pie.c        |   9 +--
 tc/q_gred.c          |  39 ++--------
 tc/q_hfsc.c          |   4 +-
 tc/q_hhf.c           |   9 +--
 tc/q_htb.c           |  23 +++---
 tc/q_mqprio.c        |   6 +-
 tc/q_netem.c         |   4 +-
 tc/q_red.c           |  13 +---
 tc/q_sfq.c           |  15 +---
 tc/q_tbf.c           |  32 +++-----
 tc/tc_common.h       |   1 +
 tc/tc_util.c         | 180 +++----------------------------------------
 tc/tc_util.h         |   8 +-
 26 files changed, 307 insertions(+), 370 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2020-12-09  2:35 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-05 21:13 [PATCH iproute2-next v2 0/7] Move rate and size parsing and output to lib Petr Machata
2020-12-05 21:13 ` [PATCH iproute2-next v2 1/7] Move the use_iec declaration to the tools Petr Machata
2020-12-05 21:13 ` [PATCH iproute2-next v2 2/7] lib: Move print_rate() from tc here; modernize Petr Machata
2020-12-05 21:13 ` [PATCH iproute2-next v2 3/7] lib: Move sprint_size() from tc here, add print_size() Petr Machata
2020-12-05 21:13 ` [PATCH iproute2-next v2 4/7] lib: sprint_size(): Uncrustify the code a bit Petr Machata
2020-12-05 21:13 ` [PATCH iproute2-next v2 5/7] lib: print_color_rate(): Fix formatting small rates in IEC mode Petr Machata
2020-12-05 21:13 ` [PATCH iproute2-next v2 6/7] lib: Move get_rate(), get_rate64() from tc here Petr Machata
2020-12-05 21:13 ` [PATCH iproute2-next v2 7/7] lib: Move get_size() " Petr Machata
2020-12-09  2:34 ` [PATCH iproute2-next v2 0/7] Move rate and size parsing and output to lib David Ahern

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.