Changes between Version 16 and Version 17 of notes/linux


Ignore:
Timestamp:
2017-03-01T17:51:41Z (8 years ago)
Author:
root
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • notes/linux

    v16 v17  
    114114[[br]]
    115115
     116== распределение прерывания по ядром с помощью `irq affinity`
     117{{{#!bash
     118#!/usr/bin/env bash
     119cpu=`/bin/grep processor /proc/cpuinfo | wc -l`
     120c=0
     121for dir in rx tx; do
     122 for eth in 0 1; do
     123  for i in `seq 0 22`; do
     124   irq=`/bin/grep "eth${eth}-${dir}-${i}$" /proc/interrupts |
     125    awk -F : '{print $1}' |
     126    sed -e 's/ //g'`
     127   if [[ "x${irq}" == "x" ]]; then
     128    continue
     129   fi
     130   mask="$((1<<($c+0)))"
     131   echo mask: $mask, cpu: $c, irq: $irq
     132   printf "%x\n" $mask >/proc/irq/$irq/smp_affinity
     133   c=$((c+1))
     134   if [[ $c -gt $cpu ]]; then
     135    c=0
     136   fi
     137  done
     138 done
     139done
     140}}}
     141
     142[[br]]
     143