Age | Commit message (Collapse) | Author |
|
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.
|
|
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.
|
|
|
|
On a UP system, there is no "physical-id" in /proc/cpuinfo.
|
|
Rather than reinventing existing code, use library.
|
|
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).
|
|
|
|
|
|
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).
|
|
Multiqueue setup was broken ixgbe because of s/assign/assing/
|
|
Bug 7062
The irq's on Netxen NIC are named:
eth0[0] eth0[1] eth0[2] ...
This confuses the auto IRQ affinity script.
|
|
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.
|
|
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.
|
|
|
|
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.
|
|
|
|
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.
|
|
meant to allow any upper (or lower case) in domain name.
|
|
Bug 6845
Warn (and ignore) attempt to assign IRQ directly on multiqueuej
NIC.
|
|
Bug 6837
Xen does not behave like normal hardware. It assigns a random MAC
address (with local bit set).
|
|
Bug 6243
More complete validation of host name and domain name
|
|
Bug 6784
No point in trying to force affinity if device is offline.
|
|
Adapt to irq naming convention in 2.6.37 kernel for vmxnet3 driver.
|
|
Bug 6784
Disabled device has no IRQ, so don't change it.
|
|
The initial CPU selection function needs to take hyperthreading
into account.
|
|
(cherry picked from commit a943568e64bca73bb2951e968d0cc752d72874ab)
|
|
Bug 6663
(cherry picked from commit fa7d81f125033b7ed4bd549eb6905918612a6877)
|
|
The problem was due to incorrect initialization of the $q and $cpu
variables. Their initializations were reversed.
|
|
Bug 6551
Need to handle case where console=ttyS0,9600
is at end of line
|
|
|
|
Since inittab allows up to 4 characters for id field, allow 1000
entries.
|
|
Bug 3849, 2289, 4126
Adds configuration of serial console:
set system console {
device ttyS0 {
speed 19200
}
device ttyACM0 {
speed 57600
type modem
}
}
This covers the cases of deleting serial console, changing speed,
and allowing modem console devices
|
|
When system is booted with newly detected wireless device, both
the hw-id and physical-device need to be setup.
|
|
The code to match on locally assigned bit had a bad regex.
Use conversion to hex and mask instead.
Also don't allow multicast address bit.
|
|
Bug 4452
Allow configuring a telnet listen-address either IPv4 or IPv6 (like SSH).
Unlike SSH, telnet only supports a single listen-address
|
|
|
|
If config has interface (without hw-id), then add it on boot.
|
|
Need to handle virtual devices with no IRQ, and older processors
without concept of multi-core.
|
|
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.
|
|
The executable bit should be set on scripts.
This only impacts the repository, during build install fixes it.
|
|
|
|
It is better to just check using normal code path on uniproc
than to make everything a special case.
|
|
1. Move scripts to vyatta-cfg-system
2. Use syntax to check for legal values
3. Don't fail on UP
|
|
Makes new entries show up in order.
|
|
Use existing config parser and perl to handle udev device naming.
Do renaming early in udev boot, and fixup config file later.
This avoids rescanning udev devices on boot and adds preliminary
support for hotplug.
|
|
|
|
|
|
If inittab doesn't exist or console not configured, just
do nothing.
|
|
|
|
For some dial in lines, need HAYES modem support.
|