How to obtain what swi1:net is doing?

Ivan Voras ivoras at freebsd.org
Sat Nov 13 18:35:54 UTC 2010


2010/11/13 Коньков Евгений <kes-kes at yandex.ru>:

> IV> net.isr.direct_force=0
> IV> net.isr.maxthreads=2
> FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
> FreeBSD/SMP: 1 package(s) x 2 core(s) x 2 SMT threads
>  cpu0 (BSP): APIC ID:  0
>  cpu1 (AP): APIC ID:  1
>  cpu2 (AP): APIC ID:  4
>  cpu3 (AP): APIC ID:  5
> ioapic0: Changing APIC ID to 6
> ioapic0 <Version 2.0> irqs 0-23 on motherboard
> netisr_init: forcing maxthreads to 1 and bindthreads to 0 for device polling
>
> # cat /boot/loader.conf
> net.isr.maxthreads=2
>
> maxthreads does not affected

I don't understand: how is it not affected?

On a system with maxthreads=2, here is how it shows:

betelgeuse:/home/ivoras# ps axuHc | grep isr
root          12  3.0  0.0     0   432  ??  WL   12:21PM   0:09.21
intr/swi1: netisr 7
root          12  0.0  0.0     0   432  ??  WL   12:21PM   0:00.00
intr/swi1: netisr 0

I.e. there are two threads here, bound to CPU cores 0 and 7.

> #uname -r
> 9.0-CURRENT

Yes, multithreaded netisr was introduced in FreeBSD 8, it wasn't there in 7.


More information about the freebsd-questions mailing list