i350 intel настройка в Debian Jessie

Редакция автор: stain

Собственно источник И немного дегтя Немного информации о драйвере

Использование DPDK на Debian 8 Jessie вместе с драйвером ixgbe (Intel 82599)

Использование DPDK на Debian 8 Jessie вместе с драйвером ixgbe (Intel 82599).

Собираем:

cd /usr/src wget http://dpdk.org/browse/dpdk/snapshot/dpdk-2.0.0.tar.gz tar -xf dpdk-2.0.0.tar.gz cd dpdk-2.0.0/ make install T=x86_64-native-linuxapp-gcc

Загружаем uio:

modprobe uio_pci_generic

Проверяем, какие сетевые мы видим:

tools/dpdk_nic_bind.py --status tools/dpdk_nic_bind.py --status Network devices using DPDK-compatible driver ============================================ <none> Network devices using kernel driver =================================== 0000:02:00.0 'I350 Gigabit Network Connection' if=eth0 drv=igb unused=uio_pci_generic *Active* 0000:02:00.1 'I350 Gigabit Network Connection' if=eth1 drv=igb unused=uio_pci_generic 0000:02:00.2 'I350 Gigabit Network Connection' if=eth2 drv=igb unused=uio_pci_generic 0000:02:00.3 'I350 Gigabit Network Connection' if=eth3 drv=igb unused=uio_pci_generic 0000:0a:00.0 '82599ES 10-Gigabit SFI/SFP+ Network Connection' if=eth4 drv=ixgbe unused=uio_pci_generic 0000:0a:00.1 '82599ES 10-Gigabit SFI/SFP+ Network Connection' if=eth5 drv=ixgbe unused=uio_pci_generic 0000:0d:00.0 '82599ES 10-Gigabit SFI/SFP+ Network Connection' if=eth6 drv=ixgbe unused=uio_pci_generic 0000:0d:00.1 '82599ES 10-Gigabit SFI/SFP+ Network Connection' if=eth7 drv=ixgbe unused=uio_pci_generic

Отключаем сетевые (в моем случае eth4/eth6), с которыми будем работать от драйвера из Linux ядра для работы с DPDK:

./tools/dpdk_nic_bind.py --bind=uio_pci_generic  0a:00.0 ./tools/dpdk_nic_bind.py --bind=uio_pci_generic 0d:00.0

Убеждаемся, что все подцепилось:

tools/dpdk_nic_bind.py --status Network devices using DPDK-compatible driver ============================================ 0000:0a:00.0 '82599ES 10-Gigabit SFI/SFP+ Network Connection' drv=uio_pci_generic unused= 0000:0d:00.0 '82599ES 10-Gigabit SFI/SFP+ Network Connection' drv=uio_pci_generic unused= Network devices using kernel driver =================================== 0000:02:00.0 'I350 Gigabit Network Connection' if=eth0 drv=igb unused=uio_pci_generic *Active* 0000:02:00.1 'I350 Gigabit Network Connection' if=eth1 drv=igb unused=uio_pci_generic 0000:02:00.2 'I350 Gigabit Network Connection' if=eth2 drv=igb unused=uio_pci_generic 0000:02:00.3 'I350 Gigabit Network Connection' if=eth3 drv=igb unused=uio_pci_generic 0000:0a:00.1 '82599ES 10-Gigabit SFI/SFP+ Network Connection' if=eth5 drv=ixgbe unused=uio_pci_generic 0000:0d:00.1 '82599ES 10-Gigabit SFI/SFP+ Network Connection' if=eth7 drv=ixgbe unused=uio_pci_generic Other network devices ===================== <none>

Теперь нужно настроить HugeTLB, смотрим, в какие точки оно у нас смонтировано:

cat /proc/mounts |grep tlb

И размонтируем!

После этого монтируем вновь:

mkdir -p /mnt/huge mount -t hugetlbfs nodev /mnt/huge echo 64 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages

Собираем пример форвардера:

cd examples apt-get install -y libvirt-dev export RTE_TARGET=x86_64-native-linuxapp-gcc export RTE_SDK=/usr/src/dpdk-2.0.0 make

Итак, у нас CPU E5-2407 0 @ 2.20GHz у него 3 канала памяти (-n 3) и 4 ядра (-l 0-3).

Запускаем (можно указать --pci-whitelist 0a:00.0 --pci-whitelist 0d:00.0 чтобы работать только с этими портами):

./l2fwd/l2fwd/x86_64-native-linuxapp-gcc/app/l2fwd -l 0-3 -n 3  -- -p 3

-p 3 - это битовая маска портов, с которыми мы работаем (3 = 11 в бинарной кодировке, оба порта).

Обращаю внимание, что на целевой стороне нужно включить promisc режим, ибо пакеты летят с левым MAC:

