At that PPS rate, you don't need two worker threads. The worker threads burn a 
bunch of cycles - poll-wait or not - doing next-to-nothing. Try running the 
main thread all by itself...

D.

-----Original Message-----
From: Heckman, Steve <steve.heck...@arris.com> 
Sent: Tuesday, September 18, 2018 5:15 PM
To: Dave Barach (dbarach) <dbar...@cisco.com>; vpp-dev@lists.fd.io
Subject: Re: Increase in main core CPU usage between 17.10 and 18.04

We back-merged the unix poll wait timeout and a 100 usec delay gets us down to 
maybe 15%. Just wondering why the change originally.

top -H:

top - 17:09:45 up 19 days,  2:07,  7 users,  load average: 5.72, 5.85, 5.69
Threads: 491 total,   7 running, 484 sleeping,   0 stopped,   0 zombie
%Cpu(s):  8.9 us,  0.0 sy,  0.0 ni, 91.0 id,  0.0 wa,  0.0 hi,  0.1 si,
0.0 st
KiB Mem : 26409392+total, 10683445+free, 15314609+used,  4113380 buff/cache
KiB Swap: 26830848+total, 26830848+free,        0 used. 10981197+avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+
COMMAND                                                         
 7621 root     -51   0 11.789g 119608  17500 R 99.7  0.0  39:21.32
vpp_wk_0                                                        
 7622 root     -51   0 11.789g 119608  17500 R 99.7  0.0  39:21.32
vpp_wk_1                                                        
 7615 root     -51   0 11.789g 119608  17500 R 83.8  0.0  34:24.68
vpp_main  

sudo strace -p 7615:

epoll_pwait(5, [], 256, 0, [], 8)       = 0
epoll_pwait(5, [], 256, 0, [], 8)       = 0
epoll_pwait(5, [], 256, 0, [], 8)       = 0
epoll_pwait(5, [], 256, 0, [], 8)       = 0
epoll_pwait(5, [], 256, 0, [], 8)       = 0
epoll_pwait(5, [], 256, 0, [], 8)       = 0
epoll_pwait(5, [], 256, 0, [], 8)       = 0



Thread 0 vpp_main (lcore 16)
Time 2234.4, average vectors/node 1.07, last 128 main loops 0.00 per node 0.00
  vector rates in 0.0000e0, out 1.6111e-2, drop 2.2377e-2, punt 0.0000e0
             Name                 State         Calls         
Vectors        Suspends         Clocks       Vectors/Call 
TenGigabitEthernet5/0/0-output   active                  3              
3               0          4.35e3            1.00
TenGigabitEthernet5/0/1-output   active                 17             
17               0          3.45e3            1.00
TenGigabitEthernet8/0/0-output   active                 18             
18               0          1.84e3            1.00
TenGigabitEthernet8/0/0-tx       active                 18             
18               0          7.47e3            1.00
TenGigabitEthernet8/0/1-output   active                 18             
18               0          1.62e3            1.00
TenGigabitEthernet8/0/1-tx       active                 18             
18               0          6.92e3            1.00
acl-plugin-fa-cleaner-process  event wait                0              
0               1          7.96e3            0.00
admin-up-down-process          event wait                0              
0               1          1.70e3            0.00
api-rx-from-ring                any wait                 0              
0             119          7.05e4            0.00
avf-process                    event wait                0              
0               1          9.06e3            0.00
bfd-process                    event wait                0              
0               1          5.34e3            0.00
cdp-process                     any wait                 0              
0               1          7.69e6            0.00
dhcp-client-process             any wait                 0              
0              23          7.64e3            0.00
dns-resolver-process            any wait                 0              
0               3          1.13e4            0.00
dpdk-ipsec-process                done                   1              
0               0          7.18e4            0.00
dpdk-process                    any wait                 0              
0             732          7.76e5            0.00
error-drop                       active                 45             
50               0          4.24e3            1.11
ethernet-input                   active                 16             
16               0          2.89e3            1.00
fib-walk                        any wait                 0              
0            1097          2.19e3            0.00
flow-report-process             any wait                 0              
0               1          1.21e3            0.00
flowprobe-timer-process         any wait                 0              
0               1          6.17e3            0.00
icmp6-router-advertisement       active                 15             
15               0          5.36e3            1.00
icmp6-router-solicitation        active                 60             
73               0          4.19e3            1.22
igmp-timer-process             event wait                0              
0               1          8.86e3            0.00
ikev2-manager-process           any wait                 0              
0            2193          2.16e3            0.00
ioam-export-process             any wait                 0              
0               1          1.49e3            0.00
ip-route-resolver-process       any wait                 0              
0              23          4.47e3            0.00
ip4-reassembly-expire-walk      any wait                 0              
0             221          2.94e3            0.00
ip6-drop                         active                 30             
30               0          1.38e3            1.00
ip6-icmp-error                   active                  1              
1               0          2.09e3            1.00
ip6-icmp-input                   active                 16             
16               0          1.34e3            1.00
ip6-icmp-neighbor-discovery-ev  any wait                 0              
0            2193          2.24e3            0.00
ip6-input                        active                 16             
16               0          1.83e3            1.00
ip6-link-local                   active                  1              
1               0          1.50e3            1.00
ip6-local                        active                 17             
17               0          3.54e3            1.00
ip6-lookup                       active                  3              
3               0          5.49e3            1.00
ip6-mfib-forward-lookup          active                 16             
16               0          3.86e3            1.00
ip6-mfib-forward-rpf             active                 16             
16               0          3.35e3            1.00
ip6-reassembly-expire-walk      any wait                 0              
0             221          2.99e3            0.00
ip6-replicate                    active                 16             
16               0          2.72e3            1.00
ip6-rewrite                      active                  1              
1               0          5.67e3            1.00
ip6-rewrite-mcast                active                 55             
64               0          1.98e3            1.16
l2fib-mac-age-scanner-process  event wait                0              
0               1          1.93e3            0.00
lacp-process                   event wait                0              
0               1          1.02e7            0.00
lisp-retry-service              any wait                 0              
0            1097          2.96e3            0.00
lldp-process                   event wait                0              
0               1          7.15e6            0.00
loop0-output                     active                 16             
16               0          1.81e3            1.00
loop0-tx                         active                 16              
0               0          1.56e3            0.00
memif-process                  event wait                0              
0               1          1.28e4            0.00
nat-det-expire-walk               done                   1              
0               0          2.12e3            0.00
nat64-expire-walk              event wait                0              
0               1          2.68e4            0.00
rd-cp-process                   any wait                 0              
0        93544417          2.71e2            0.00
send-garp-na-process           event wait                0              
0               1          1.42e3            0.00
send-rs-process                 any wait                 0              
0               1          1.41e3            0.00
startup-config-process            done                   1              
0               1          1.60e9            0.00
udp-ping-local                   active                  1              
1               0          1.59e4            1.00
udp-ping-process                any wait                 0              
0               1          1.96e4            0.00
unix-cli-127.0.0.1:52318         active                  0              
0              24          1.09e8            0.00
unix-cli-stdin                 event wait                0              
0               1          2.11e9            0.00
unix-epoll-input                 polling          68445636              
0               0          1.16e4            0.00
vhost-user-process              any wait                 0              
0               1          1.58e3            0.00
vhost-user-send-interrupt-proc  any wait                 0              
0               1          1.37e3            0.00
vpe-link-state-process         event wait                0              
0               2          5.49e3            0.00
vpe-oam-process                 any wait                 0              
0            1076          3.17e3            0.00
vxlan-gpe-ioam-export-process   any wait                 0              
0               1          2.16e3            0.00
wildcard-ip4-arp-publisher-pro event wait                0              
0               1          1.87e3            0.00
---------------
Thread 1 vpp_wk_0 (lcore 4)
Time 2234.4, average vectors/node 1.00, last 128 main loops 0.00 per node 0.00
  vector rates in 1.7902e-3, out 0.0000e0, drop 1.7902e-3, punt 0.0000e0
             Name                 State         Calls         
