netisr ambigios policy
Коньков Евгений
kes-kes at yandex.ru
Sat Jan 14 14:45:39 UTC 2012
Здравствуйте, Коньков.
Вы писали 14 января 2012 г., 15:31:04:
КЕ> From sys/net/netisr.c
КЕ> switch (netisr_dispatch_policy) {
КЕ> case NETISR_DISPATCH_DEFERRED:
КЕ> netisr_direct_force = 0;
КЕ> netisr_direct = 0;
КЕ> break;
КЕ> case NETISR_DISPATCH_HYBRID:
КЕ> netisr_direct_force = 0;
КЕ> netisr_direct = 1;
КЕ> break;
КЕ> case NETISR_DISPATCH_DIRECT:
КЕ> netisr_direct_force = 1;
КЕ> netisr_direct = 1;
КЕ> break;
КЕ> that having direct_force = 0 and direct = 0 it is DISPATCH_DEFFERED
КЕ> but doing:
КЕ> # sysctl net.isr
КЕ> net.isr.numthreads: 4
КЕ> net.isr.maxprot: 16
КЕ> net.isr.defaultqlimit: 256
КЕ> net.isr.maxqlimit: 10240
КЕ> net.isr.bindthreads: 0
КЕ> net.isr.maxthreads: 4
КЕ> net.isr.direct: 0
КЕ> net.isr.direct_force: 0
КЕ> net.isr.dispatch: direct
КЕ> you can see that net.isr.dispatch is 'direct'
КЕ> I expect 'deffered' as it declared here:
КЕ> static const struct netisr_dispatch_table_entry netisr_dispatch_table[] = {
КЕ> { NETISR_DISPATCH_DEFAULT, "default" },
КЕ> { NETISR_DISPATCH_DEFERRED, "deferred" },
КЕ> { NETISR_DISPATCH_HYBRID, "hybrid" },
КЕ> { NETISR_DISPATCH_DIRECT, "direct" },
КЕ> Is this a BUG?
setting this to
net.isr.direct=1
net.isr.direct_force=1
in /boot/loader.conf
has no effect
# sysctl net.isr
net.isr.numthreads: 4
net.isr.maxprot: 16
net.isr.defaultqlimit: 256
net.isr.maxqlimit: 10240
net.isr.bindthreads: 0
net.isr.maxthreads: 4
net.isr.direct: 0
net.isr.direct_force: 0
net.isr.dispatch: direct
It seems has been broken in r222249
--
С уважением,
Коньков mailto:kes-kes at yandex.ru
More information about the freebsd-bugs
mailing list