Fórum de Suporte Digivoice
Você não está logado.
BOA TARDE
ALGUEM DO SUPORTE PODERIA POSTAS O SCRIPT PARA DIVIDIR O PROCESSAMENTO DE DUAS PLACAS DVG.
GRATO
LEONARDO
Offline
Crie o um arquivo chamado DGV_irq.
Cole o arquivo em anexo na pasta /etc/init.d
Mude a permissão do arquivo:
chmod -x DGV_irq
adicione a inicialização do sistema:
chkconfig -a DGV_irq
execute o script:
bash DGV_irq
O arquivo deve ter o script abaixo:
#!/bin/bash
### BEGIN INIT INFO
# Provides: dgv_irq
# Required-Start: vlibd
# Should-Start:
# Required-Stop:
# Should-Stop:
# Default-Start: 2 3 5
# Default-Stop: 0 1 6
# Short-Description:
# Description:
### END INIT INFO
# Ajusta IRQs da maquinas para as placas de telefonia
# numero de procs/cores
# Ajusta IRQs da maquinas para as placas de telefonia
# numero de procs/cores
n=`grep processor /proc/cpuinfo | wc -l`
echo "$n cpus detectados"
n_1=$(( $n - 1 ))
# Mask para ultimo cpu
last_cpu_mask=$(( 2 ** $n_1 ))
# Convierto a hexa
# printf requiere paquete 'coreutils', dc requiere paquete 'bc'
last_cpu_mask_hex=`printf '%x' $last_cpu_mask`
#last_cpu_mask_hex=`echo "$last_cpu_mask 16 o n" | dc`
# Mask para todos os cpu's menos o ultimo
almost_last_cpu_mask=$(( $last_cpu_mask - 1 ))
almost_last_cpu_mask_hex=`printf '%x' $almost_last_cpu_mask`
# Todos os IRQs na CPU0 - CPU(n-1) - menos do timer (IRQ)
for IRQ in `cat /proc/interrupts | grep "[0-9]:" | cut -d: -f1 | sed "s/\ //g" | grep -v "^0"`; do
echo "echo $almost_last_cpu_mask_hex > '' /proc/irq/$IRQ/smp_affinity";
echo $almost_last_cpu_mask_hex > /proc/irq/$IRQ/smp_affinity
done
# O driver da DGV na CPU(n-1)
for IRQ in `cat /proc/interrupts | grep vlibd | grep "[0-9]:" | cut -d: -f1 | sed "s/\ //g"`; do
echo "Placa digivoice detectada"
echo "echo $last_cpu_mask_hex > /proc/irq/$IRQ/smp_affinity"; # sin espacio entre > y /proc/..
# echo "Gravando $last_cpu_mask_hex > /proc/irq/$IRQ/smp_affinity"
echo $last_cpu_mask_hex > /proc/irq/$IRQ/smp_affinity
done
Offline