summaryrefslogtreecommitdiff
path: root/scripts/system/irq-affinity.pl
AgeCommit message (Collapse)Author
2011-05-20irq-affinity: more fixupStephen Hemminger
1. Fix thread_per_core -- now a global variable 2. Add documentation about where still broken with offline cpus 3. Break out hamming weight function (might be used to fix #2) Tested on UP, 4 core x 2 thread, 8 socket (virt) and Multiqueue and single queue NIC.
2011-05-20irq-affinity: use sysfs to read cpu topologyStephen Hemminger
Change to using sysfs to read cpu topology. This makes code more robust and follow the standard practice of other utilities. As an added benefit, irq-affinty now handles offline cpu's and other cases where cpu numbers are not fully populated.
2011-05-20irq-affinity: initialize sockets to 1Stephen Hemminger
2011-05-19irq-affinity: fix handling of UP systemStephen Hemminger
On a UP system, there is no "physical-id" in /proc/cpuinfo.
2011-05-19Use syslog perror for debug optionStephen Hemminger
Rather than reinventing existing code, use library.
2011-05-17Bugfix: 6773 (again). Fix handling of single-queue NICs on MPs.Bob Gilligan
Some single-queue NICs use the multiqueue IRQ naming format (e.g. eth0-rx-0). We need to select the CPU assignements for these IRQs using the same algorithm that we use for single-queue NICs using the standard naming format (e.g. eth0).
2011-05-17Fix calculation of number of cores on systems with more than one socket.Bob Gilligan
2011-05-17Support more than 10 CPUs.Bob Gilligan
2011-05-17irq-affinity: add workaround to avoid some cpu'sStephen Hemminger
For routing and other applications it is helpful to provide some mechanism to reserve some set of CPU's and not assign interface IRQ's to them. Uses environment variable VYATTA_IRQAFFINITY_BANNED_CPUS as mechanism similar to irqbalance(8).
2011-05-16smp-affinity: fix typo for assign_multiqueueStephen Hemminger
Multiqueue setup was broken ixgbe because of s/assign/assing/
2011-05-06Support netxen NIC irq naming conventionStephen Hemminger
Bug 7062 The irq's on Netxen NIC are named: eth0[0] eth0[1] eth0[2] ... This confuses the auto IRQ affinity script.
2011-05-03Make irq affinity handle any irq naming conventionStephen Hemminger
Bug 7032 (reprise) Since there are various forms of multi-queue naming, it is better to just go with the simplest pattern which is to take all the irq's of form ethX-... and sort them.
2011-05-02Fix irq-affinity mapping for multiqueue NIC'sStephen Hemminger
Bug 7032 Fix matchinging of irq's named 'eth0-TxRx-0'. And change the code to handle any form of IRQ naming of multiqueue that is eth0-xxx-0.
2011-04-13fix typo in irq-affinityStephen Hemminger
2011-04-13Fix irq naming convention mapping codeStephen Hemminger
The mislabeled commit ddce08161907797fe914ba609b362d812e23fc8a Fix wrong name in get_irq_affinity Was some code to handle Broadcom device IRQ naming convention that was untested. The part that built regex was incorrectly expanding a string with regex characters.
2011-04-10Fix wrong name in get_irq_affinityStephen Hemminger
2011-03-16Handle irq assignment on multiqueue NICStephen Hemminger
Bug 6845, 6821 Need to avoid using /sys/class/net/ethX/device/irq (or /sys/bus/pci/.../irq) because these don't handle MSI or multiqueue. This also resolves issues with Vmware/ESX.
2011-03-01Warn if attempting to force mask on multiqueue NICStephen Hemminger
Bug 6845 Warn (and ignore) attempt to assign IRQ directly on multiqueuej NIC.
2011-02-25Don't set irq affinity if device is disabledStephen Hemminger
Bug 6784 No point in trying to force affinity if device is offline.
2011-02-22Handle Vmware mulitqueue naming conventionStephen Hemminger
Adapt to irq naming convention in 2.6.37 kernel for vmxnet3 driver.
2011-02-21Handle case of device with no active IRQStephen Hemminger
Bug 6784 Disabled device has no IRQ, so don't change it.
2011-02-03Bugfix 6773: Spread load of single-queue NICs across all CPUs.Bob Gilligan
The initial CPU selection function needs to take hyperthreading into account.
2011-01-31Fix grammar error in help string.Robert Bays
(cherry picked from commit a943568e64bca73bb2951e968d0cc752d72874ab)
2010-12-22Affinity script was failing to configure some queues of multi-queue NICs.Bob Gilligan
The problem was due to incorrect initialization of the $q and $cpu variables. Their initializations were reversed.
2010-11-12Fix irq-affinity for special casesStephen Hemminger
Need to handle virtual devices with no IRQ, and older processors without concept of multi-core.
2010-11-12New IRQ affinity script and RPS supportStephen Hemminger
Replace old script with new cleaner script that handles both IRQ affinity and Receive Packet Steering. Instead of two scripts (one for mask and one for auto), do it all with one script. Receive Packet Steering is supported in two ways. If 'auto' is used, then both threads on HT system will be used for receive processing. If explicit mask is given, then two masks can be used to set both IRQ cpus and RPS cpus.