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