Date: Sun, 14 Nov 2010 23:38:36 +0200 From: =?utf-8?B?0JrQvtC90YzQutC+0LIg0JXQstCz0LXQvdC40Lk=?= <kes-kes@yandex.ru> To: =?utf-8?B?0JrQvtC90YzQutC+0LIg0JXQstCz0LXQvdC40Lk=?= <kes-kes@yandex.ru> Cc: Ivan Voras <ivoras@freebsd.org>, freebsd-questions@freebsd.org Subject: Re[5]: How to obtain what swi1:net is doing? Message-ID: <1024327902.20101114233836@yandex.ru> In-Reply-To: <1565461584.20101114184846@yandex.ru> References: <4910622844.20101111212049@yandex.ru> <ibhufr$1gk$1@dough.gmane.org> <5510442048.20101113034233@yandex.ru> <AANLkTimpDJ-=hFHp0jniWOZHk9ayxff8TzNcOVgit58t@mail.gmail.com> <1565461584.20101114184846@yandex.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
Здравствуйте, Коньков. Вы писали 14 ноября 2010 г., 18:48:46: КЕ> Здравствуйте, Ivan. КЕ> Вы писали 13 ноября 2010 г., 20:35:12: IV>> 2010/11/13 Коньков Евгений <kes-kes@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@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@yandex.ru
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1024327902.20101114233836>