On Wed, 31 Jan 2018 02:29:59 +0800 Leo Yan leo.yan@linaro.org wrote:
CPU 0 State : Duration(ms) Distribution cstate 0 : 47555 |********************************* | cstate 1 : 0 | | cstate 2 : 0 | | pstate 0 : 15239 |********* | pstate 1 : 1521 | | pstate 2 : 3188 |* | pstate 3 : 1836 | | pstate 4 : 94 | |
CPU 1 State : Duration(ms) Distribution cstate 0 : 87 | | cstate 1 : 16264 |********** | cstate 2 : 50458 |*********************************** | pstate 0 : 832 | | pstate 1 : 131 | | pstate 2 : 825 | | pstate 3 : 787 | | pstate 4 : 4 | |
CPU 2 State : Duration(ms) Distribution cstate 0 : 177 | | cstate 1 : 9363 |***** | cstate 2 : 55835 |*************************************** | pstate 0 : 1468 | | pstate 1 : 350 | | pstate 2 : 1062 | | pstate 3 : 1164 | | pstate 4 : 7 | |
The output gets very long as the number of CPUs grow... What about using the following output:
state(ms) cstate-0 cstate-1 cstate-2 pstate-0 pstate-1 pstate-2 pstate-3 pstate-4 CPU-0 47,555 0 0 15,239 1,521 1,836 1,836 94 CPU-1 87 16,264 50,458 832 131 825 787 4 CPU-2 177 9,363 55,835 1,468 350 1,062 1,164 7
Look at the code samples/bpf/xdp_redirect_cpu_user.c for an examples of howto align the columns, and the trick to get printf to pretty print with thousands separators use %' and setlocale(LC_NUMERIC, "en_US").
P.S. net-next and bpf-next is closed at the moment. Next time you submit read[1] and [2], especially howto indicate which tree (bpf vs. bpf-next) the patch is against, as this helps the workflow of the maintainers.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git/tree/Docume... [2] Documentation/networking/netdev-FAQ.txt -- Best regards, Jesper Dangaard Brouer MSc.CS, Principal Kernel Engineer at Red Hat LinkedIn: http://www.linkedin.com/in/brouer