Skip site navigation (1)Skip section navigation (2)
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>