> 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@
It is a hack. But it is a beautiful hack, because it will allow people to judge the network driver & stack impacts independently, and allow us to move work forward. Bravo.