CVSROOT:        /cvs
Module name:    src
Changes by:     kette...@cvs.openbsd.org        2015/12/17 15:14:40

Modified files:
        sys/kern       : kern_sched.c 

Log message:
Make the cost of moving a process to the primary cpu a bit higher.  This is
the CPU that handles most hardware interrupts but we don't account for that
in any way in the scheduler.  So processes (and kernel threads) that are
unlucky enough to end up on this CPU will get less CPU cycles than those
running on other CPUs.  This is especially true for the softnet taskq.
There network interrupts will prevent the softnet taskq from running.  This
means that the more packets we receive, the less packets we can actually
process and/or forward.  This is why "unlocking" network drivers actually
decreases the forwarding performance.  This diff restores most of the lost
performance by making it less likely that the softnet taskq ends up on the
same CPU that handles network interrupts.

Tested by Hrvoje Popovski

ok mpi@, deraadt@

Reply via email to