summaryrefslogtreecommitdiff
path: root/sys/dev/softraid_crypto.c
diff options
context:
space:
mode:
authorDavid Gwynne <dlg@cvs.openbsd.org>2019-03-04 21:57:17 +0000
committerDavid Gwynne <dlg@cvs.openbsd.org>2019-03-04 21:57:17 +0000
commitd932e2640e457a6e6cdb1ada8ce79edb53fc1844 (patch)
tree6b806ed168f008133968965ae1cf2191a67ff964 /sys/dev/softraid_crypto.c
parent2d2e21a682804d2d1624fc465a5b11736c05ac56 (diff)
move back to ifiq_input counting packets instead of queue operations.
the backpressure seems to have kicked in too early, introducing a lot of packet loss where there wasn't any before. secondly, counting operations interacted extremely badly with pseudo-interfaces. for example, if you have a physical interface that rxes 100 vlan encapsulated packets, it will call ifiq_input once for all 100 packets. when the network stack is running vlan_input against thes packets, vlan_input will take the packet and call ifiq_input against each of them. because the stack is running packets on the parent interface, it can't run the packets on the vlan interface, so you end up with ifiq_input being called 100 times, and we dropped packets after 16 calls to ifiq_input without a matching run of the stack. chris cappuccio hit some weird stuff too. discussed with claudio@
Diffstat (limited to 'sys/dev/softraid_crypto.c')
0 files changed, 0 insertions, 0 deletions