[dpdk-dev] [PATCH 0/4] Convert lpm data from header to resource

Nikita Kozlov nikita at elyzion.net
Tue Jun 14 15:03:26 CEST 2016


Re-submission of Bruce Richardson patch set:
http://dpdk.org/dev/patchwork/patch/12484/

This patchset is a rebase to the current head and use of 
strndupa (not posix) was replaced.

Original cover letter:

This patchset is based on the work done by Jan Viktorin to add resource
handling to the test app. [1]
It takes the existing lpm large routing table information and converts it
from a header file included at compile time to a resource linked in. This
improves things in two ways:
1. Improves DPDK build time
2. Removes approx 1 million lines of code from our LOC counts, as the header
file no longer counts as code, but more correctly as data.

Before and after approx code stats (with some additional patchsets applied).
Notice how the app folder has dropped from being the biggest component with
6x the drivers code to second place with less code than the drivers.
Future work is to repeat the same process for lpm6.

SLOC    Directory       SLOC-by-Language (Sorted)
1237464 app             ansic=1236324,python=1140
192107  drivers         ansic=192107
108109  lib             ansic=107968,python=141
65447   examples        ansic=65312,sh=135
849     tools           python=444,sh=405
799     scripts         sh=799
77      doc             python=75,sh=2
0       config          (none)
0       mk              (none)
0       pkg             (none)
0       top_dir         (none)


Totals grouped by language (dominant language first):
ansic:      1601711 (99.80%)
python:        1800 (0.11%)
sh:            1341 (0.08%)

-----------

SLOC    Directory       SLOC-by-Language (Sorted)
192107  drivers         ansic=192107
160646  app             ansic=159506,python=1140
108109  lib             ansic=107968,python=141
65447   examples        ansic=65312,sh=135
849     tools           python=444,sh=405
799     scripts         sh=799
77      doc             python=75,sh=2
0       config          (none)
0       mk              (none)
0       pkg             (none)
0       top_dir         (none)


Totals grouped by language (dominant language first):
ansic:       524893 (99.41%)
python:        1800 (0.34%)
sh:            1341 (0.25%)

generated using David A. Wheeler's 'SLOCCount'

[1] http://dpdk.org/ml/archives/dev/2016-April/038145.html

Nikita Kozlov (4):
  test: make all lpm routes be of unsigned type
  test: change lpm routes file from header to data file
  test: change lpm test to use routes as resource
  test: change lpm perf test to use routes as resource

 app/test/Makefile                                  |  1 +
 app/test/test_lpm.c                                | 73 ++++++++++++++++++-
 app/test/test_lpm_perf.c                           | 83 ++++++++++++++++++++--
 .../{test_lpm_routes.h => test_lpm_routes.dat}     |  2 +-
 4 files changed, 150 insertions(+), 9 deletions(-)
 rename app/test/{test_lpm_routes.h => test_lpm_routes.dat} (99%)

-- 
2.8.1



More information about the dev mailing list