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}>