11:47:35.261390 90:e2:ba:4a:d8:e8 > 02:00:00:00:00:01, ethertype IPv4 (0x0800), length 60: 128.0.71.57.9926 > 10.20.20.100.80: UDP, length 18
11:47:35.261391 90:e2:ba:4a:d8:e8 > 02:00:00:00:00:01, ethertype IPv4 (0x0800), length 60: 128.0.71.56.14204 > 10.20.20.100.80: UDP, length 18
11:47:35.261392 90:e2:ba:4a:d8:e8 > 02:00:00:00:00:01, ethertype IPv4 (0x0800), length 60: 128.0.71.57.6523 > 10.20.20.100.80: UDP, length 18
11:47:35.261394 90:e2:ba:4a:d8:e8 > 02:00:00:00:00:01, ethertype IPv4 (0x0800), length 60: 128.0.71.56.51110 > 10.20.20.100.80: UDP, length 18
11:47:35.261394 90:e2:ba:4a:d8:e8 > 02:00:00:00:00:01, ethertype IPv4 (0x0800), length 60: 128.0.71.57.12424 > 10.20.20.100.80: UDP, length 18

Включаем режим прослушки вот так:

ifconfig eth1 promisc

Итак, нагрузка:

33624 root      20   0  378800   3716   3356 R 200.0  0.0  30:04.50 l2fwd
%Cpu(s): 50.0 us,  0.0 sy,  0.0 ni, 50.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st

Показания с PCM просто потрясающие - все операции идут через кэш процессора:

Time elapsed: 998 ms
Called sleep function for 1000 ms
---------------------------------------|
--             Socket 0              --|
---------------------------------------|
---------------------------------------|
---------------------------------------|
--   Memory Performance Monitoring   --|
---------------------------------------|
--  Mem Ch 0: Reads (MB/s):    0.26  --|
--            Writes(MB/s):   18.52  --|
--  Mem Ch 1: Reads (MB/s):    0.10  --|
--            Writes(MB/s):   17.11  --|
-- NODE0 Mem Read (MB/s):      0.36  --|
-- NODE0 Mem Write (MB/s) :   35.64  --|
-- NODE0 P. Write (T/s) :      3107  --|
-- NODE0 Memory (MB/s):    36.00     --|
---------------------------------------||---------------------------------------
--                   System Read Throughput(MB/s):      0.36                  --
--                  System Write Throughput(MB/s):     35.64                  --
--                 System Memory Throughput(MB/s):     36.00                  --
---------------------------------------||---------------------------------------

В случае netmap цифры ужасающие:

---------------------------------------|
--             Socket 0              --|
---------------------------------------|
---------------------------------------|
---------------------------------------|
--   Memory Performance Monitoring   --|
---------------------------------------|
--  Mem Ch 0: Reads (MB/s): 1162.53  --|
--            Writes(MB/s):  726.09  --|
--  Mem Ch 1: Reads (MB/s):    0.01  --|
--            Writes(MB/s):    0.00  --|
-- NODE0 Mem Read (MB/s):   1162.53  --|
-- NODE0 Mem Write (MB/s) :  726.09  --|
-- NODE0 P. Write (T/s) :      3575  --|
-- NODE0 Memory (MB/s):  1888.63     --|
---------------------------------------||---------------------------------------
--                   System Read Throughput(MB/s):   1162.53                  --
--                  System Write Throughput(MB/s):    726.09                  --
--                 System Memory Throughput(MB/s):   1888.63                  --
---------------------------------------||---------------------------------------

Запуск тест testpmd:

./x86_64-native-linuxapp-gcc/build/app/test-pmd/testpmd -l 0-3 -n 3  -- --interactive --total-num-mbufs=2048

Вот огромный гайд по тулзе testpmd: http://www.intel.com/content/dam/www/public/us/en/documents/guides/intel-dpdk-testpmd-application-user-guide.pdf

Комментариев: 0

Libre Office шрифты TTF + рассказ о стилях и как избежать проблем при конвертации документов MSOffice

Редакция автор: stain

1. Как добавить шрифты TTF

В файле /etc/apt/sources.list правим две строчки, добавив к ним "non-free" и "contrib" deb http://ftp.ru.debian.org/debian/ jessie main non-free contrib deb-src http://ftp.ru.debian.org/debian/ jessie main non-free contrib

В терминале запускаем обновление репозиториев sudo apt-get update и устанавливаем, ранее не доступные шрифты. sudo apt-get install ttf-mscorefonts-installer

2. Как подружить MS Office и LibreOffice

Пользуйтесь стилями. http://habrahabr.ru/post/214543/

Источник первого пункта:https://sites.google.com/site/grabliubuntu/desktop/ustanovka-ttf-sriftov-microsoft

Комментариев: 0

Состоялся релиз Debian Jessie 8.0

Редакция автор: stain

Можно обновиться, но крайне желательно сделать резервную копию текущей системы. Всегда есть что то что может отвалиться, или не заработать должным образом.

  • Вы на Wheezy, в sources.list прописан 'stable' — apt-get сам сделает что нужно (apt-get dist-upgrade)
  • Вы на Wheezy, в sources.list прописан 'wheezy' — нужно сменить 'wheezy' на 'jessie', дальше apt-get сам сделает что нужно (apt-get dist-upgrade)
  • Вы на Wheezy, но с какими-нибудь своими настройками apt (apt pinning etc.) — скорее всего, знаете что вам делать.

Источник:http://habrahabr.ru/post/256617/

Комментариев: 0