Перейти к содержимому
Калькуляторы

Intel 82599 и LRO + ряд вопросов по softirq

Доброго всем дня! Решил не создавать отдельную ветку, вопрос про irq.

Имеется 82599ES, с-но один порт на вход, второй на выход.

Система:

Linux 4.9.16-gentoo #1 SMP Tue Apr 18 04:41:07 MSK 2017 x86_64 Intel(R) Xeon(R) CPU E5-2609 v3 @ 1.90GHz GenuineIntel GNU/Linux

2х 6-ти ядерника, HT выключен, итого 12 ядер. PPPOE+NAT+SHAPER, 1000+ абонентов.

 

Настройки при загрузке:

module_ixgbe_args="RSS=6,6 FdirMode=0,0"

setpci -v -d 8086:10fb e6.b=2e
ethtool -G ether2 rx 4096 tx 4096
ethtool -G ether3 rx 4096 tx 4096
ethtool -A ether2 autoneg off rx off tx off
ethtool -A ether3 autoneg off rx off tx off
ethtool -K ether2 rx off tx off rxvlan off txvlan off gro off lro off gso off
ethtool -K ether3 rx off tx off rxvlan off txvlan off gro off lro off gso off
ifconfig ether2 txqueuelen 10000
ifconfig ether3 txqueuelen 10000

set_irq_affinity -x 0-5 ether3
set_irq_affinity -x 6-11 ether2

 

Проблема заключается в следующем - один порт (ether2) нормально разносится по ядрам, второй упирается в первое ядро, и никак не удается это победить.

 

Детали:

 

itop:

                                       IRQs/Second
                           Device (IRQ)      TOTAL
                    ether2-TxRx-0 ( 48):     10720
                    ether2-TxRx-1 ( 49):      8325
                    ether2-TxRx-2 ( 50):      9663
                    ether2-TxRx-3 ( 51):     12064
                    ether2-TxRx-4 ( 52):      7473
                    ether2-TxRx-5 ( 53):     12201
                           ether2 ( 54):         0
                    ether3-TxRx-0 ( 56):     14284
                    ether3-TxRx-1 ( 57):      9786
                    ether3-TxRx-2 ( 58):      6921
                    ether3-TxRx-3 ( 59):      6197
                    ether3-TxRx-4 ( 60):      5650
                    ether3-TxRx-5 ( 61):      9028
                           ether3 ( 62):         0

 

top:

%Cpu0  :  0,4 us,  0,8 sy,  0,0 ni, 63,5 id,  0,4 wa,  0,0 hi, 35,0 si,  0,0 st
%Cpu1  :  0,0 us,  0,0 sy,  0,0 ni,100,0 id,  0,0 wa,  0,0 hi,  0,0 si,  0,0 st
%Cpu2  :  0,0 us,  0,0 sy,  0,0 ni, 99,7 id,  0,0 wa,  0,0 hi,  0,3 si,  0,0 st
%Cpu3  :  0,0 us,  0,0 sy,  0,0 ni,100,0 id,  0,0 wa,  0,0 hi,  0,0 si,  0,0 st
%Cpu4  :  0,0 us,  0,0 sy,  0,0 ni,100,0 id,  0,0 wa,  0,0 hi,  0,0 si,  0,0 st
%Cpu5  :  0,0 us,  0,0 sy,  0,0 ni,100,0 id,  0,0 wa,  0,0 hi,  0,0 si,  0,0 st
%Cpu6  :  0,0 us,  1,4 sy,  0,0 ni, 89,5 id,  0,0 wa,  0,0 hi,  9,1 si,  0,0 st
%Cpu7  :  0,4 us,  0,0 sy,  0,0 ni, 95,7 id,  0,0 wa,  0,0 hi,  3,9 si,  0,0 st
%Cpu8  :  0,4 us,  0,0 sy,  0,0 ni, 96,1 id,  0,0 wa,  0,0 hi,  3,5 si,  0,0 st
%Cpu9  :  0,0 us,  0,4 sy,  0,0 ni, 94,1 id,  0,0 wa,  0,0 hi,  5,5 si,  0,0 st
%Cpu10 :  0,0 us,  0,0 sy,  0,0 ni, 94,0 id,  0,0 wa,  0,0 hi,  6,0 si,  0,0 st
%Cpu11 :  0,7 us,  0,4 sy,  0,0 ni, 93,7 id,  0,0 wa,  0,0 hi,  5,3 si,  0,0 st

 

