Navigation
Home
Forums
Reviews
Specifications
RC5 Team
Contact
Linux
Links





The affinity tool

The P3 update from Intel spells it out very nice


In plain english this E36 article talks about the loss of 'data' under certain circumstances. Apparently this 'data' can also be an irq. In several SMP
motherboards this issue can be observed when a keyboard or mouse does not seem to work anymore, while the machine itself just runs along. No keyboard or mouse data is accepted anymore. This can also be observed with a network card that sends a large file, and stops suddenly with transfering files.

So far, i've seen this happen all too often on the following motherboards (configured for smp use) abit bp6, vp6 and asus cuv4x-d, curdls

The workaround is to 'bind' a device to a specific processor with a tool called the affinity tool that has been around since NT4, and can be downloaded at microsoft.

As the readme in the affinity package states:

"This Interrupt-Affinity Filter (IntFiltr) allows a user to change the
CPU-affinity of the interrupts in a system.

Using this utility, you can direct any device's interrupts to a specific
processor or set or processors (as opposed to always sending interrupts to
all the CPUs in the system). Note that different devices _can_ have
different interrupt-affinity settings. This utility will work on any
machine, regardless of what processor or interrupt controller or HAL is
used. "

And the HowWorks tells something about the effect of the tool

"As a result, lower drivers (which use entries in this resource list when
setting up their ISRs) will get their ISRs installed only on the set of
processors that the user has specified (via the IntFiltr configuration
tool). "

Wich means that a low-level driver will always get its information (or 'data') from one processor; thus avoiding the loss of cache coherancy.

You need to copy intrfiltr.sys to /winnt/system32/drivers/ and add the registry key to start the device after boot. Next you use the GUI intfiltr.exe to configure the devices.

Click on the device (in this example a ps/2 mouse) and click on 'set mask'

Click on CPU 0 or CPU 1 to disable the dual ability of the device, click on ok, and klick on ok when the program wants to add the new information into the system.

You'll see when you've added several devices that used to lock out in 100% stress conditions to stay stable, and not lose connection

Thanks to twobombs for writing this up;)

Articles & Reviews

Heatsink Roundup
Thermalright SK6
VP6 Long Term OCHO Interview
Visiontek Geforce 3
Bios Logo Mod
Thermalright CB-6L Dynatron DY1206BH-638
IOSS RD2 PC Geiger

Lian Li PC-76
YY-0221B cube

Search our news archives
View all news items

All trademarks used are properties of their respective owners.
All rights reserved. Copyright ©2000 & 2001 by VP6-Board.com

Privacy Statement