ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

multiple netisrs in FreeBSD-8.0



Возможно, для кого-то это не новость, но я лишь недавно обратил внимание
на то, что в 8ке входящий TCP/IP может обрабатываться несколькими
процессорами. В /boot/loader.conf:

# 2 процессора
net.isr.maxthreads=2
# привязка netisr thread'ов к процессорам (пока не пробовал)
net.isr.bindthreads=1

Управляется sysctl'ями (значения по умолчанию):

net.isr.direct: 1
net.isr.direct_force: 1

Всё обрабатывается в трэде прерывания:

12 root   -68   -   0K   272K WAIT    1   9:14  7.18% {irq19: bge0}
12 root   -44   -   0K   272K WAIT    0   3:45  0.00% {swi1: netisr 0}
12 root   -44   -   0K   272K WAIT    0   1:54  0.00% {swi1: netisr 1}


net.isr.direct: 0
net.isr.direct_force: 0

TCP/IP обрабатывается в двух трэдах netisr:

12 root   -44   -   0K   272K WAIT    0   1:53  3.66% {swi1: netisr 1}
12 root   -68   -   0K   272K WAIT    1   9:10  2.39% {irq19: bge0}
12 root   -44   -   0K   272K WAIT    0   3:43  1.37% {swi1: netisr 0}


net.isr.direct: 1
net.isr.direct_force: 0

Комбинированный вариант: пакеты, которые должны обрабатываться на CPU1,
обрабатываются direct'ом (в трэде прерывания), остальные пакеты
обрабатываются в netisr0:

12 root   -68   -   0K   272K WAIT    1   9:02  6.05% {irq19: bge0}
12 root   -44   -   0K   272K WAIT    0   3:38  1.86% {swi1: netisr 0}
12 root   -44   -   0K   272K WAIT    1   1:46  0.00% {swi1: netisr 1}


-- 
Игорь Сысоев
http://sysoev.ru

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.