How to obtain what swi1:net is doing?

Коньков Евгений kes-kes at yandex.ru
Sun Nov 14 21:38:36 UTC 2010


Здравствуйте, Коньков.

Вы писали 14 ноября 2010 г., 18:48:46:

КЕ> Здравствуйте, Ivan.

КЕ> Вы писали 13 ноября 2010 г., 20:35:12:

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

IV>> I don't understand: how is it not affected?
КЕ> # cat /boot/loader.conf
КЕ> net.isr.maxthreads=2
КЕ> after server was rebooted:
КЕ> # sysctl net.isr.maxthreads
КЕ> net.isr.maxthreads: 1
meta-up# dmesg | less
Copyright (c) 1992-2010 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 9.0-CURRENT #0: Wed Nov 10 23:25:34 EET 2010
    adm at meta-up:/usr/obj/usr/src/sys/KES_KERN_v9 i386
CPU: Intel(R) Core(TM) i3 CPU         540  @ 3.07GHz (4145.96-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x20652  Family = 6  Model = 25  Stepping = 2
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0x98e3bd<SSE3,DTES64,MON,DS_CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,SSE4.2,POPCNT>
  AMD Features=0x28100000<NX,RDTSCP,LM>
  AMD Features2=0x1<LAHF>
  TSC: P-state invariant
real memory  = 2147483648 (2048 MB)
avail memory = 2012078080 (1918 MB)
Event timer "LAPIC" quality 600
ACPI APIC Table: <010710 APIC1823>
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

I think problem is here. I have compiled with:
options         DEVICE_POLLING


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

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

IV>> I.e. there are two threads here, bound to CPU cores 0 and 7.
КЕ> on my system with
КЕ> # cat /boot/loader.conf
КЕ> net.isr.maxthreads=2
КЕ> and server reboot
КЕ> # ps axuHc | grep isr
КЕ> root     12   0,0  0,0      0    224  ??  WL   12:54     0:00,00 intr/swi1: netisr 0


>>> #uname -r
>>> 9.0-CURRENT

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







-- 
С уважением,
 Коньков                          mailto:kes-kes at yandex.ru



More information about the freebsd-questions mailing list