perf top -U:

   PerfTop:    9663 irqs/sec  kernel:98.4%  exact: 98.4% [4000Hz cycles:ppp],  (all, 12 CPUs)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

   10.05%  [kernel]       [k] _raw_spin_lock
    5.20%  [kernel]       [k] default_idle_call
    4.87%  [kernel]       [k] tcp_in_window
    4.61%  [ixgbe]        [k] ixgbe_clean_rx_irq
    3.26%  [kernel]       [k] ip_forward_finish
    2.94%  [kernel]       [k] skb_scrub_packet
    2.85%  [kernel]       [k] __kmalloc_reserve.isra.47
    2.63%  [kernel]       [k] __local_bh_disable_ip
    2.54%  [kernel]       [k] __skb_flow_dissect
    2.48%  [kernel]       [k] __get_item
    2.33%  [kernel]       [k] fib_table_lookup
    2.33%  [kernel]       [k] __dev_queue_xmit
    2.05%  [kernel]       [k] ip_route_input_noref
    2.02%  [kernel]       [k] ipt_do_table
    2.02%  [kernel]       [k] _raw_spin_lock_irqsave
    1.83%  [kernel]       [k] __netif_receive_skb_core
    1.74%  [kernel]       [k] htb_change_class_mode
    1.72%  [ixgbe]        [k] ixgbe_poll
    1.60%  [kernel]       [k] nf_hook_slow
    1.51%  [kernel]       [k] _raw_spin_lock_bh
    1.51%  [kernel]       [k] find_busiest_group
    1.47%  [kernel]       [k] __qdisc_run
    1.45%  [kernel]       [k] rcu_needs_cpu
    1.26%  [kernel]       [k] ip_set_test
    1.24%  [kernel]       [k] __d_lookup_rcu
    1.21%  [kernel]       [k] __nf_conntrack_find_get
    1.19%  [kernel]       [k] nf_nat_ipv4_in
    1.15%  [kernel]       [k] u32_classify
    1.05%  [kernel]       [k] __free_page_frag

 

Как это победить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

PPPOE

второй упирается в первое ядро, и никак не удается это победить.

PPPoE по очередям не раскидывается.

 

хотя, судя постатистике, у вас там не только PPPoE (перекос в 2 раза всего лишь, обычно где-то на порядок и больше).

 

Как это победить?

для PPPoE - только RPS.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Покажи egrep -e "(eth|CPU)" /proc/interrupts

            CPU0       CPU1       CPU2       CPU3       CPU4       CPU5       CPU6       CPU7       CPU8       CPU9       CPU10      CPU11
 48:      15147     865280          0          0          0          0 1015013603          0     140624     307692          0          0   PCI-MSI 1048576-edge      ether2-TxRx-0
 49:          1      12643          0    1014745          0          0          0 1141993944          0     138394     323332          0   PCI-MSI 1048577-edge      ether2-TxRx-1
 50:          1          0      12348          0          0     896272          0          0 1139256416          0     186202     420580   PCI-MSI 1048578-edge      ether2-TxRx-2
 51:          1          0          0      11954          0          0          0     982643          0 1215149644          0     153160   PCI-MSI 1048579-edge      ether2-TxRx-3
 52:          1          0          0          0      12160          0          0          0     148365    1298287 1132568455          0   PCI-MSI 1048580-edge      ether2-TxRx-4
 53:          1          0          0          0          0      12246          0          0          0     129458          0 1141997859   PCI-MSI 1048581-edge      ether2-TxRx-5
 54:      11949          0          0          0          0          0          0          0          0          0          0          0   PCI-MSI 1048582-edge      ether2
 56: 1892157325   49115157    5365607    4007596          0          0     249151          0          0          0          0          0   PCI-MSI 1050624-edge      ether3-TxRx-0
 57:          1  855324187   26097996    1756477    4053009          0          0      89268          0          0          0          0   PCI-MSI 1050625-edge      ether3-TxRx-1
 58:          1          0  860627247   24716537    2500908    3206707     800055          0     178290          0          0          0   PCI-MSI 1050626-edge      ether3-TxRx-2
 59:          1          0          0  868045932   23766601    2181595     544890          0     644243          0          0          0   PCI-MSI 1050627-edge      ether3-TxRx-3
 60:          1          0    1648303          0  837993560   23753560          0     108367     385440          0     626193          0   PCI-MSI 1050628-edge      ether3-TxRx-4
 61:          1   30960096     631465    1682488          0  879432499          0          0     151204          0     383591          0   PCI-MSI 1050629-edge      ether3-TxRx-5
 62:         66          0          0          0          0          0          0          0          0          0          0          0   PCI-MSI 1050630-edge      ether3

 

