[dpdk-users] Understanding ip_pipeline thread headroom

longtb5 at viettel.com.vn longtb5 at viettel.com.vn
Thu Feb 1 13:08:24 CET 2018


The `thread` command in the ip_pipeline application is not documented. By
chance, I found in git log this interesting functionality.

> examples/ip_pipeline: measure CPU utilization
> This patch adds CPU utilization measurement and idle cycle rate
> computation to packet framework. The measurement is done by measuring
> the cycles spent while a thread pulls zero packet from RX queue. These
> cycles are treated as idle cycles (or headroom). A CLI command is added
> to display idle cycle rate of specific thread. The CLI command format is
> shown as following:
> t <thread_id> headroom

This command seems to be useful for power management. However I'm not quite
sure how to interpret the reported percentage of `thread headroom`. For
example, when I have ip_pipeline receiving packets at line rate, thread
headroom value for every pipeline module is close to 0%, as expected. But
when I send no packet at all, this value doesn't go up above 60%. In fact,
pipeline master reports a value of around 80%, when it doesn't receive or
process packets at all. Shouldn't it be 100%?

Please let me know if I misunderstood anything.


More information about the users mailing list