Skip to content

rt-numa.h cleanups

Daniel Wagner linux-rt-users 4 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v4 Latest16 patches 5 repliesIn review
  2. v316 patches 0 repliesSuperseded
  3. v220 patches 23 repliesSuperseded
Earlier versions · 1
VersionPostedPatchesRepliesStatus
v16 patches15 repliesSuperseded

Changes in v4 from the cover letter

- build fix becaue of error.c -> rt-error.c

Patches in v4 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/16cyclictest: Use numa API directlysrc/cyclictest/cyclictest.c src/cyclictest/rt_numa.h+24 -1151 reply
2/16cyclictest: Mimic --smp behavior with --affinitysrc/cyclictest/cyclictest.c+2 -01 reply
3/16cyclictest: Simplify --smp vs --affinity vs --threads argument logicsrc/cyclictest/cyclictest.c+8 -262 replies
4/16signaltest: Use affinity_mask for steering thread placementsrc/signaltest/signaltest.c+9 -350 replies
5/16signaltest: Simplify --smp vs --affinity vs --threads argument logicsrc/signaltest/signaltest.c+7 -160 replies
6/16rt-numa: Remove unused definitions and numa_initialize()src/cyclictest/cyclictest.c src/include/rt-numa.h src/lib/rt-numa.c +1 more+2 -250 replies
7/16rt-numa: Add generic cpu_for_thread() helpersrc/cyclictest/cyclictest.c src/include/rt-numa.h src/lib/rt-numa.c +1 more+13 -150 replies
8/16rt-numa: Use mask size for iterator limitsrc/lib/rt-numa.c+2 -20 replies
9/16rt-numa: Remove max_cpus argument from parse_cpusmasksrc/cyclictest/cyclictest.c src/include/rt-numa.h src/lib/rt-numa.c +2 more+9 -100 replies
10/16signaltest: Remove unused max_cpus argument from process_optionssrc/signaltest/signaltest.c+2 -20 replies
11/16cyclictest: Remove unused max_cpus argument from process_optionssrc/cyclictest/cyclictest.c+2 -20 replies
12/16rt-numa: Use CPU_SETSIZE as upper loop limitsrc/lib/rt-numa.c+1 -10 replies
13/16rt-numa: Remove used max_cpus argument from cpu_for_thread()src/cyclictest/cyclictest.c src/include/rt-numa.h src/lib/rt-numa.c +1 more+8 -90 replies
14/16cyclictest: Remove max cpus used verbose informationsrc/cyclictest/cyclictest.c+0 -110 replies
15/16cyclictest: Remove unecessary local variablesrc/cyclictest/cyclictest.c+2 -70 replies
16/16rt-tests: Rename error.h to rt-error.hMakefile src/cyclictest/cyclictest.c src/include/pip_stress.h +12 more+24 -221 reply

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v4 yet.

Read the v4 thread

Cover letter [PATCH rt-tests v4 00/16] rt-numa.h cleanups

This series cleans up the rt-numa.h header.

As we have a hard dependency on libnuma we can simplify the code in cyclictest. This allows remove all the small helpers in rt_numa.h. And with this we can remove the header and reduce the confusion with rt-numa.h

While at it, I simplified the --smp vs --affinity vs --threads logic. There is no need for additional variables to keep state. With this we also make --affinity to behave as with the rest of rt-tests. That is a plan -a will be the same as with -S. There is no need for -S anymore but I think we should leave it in place for backwards compatibility. I suspect, there must be a lot of muscle memory out there :)

Since signaltest has the same code as cyclictest, cleanup this tool as well.

With all those cleanups in cyclictest and signaltest, rt-numa.h contains only a three functions. The final part of the series is to remove unnecessary function arguments (max_cpus). This also fixes the theoretical problem that a sparse cpumask would not be handled correctly.

v4:
- build fix becaue of error.c -> rt-error.c

v3:
- added error handling for numa_on_node() return value
- added 'Rename error.h to rt-error.h' patch
- rebased, dropped applied patches
- fixed SoBs and stearing vs sterring spelling error

v2:
- added more cleanup patches

Daniel Wagner (16):
cyclictest: Use numa API directly
cyclictest: Mimic --smp behavior with --affinity
cyclictest: Simplify --smp vs --affinity vs --threads argument logic
signaltest: Use affinity_mask for steering thread placement
signaltest: Simplify --smp vs --affinity vs --threads argument logic
rt-numa: Remove unused definitions and numa_initialize()
rt-numa: Add generic cpu_for_thread() helper
rt-numa: Use mask size for iterator limit
rt-numa: Remove max_cpus argument from parse_cpusmask
signaltest: Remove unused max_cpus argument from process_options
cyclictest: Remove unused max_cpus argument from process_options
rt-numa: Use CPU_SETSIZE as upper loop limit
rt-numa: Remove used max_cpus argument from cpu_for_thread()
cyclictest: Remove max cpus used verbose information
cyclictest: Remove unecessary local variable
rt-tests: Rename error.h to rt-error.h

 Makefile                            |   2 +-
 src/cyclictest/cyclictest.c         | 111 ++++++++++------------------
 src/cyclictest/rt_numa.h            |  96 ------------------------
 src/include/pip_stress.h            |   5 +-
 src/include/{error.h => rt-error.h} |   0
 src/include/rt-numa.h               |  13 +---
 src/lib/{error.c => rt-error.c}     |   2 +-
 src/lib/rt-numa.c                   |  42 +++++------
 src/lib/rt-utils.c                  |   3 +-
 src/oslat/oslat.c                   |   5 +-
 src/pi_tests/pi_stress.c            |   3 +-
 src/pmqtest/pmqtest.c               |   6 +-
 src/ptsematest/ptsematest.c         |   6 +-
 src/sched_deadline/cyclicdeadline.c |   6 +-
 src/signaltest/signaltest.c         |  76 +++++--------------
 src/sigwaittest/sigwaittest.c       |   2 +-
 src/svsematest/svsematest.c         |   3 +-
 17 files changed, 99 insertions(+), 282 deletions(-)
 delete mode 100644 src/cyclictest/rt_numa.h
 rename src/include/{error.h => rt-error.h} (100%)
 rename src/lib/{error.c => rt-error.c} (98%)
Signature · 1 line
2.30.0