с перебросом прерываний по ядрам игрался, поэтому здесь статистика не чистая

Изменено пользователем TeCHNoiD

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Модифицировал скрипт от интела set_irq_affinity, добавил:

                printf "%s %d %s -> /sys/class/net/%s/queues/rx-%d/rps_cpus\n" $IFACE $core $MASK $IFACE $((n-1))

ситуация с прерываниями не изменилась (

 

p.s. cat /usr/src/linux/.config | grep RPS

CONFIG_RPS=y

Изменено пользователем TeCHNoiD

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ситуация с прерываниями не изменилась (

Вы принципиально не читаете ответы которые не нравятся?

PPPoE по очередям не раскидывается.

Не будет кина.

 

Для включения кина нужно настроить RPS, он включается не опцией ядра, а параметрами для каждой очереди нужной сетевки в /proc, погуглите.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ситуация с прерываниями не изменилась (

Вы принципиально не читаете ответы которые не нравятся?

PPPoE по очередям не раскидывается.

Не будет кина.

 

Для включения кина нужно настроить RPS, он включается не опцией ядра, а параметрами для каждой очереди нужной сетевки в /proc, погуглите.

 

А если bonding используется, нужно на нём прибивать RPS или на дочерних?

 

cat /sys/class/net/bond0/queues/rx-*/rps_cpus
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я все понимаю, RPS конечно же гуглил, вроде как прописал всё что нужно везде и включил (rps_sock_flow_entries в proc, rps_cpus в sys), попробовал заодно irqbalance, но не помогает. Забыл уточнить еще момент, может дело во вланах? то есть связка vlan+pppoe (без ip), валит все на первое ядро? я просто понять не могу, почему судя по itop прерывания равномерно распределяются по ядрам (то есть по сути rps норм работает), а top показывает загрузку только одного ядра, причем в пиках доходит до 95% и начинаются лаги, это глюк такой, или из-за какого нибудь nat+shaper? или лыжи не едут, или супермикро мозг выносит? может я неправильно rps настраиваю, перерыл весь форум, хабр, коментарии, зарубежные сайты вместе с мылоархивами, рекомендации интел, все попробовал. на гиговых сетевушках все норм, на десятке не могу победить. ixgbe последний поставил 5.0.4 (https://sourceforge.net/projects/e1000/files/ixgbe%20stable/5.0.4/).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

может дело во вланах? то есть связка vlan+pppoe (без ip), валит все на первое ядро?

 

pppoe, ixgbe

Безымянный.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Разобрался, всем спасибо, ларчик просто открывался - нужно писать правильные значения в rps_cpus.

 

echo fff > /sys/class/net/ether3/queues/rx-0/rps_cpus

 

именно все (нужные) ядра в нулевой поток

Изменено пользователем TeCHNoiD

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

TeCHNoiD

Т.к. у вас трафик падает именно в 0 очередь - логично что ей и нужно дать все ядра.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

Имеется HP ProLiant DL360e Gen8, 2хE5-2430L в суме 12 ядер , сетевая 82599ES.

 

Система:

Linux bras 3.16.36 #1 SMP Wed Sep 12 11:00:27 EEST 2018 x86_64 GNU/Linux

Параметры при загрузке:

/sbin/ethtool -G eth1 tx 4096 rx 4096
/sbin/ethtool -G eth4 tx 4096 rx 4096
/sbin/ethtool -K eth1 tx off rx off sg off tso off gso off gro off lro off
/sbin/ethtool -K eth4 tx off rx off sg off tso off gso off gro off lro off
/sbin/ifconfig eth1 txqueuelen 10000
/sbin/ifconfig eth4 txqueuelen 10000

RPS включаю следующим образом:

echo fff > /sys/class/net/eth1/queues/rx-0/rps_cpus

но данные настройки не дают никакого эффекта

 

egrep -e "(eth|CPU)" /proc/interrupts

Spoiler

          CPU0       CPU1       CPU2       CPU3       CPU4       CPU5       CPU6       CPU7       CPU8       CPU9       CPU10      CPU11
 107:       9041          0          0          0          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth1-TxRx-0
 108:       1716          0          0          0          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth1-TxRx-1
 109:       1862          0          0          0          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth1-TxRx-2
 110:       1672          0          0          0          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth1-TxRx-3
 111:       3471          0          0          0          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth1-TxRx-4
 112:       1714          0          0          0          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth1-TxRx-5
 113:       1699          0          0          0          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth1-TxRx-6
 114:       1816          0          0          0          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth1-TxRx-7
 115:       2375          0          0          0          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth1-TxRx-8
 116:       1646          0          0          0          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth1-TxRx-9
 117:       1692          0          0          0          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth1-TxRx-10
 118:       1671          0          0          0          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth1-TxRx-11
 119:          3          0          0          0          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth1
 138:      15833          0          0          0          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth4-TxRx-0
 139:       1599          0          0          0          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth4-TxRx-1
 140:       2001          0          0          0          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth4-TxRx-2
 141:       1564          0          0          0          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth4-TxRx-3
 142:       1619          0          0          0          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth4-TxRx-4
 143:       1597          0          0          0          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth4-TxRx-5
 144:       1924          0          0          0          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth4-TxRx-6
 145:       1667          0          0          0          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth4-TxRx-7
 146:       1563          0          0          0          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth4-TxRx-8
 147:       1608          0          0          0          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth4-TxRx-9
 148:       1560          0          0          0          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth4-TxRx-10
 149:       1572          0          0          0          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth4-TxRx-11
 150:          2          0          0          0          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth4

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А если так?

eth2smp.sh:

#!/bin/bash

NUM=0
CPUS=
for ARG in "$@"
do
        if [ $NUM -eq 0 ]; then INTERFACE=$ARG; fi
        if [ $NUM -gt 0 ]; then CPUS[$[$NUM-1]]=$ARG; fi
        let NUM++
done

if [ "$INTERFACE" != "" ] && [ "${CPUS[0]}" -ge 0 ]
then
        CPU_INDEX=0
        for irq in `cat /proc/interrupts | grep $INTERFACE | awk '{print $1}' | sed s/\://g`
        do
                f="/proc/irq/$irq/smp_affinity"
                test -r "$f" || continue
                if [ "${CPUS[$CPU_INDEX]}" != "" ] && [ ${CPUS[$CPU_INDEX]} -ge 0 ]
                then
                        MASK=`printf %x $[2 ** ${CPUS[$CPU_INDEX]}]`
                        printf "\nAssign SMP affinity: %-5s  IRQ: %-2d  CPU: %2d  MASK: 0x%s" $INTERFACE $irq ${CPUS[$CPU_INDEX]} $MASK
                        echo "$MASK" > "$f"
                fi
                let CPU_INDEX++
        done
        printf "\n"
fi

eth2smp.sh eth1 0 1 2 3 4 5 6 7 8 9 10 11 0

eth2smp.sh eth4 0 1 2 3 4 5 6 7 8 9 10 11 1

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
15 minutes ago, pppoetest said:

А если так?

eth2smp.sh:


#!/bin/bash

NUM=0
CPUS=
for ARG in "$@"
do
        if [ $NUM -eq 0 ]; then INTERFACE=$ARG; fi
        if [ $NUM -gt 0 ]; then CPUS[$[$NUM-1]]=$ARG; fi
        let NUM++
done

if [ "$INTERFACE" != "" ] && [ "${CPUS[0]}" -ge 0 ]
then
        CPU_INDEX=0
        for irq in `cat /proc/interrupts | grep $INTERFACE | awk '{print $1}' | sed s/\://g`
        do
                f="/proc/irq/$irq/smp_affinity"
                test -r "$f" || continue
                if [ "${CPUS[$CPU_INDEX]}" != "" ] && [ ${CPUS[$CPU_INDEX]} -ge 0 ]
                then
                        MASK=`printf %x $[2 ** ${CPUS[$CPU_INDEX]}]`
                        printf "\nAssign SMP affinity: %-5s  IRQ: %-2d  CPU: %2d  MASK: 0x%s" $INTERFACE $irq ${CPUS[$CPU_INDEX]} $MASK
                        echo "$MASK" > "$f"
                fi
                let CPU_INDEX++
        done
        printf "\n"
fi

eth2smp.sh eth1 0 1 2 3 4 5 6 7 8 9 10 11 0

eth2smp.sh eth4 0 1 2 3 4 5 6 7 8 9 10 11 1

 

egrep -e "(eth|CPU)" /proc/interrupts

 

Spoiler

           CPU0       CPU1       CPU2       CPU3       CPU4       CPU5       CPU6       CPU7       CPU8       CPU9       CPU10      CPU11
 107:      11105          0          0          0          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth1-TxRx-0
 108:       2912         72          0          0          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth1-TxRx-1
 109:       2871          0         70          0          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth1-TxRx-2
 110:       2817          0          0         74          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth1-TxRx-3
 111:       2870          0          0          0         70          0          0          0          0          0          0          0   PCI-MSI-edge      eth1-TxRx-4
 112:       4239          0          0          0          0        117          0          0          0          0          0          0   PCI-MSI-edge      eth1-TxRx-5
 113:       4185          0          0          0          0          0        116          0          0          0          0          0   PCI-MSI-edge      eth1-TxRx-6
 114:       3142          0          0          0          0          0          0         75          0          0          0          0   PCI-MSI-edge      eth1-TxRx-7
 115:       2875          0          0          0          0          0          0          0         69          0          0          0   PCI-MSI-edge      eth1-TxRx-8
 116:       2805          0          0          0          0          0          0          0          0         72          0          0   PCI-MSI-edge      eth1-TxRx-9
 117:       3618          0          0          0          0          0          0          0          0          0        495          0   PCI-MSI-edge      eth1-TxRx-10
 118:       2850          0          0          0          0          0          0          0          0          0          0         75   PCI-MSI-edge      eth1-TxRx-11
 119:          4          0          0          0          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth1
 138:      43353          0          0          0          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth4-TxRx-0
 139:       2743         60          0          0          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth4-TxRx-1
 140:       3098          0         57          0          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth4-TxRx-2
 141:       3063          0          0         57          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth4-TxRx-3
 142:       2805          0          0          0         61          0          0          0          0          0          0          0   PCI-MSI-edge      eth4-TxRx-4
 143:       3900          0          0          0          0         60          0          0          0          0          0          0   PCI-MSI-edge      eth4-TxRx-5
 144:       3069          0          0          0          0          0         57          0          0          0          0          0   PCI-MSI-edge      eth4-TxRx-6
 145:       2838          0          0          0          0          0          0         61          0          0          0          0   PCI-MSI-edge      eth4-TxRx-7
 146:       3026          0          0          0          0          0          0          0         72          0          0          0   PCI-MSI-edge      eth4-TxRx-8
 147:       2955          0          0          0          0          0          0          0          0         57          0          0   PCI-MSI-edge      eth4-TxRx-9
 148:       2721          0          0          0          0          0          0          0          0          0         58          0   PCI-MSI-edge      eth4-TxRx-10
 149:       4252          0          0          0          0          0          0          0          0          0          0         57   PCI-MSI-edge      eth4-TxRx-11
 150:          2          0          0          0          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth4
 

 

Привязка разных очередей к ядрам работает нормально. Но в моем случае необходимо именно RPS так как нужно обрабатывать pppoe трафик.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@Allin 

А что вы хотите увидеть в interrupts? Все правильно, прерывания приходят на 1 ядро.

RPS вы той командой включили, изменения увидите в top'e или в в proc/sofirqs или как там оно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
On 13.09.2018 at 5:27 PM, kayot said:

@Allin 

А что вы хотите увидеть в interrupts? Все правильно, прерывания приходят на 1 ядро.

RPS вы той командой включили, изменения увидите в top'e или в в proc/sofirqs или как там оно.

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

Спасибо Вам за совет , посмотрел proc/sofirqs и top и увидел что нагрузка распределяется так как я ожидал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@Allin 

В /proc/interrupts аппаратные прерывания, на них мы можем повлиять только сменив сетевку/драйвер.

RPS же раскидывает дальнейшую обработку пакета по ядрам, это уже уровень soft irq.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас