Requesting support for CPU performance and benchmarking in the presence of network

Hi,

We have a test bed DUT with OpenWRT While Capturing CPU usage, we
observed below points.

  1. 5 mobile clients are connected to the DUT and streaming HD video
    consumes CPU usage 0 to 5%

  2. 5 mobile clients are connected to DUT and streaming HD video and
    downloading a 350MB file for every 3minutes then CPU usage is 8% to
    30%

If I increase the number of downloads then softirq increased and CPU
usage has reached to more the 30%

Will we have any impact on CPU if softirq's increases?

Please help me to confirm, is this an issue? are we need to consider this issue?

Thanks in advance.

Device: ?
OpenWRT Version: ?
Goal: ENDGAME vs TRUE TESTING

i.e.
BASELINE + ( SIM x A ) = SAME = GOOD
or
ACTUAL@SIMxA = UNDER MY GOAL

Essentially LOAD = CPU USAGE

If you have a reason to focus on SoftIRQ, what is it?
If you have another test to compare your current test with what is it?
Do you consider test2 to be realistic?
What other tests can you do to better simulate real demands/conditions on the underlying system components you wish to investigate?

Without knowing these..... your not really benchmarking.... your baselining....

Hi Wulfy,

We are using DUT of a custom board with arm v7 CPU and speed is 700MHz(QUALCOMM). Our baseline openwrt with 15.05.

can you explain little more about,
i.e.
BASELINE + ( SIM x A ) = SAME = GOOD
or
ACTUAL@SIMxA = UNDER MY GOAL

Essentially LOAD = CPU USAGE

if you have a reason to focus on SoftIRQ, what is it?
[jchari] I don't have any reason. But my basic doubt, are we need to consider SoftIRQ? if need to consider when it will impact.

If you have another test to compare your current test with what is it?
[jchari] I don't have any previous comparisons.

Do you consider test2 to be realistic?
[jchari] I am not sure.

How can I benchmark my baseline?

Sounds to me like your looking for a testing tool to itemise key resources under load.

BASELINE + ( controlledTEST x A ) = QUANTITATIVE
ACTUAL@controlledTESTxA = QUALITATIVE

DISCLAIMER: I am discussing LOW LEVEL OS performance debugging. You can take lots of meaningful measurements without this level of interaction..... But you have to work very hard to control the environment.

assume UPSTREAM NETWORK conditions are NOT STATIC

did you use local servers / media to download from?

When you select one or several SPECIFIC measurement parameter results under CONTROLLED conditions they can be your BENCHMARK.

softirq increases are a CONSEQUENCE of CPU consumption.

Read up on them.... but on their own, they are not quantifyable without a narrower context.

If you ran the EXACT same tests, with another operating system version aka 18.06.02..... Then you would have a usable BENCHMARK on your hands and because you have narrowed test parameters.

Look into perf and compiling an image with symbols.....

With perf you can itemise low level OS functions where they matter.... because CPU usage is not just about the actual TRAFFIC that is passing through a device.....

Is it in the driver, the interrupts, the network stack..... ?

If you manage to get perf setup.... you can create nice graphs like;

Listen very carefully@11:20 ... think about time and what influence it plays.....
Also@26:46....

I'm sure others will let you know of some better / easier ways to gather more about the bigger picture..... before you zoom in on one exact thing......

softirq will be related to packets per second, and to shaping/qdisc and maybe for wifi to things like number of SSIDs and number of radios and also to other kinds of I/o such as USB or SATA etc.

you should pay attention to softirq for routing loads especially since every time a packet comes in another packet goes out, it is an important part of routing to process softirqs

Thank you Wulfy, for your good explanation to understand the concept.

1 Like

Thank you dlakelan.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.