On 28.3.2018. 3:28, David Gwynne wrote:
> On Thu, Mar 15, 2018 at 03:25:46PM +0100, Martin Pieuchot wrote:
>> On 14/03/18(Wed) 13:00, David Gwynne wrote:
>>> this adds transmit mitigation back to the tree.
>>>
>>> it is basically the same diff as last time. the big difference this
>>> time is that all the tunnel drivers all defer ip_output calls, which
>>> avoids having to play games with NET_LOCK in the ifq transmit paths.
>> Comments inline.
>>
>>> + if (ifq_len(ifq) >= min(4, ifq->ifq_maxlen)) {
>> Why 4? DragonFly recently bumped `ifsq_stage_cntmax' to 16. Did you
>> try other values? They also have an XXX comment that this value should
>> be per-interface. Why?
> their default was 4, and they'd done some research on it. if they
> moved to 16 there would be a reason for it.
Hi all,
with this diff i'm getting 1.43Mpps on
12 x Intel(R) Xeon(R) CPU E5-2620 v2 @ 2.10GHz, 2400.01 MHz
with plain kernel i'm getting 1.12Mpps and with older diff's i was
getting 1.31Mpps ...
if i execute ifconfig ix0 down while generating traffic over everything stop
x3550m4# ifconfig ix0 down
^C
from ddb:
ddb{0}> ps
PID TID PPID UID S FLAGS WAIT COMMAND
287 54967 4723 0 3 0x3 tqbar ifconfig
4723 369240 1 0 3 0x10008b pause ksh
78652 12963 1 0 3 0x100083 ttyin getty
77445 380566 1 0 3 0x100083 ttyin getty
7708 16964 1 0 3 0x100083 ttyin getty
6466 480278 1 0 3 0x100083 ttyin getty
10683 361200 1 0 3 0x100083 ttyin ksh
3322 2446 1 0 3 0x100098 poll cron
8187 8185 1 99 3 0x100090 poll sndiod
38828 292448 1 110 3 0x100090 poll sndiod
96602 349758 17921 95 3 0x100092 kqread smtpd
59159 244097 17921 103 3 0x100092 kqread smtpd
72520 357622 17921 95 3 0x100092 kqread smtpd
11196 442980 17921 95 3 0x100092 kqread smtpd
19374 184986 17921 95 3 0x100092 kqread smtpd
99758 239851 17921 95 3 0x100092 kqread smtpd
17921 468052 1 0 3 0x100080 kqread smtpd
96705 480305 1 0 3 0x80 select sshd
10784 513637 74642 83 3 0x100092 poll ntpd
74642 349129 19763 83 3 0x100092 poll ntpd
19763 118713 1 0 3 0x100080 poll ntpd
80820 281787 61744 73 3 0x100090 kqread syslogd
61744 358228 1 0 3 0x100082 netio syslogd
92438 103007 37416 115 3 0x100092 kqread slaacd
27600 284603 37416 115 3 0x100092 kqread slaacd
37416 302849 1 0 3 0x80 kqread slaacd
31025 461354 0 0 3 0x14200 pgzero zerothread
87259 136299 0 0 3 0x14200 aiodoned aiodoned
40842 63462 0 0 3 0x14200 syncer update
434254 0 0 3 0x14200 cleaner cleaner
20219 234861 0 0 3 0x14200 reaper reaper
49370 510675 0 0 3 0x14200 pgdaemon pagedaemon
34415 210813 0 0 3 0x14200 bored crynlk
98085 523911 0 0 3 0x14200 bored crypto
88352 390863 0 0 3 0x14200 usbtsk usbtask
36743 62252 0 0 3 0x14200 usbatsk usbatsk
38389 456819 0 0 3 0x40014200 acpi0 acpi0
93162 81423 0 0 7 0x40014200 idle11
58166 30480 0 0 7 0x40014200 idle10
55398 115831 0 0 7 0x40014200 idle9
96 42736 0 0 7 0x40014200 idle8
63465 183206 0 0 7 0x40014200 idle7
79804 340505 0 0 7 0x40014200 idle6
42987 392463 0 0 7 0x40014200 idle5
94478 284414 0 0 7 0x40014200 idle4
45914 13592 0 0 7 0x40014200 idle3
14508 513956 0 0 7 0x40014200 idle2
16424 111283 0 0 7 0x40014200 idle1
60252 298958 0 0 3 0x14200 bored sensors
80523 235128 0 0 3 0x14200 tqbar softnet
40231 252516 0 0 3 0x14200 bored systqmp
97996 128366 0 0 3 0x14200 bored systq
78639 112346 0 0 3 0x40014200 bored softclock
*60124 95946 0 0 7 0x40014200 idle0
1 232514 0 0 3 0x82 wait init
0 0 -1 0 3 0x10200 scheduler swapper
ddb{0}>
ddb{0}> tr /p 0t54967
sleep_finish(ffff800023d3c528,ffffffff81a3863c) at sleep_finish+0x70
cond_wait(ffff800023d3c528,ffff800000025040) at cond_wait+0x51
taskq_barrier(ffff8000000df5d0) at taskq_barrier+0x86
ifq_barrier(ffff8000000df000) at ifq_barrier+0xbd
ixgbe_stop(ffff8000000df000) at ixgbe_stop+0x13f
ixgbe_ioctl(ffffff0784dec490,ffff8000000df048,80206910) at ixgbe_ioctl+0xaa
ifioctl(ffff800023d3c7e0,ffff8000ffff6b38,ffffff07857d1328,20) at
ifioctl+0x500
sys_ioctl(360,ffff8000ffff6b38,0) at sys_ioctl+0x346
syscall() at syscall+0x279
--- syscall (number 54) ---
end of kernel
end trace frame: 0x7f7ffffe18b0, count: -9
0xc3ba281f57a:
ddb{0}> tr /p 0t235128
sleep_finish(ffff800023c14558,ffffffff81a3863c) at sleep_finish+0x70
cond_wait(ffff800023c14558,ffff800000025040) at cond_wait+0x51
taskq_barrier(0) at taskq_barrier+0x86
ifq_barrier(ffff800000509000) at ifq_barrier+0xde
em_stop(ffff800000509000,7) at em_stop+0x62
em_init(2) at em_init+0x25
em_watchdog(0) at em_watchdog+0xc1
if_watchdog_task(ffffffff817118c0) at if_watchdog_task+0xa4
taskq_thread(0) at taskq_thread+0x67
end trace frame: 0x0, count: -9
ddb{0}>