Opened 3 weeks ago

Closed 3 weeks ago

#2352 closed defect (duplicate)

Single thread goes wild on ARM

Reported by: jogger Owned by:
Priority: major Milestone: undecided
Component: router/general Version: 0.9.37
Keywords: Cc:
Parent Tickets:

Description

This identifies the basic problem touched in #1411, #1943 and #2314.

General effect is reduced throughput, one thread maxing out a single core, several other packet processing threads running at CPU levels too high relative to the reduced traffic.

Seen this in the last years on RPi2 (quad ARM32), Odroid C2 (quad ARM 64) and Odroid HC1 (~XU4, octa ARM32), Java 8 and 9. On the quad-core machine total CPU load goes > 90%, on the octa-core total CPU stays well under 80% while the thread going wild clearly stands out.

This is not a high usage bug, in the last event total CPU was at around 20% for hours, when the bug stroke.

I could identify NTCP Pumper twice and I2CP reader once. One has to restart to get back to old traffic levels. Thread dump attached, top output as follows:

PID USER PR NI S %CPU %MEM P TIME COMMAND

21473 e 3 -17 R 97,1 28,8 4 529:00 I2CP Reader 191
12569 e 14 -6 R 67,1 28,8 7 135:51 I2CP Internal R
12528 e 7 -13 S 54,7 28,8 5 954:38 Tunnel GW pumpe
12527 e 7 -13 S 51,5 28,8 2 955:02 Tunnel GW pumpe
12542 e 14 -6 R 31,3 28,8 5 610:10 NTCP writer 1/1
12551 e 14 -6 R 31,3 28,8 6 16,48 UDP message rec
12540 e 11 -9 S 26,4 28,8 1 16,44 NTCP reader 2/3
12539 e 11 -9 S 25,4 28,8 6 16,46 NTCP reader 1/3
12541 e 11 -9 S 25,4 28,8 0 16,44 NTCP reader 3/3
12538 e 14 -6 S 16,0 28,8 6 18,05 NTCP Pumper
12552 e 17 -3 S 12,7 28,8 0 23,41 UDP packet push

Subtickets

Change History (1)

comment:1 Changed 3 weeks ago by zzz

  • Resolution set to duplicate
  • Status changed from new to closed

see #2355

Note: See TracTickets for help on using tickets.