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


Reply via email to