Vectors        Suspends         Clocks       Vectors/Call 
arp-input                        active                  3              
3               0          1.57e4            1.00
dpdk-input                       polling        7030810415              
4               0         1.09e12            0.00
error-drop                       active                  4              
4               0          6.25e3            1.00
ethernet-input                   active                  3              
3               0          3.17e3            1.00
icmp6-neighbor-advertisement     active                  1              
1               0          1.35e4            1.00
ip6-drop                         active                  1              
1               0          5.52e2            1.00
ip6-icmp-input                   active                  1              
1               0          1.43e3            1.00
ip6-input                        active                  1              
1               0          2.27e3            1.00
ip6-local                        active                  1              
1               0          1.67e3            1.00
ip6-lookup                       active                  1              
1               0          3.63e3            1.00
unix-epoll-input                 polling           1877343              
0               0         5.71e-4            0.00
---------------
Thread 2 vpp_wk_1 (lcore 20)
Time 2234.4, average vectors/node 1.00, last 128 main loops 0.00 per node 0.00
  vector rates in 8.9508e-4, out 4.4754e-4, drop 4.4754e-4, punt 0.0000e0
             Name                 State         Calls         
Vectors        Suspends         Clocks       Vectors/Call 
TenGigabitEthernet8/0/0-output   active                  1              
1               0          3.00e3            1.00
TenGigabitEthernet8/0/0-tx       active                  1              
1               0          3.16e3            1.00
dpdk-input                       polling        7017175581              
2               0         2.17e12            0.00
error-drop                       active                  1              
1               0          1.23e4            1.00
icmp6-neighbor-advertisement     active                  1              
1               0          1.45e4            1.00
icmp6-neighbor-solicitation      active                  1              
1               0          1.22e4            1.00
interface-output                 active                  1              
1               0          5.67e3            1.00
ip6-drop                         active                  1              
1               0          1.75e3            1.00
ip6-icmp-input                   active                  2              
2               0          2.84e3            1.00
ip6-input                        active                  2              
2               0          5.28e3            1.00
ip6-local                        active                  2              
2               0          4.12e3            1.00
ip6-lookup                       active                  2              
2               0          4.60e3            1.00
unix-epoll-input                 polling           1877343              
0               0          2.29e3            0.00

Thanks,
Steve

On 09/18/2018 05:06 PM, Dave Barach (dbarach) wrote:
> "show run" please...
>
> -----Original Message-----
> From: vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> On Behalf Of sheckman
> Sent: Tuesday, September 18, 2018 4:58 PM
> To: vpp-dev@lists.fd.io
> Subject: [vpp-dev] Increase in main core CPU usage between 17.10 and 
> 18.04
>
>
> I've been seeing a dramatic increase in CPU usage by the vpp_main task.
>
> It used to be around 0.3%.
>
> Now it's around 85%.
>
> I've pored over the release notes and design docs, but haven't found an 
> explanation for this.
>
> Why the increase?
>
> Thanks,
>
> Steve Heckman
>
> Principal Software Engineer
>
> Arris Group
>
>
>

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#10549): https://lists.fd.io/g/vpp-dev/message/10549
Mute This Topic: https://lists.fd.io/mt/25750065/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to