• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

XP Interrupt Handling tweak

I was skimming through a Microsoft PPT presentation that I found "on the net", and encountered something that caught my eye. I was not at my own computer so I didn't bother to save the PPT presentation, just copied the text that interested me:

For Windows XP SP2, a mechanism has been added that improves performance in the ACPI interrupt handling code. Windows XP had a problem whereby if other devices were sharing the ACPI interrupt, performance degradation could occur. This happened due to a delay by the ACPI driver in passing the interrupt to the proper handler. This feature is not ?on? by default in Windows XP SP2 because of backward compatibility concerns. This feature will be ?on? by default in Longhorn. To enable this feature on Windows XP SP2, open:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ACPI\Parameters

Edit or add a DWORD value named ?Attributes?

Bitwise OR 0x00000100 into the ?Attributes? value

Restart the system

I've been wanting to test this, but not being a programmer, I haven't a clue what that last part means; Bitwise OR 0x00000100?

I've looked for more information about this tweak but turned-up nothing.
 
It basically means to take whatever value is in Attributes, and leave ALL digits alone, except for the digits that have a 1 in it, and make that one a 1.

Basically what you have there is a byte of data, 8 bits represented by the 0's and 1's. So you are going to each individual bit in the first value(current Attributes value)and the corresponding bit in your second value(00000100) and if either of them are a 1 then your output bit is a 1.

So say you had 0x01011001 as your Attributes value when you open up regedit, your final value would be 0x01011101
 
lol! Well that is not what I guessed it might be. Thanks for the explanation. I think I understand? e.g.

If original value is 01010010

Then new value would be 01010110 ?

So then its possible for the original value to be unchanged? Thanks!
 
Yes. If the original value is 1, then the OR of that would still be 1.
 
I created a DWORD value named Attributes, and by default the following is entered:

0x00000000

Can I just key in 100 as a hex value (256 decimal)? Because when I try to edit using "Modify Binary Data", it gives me weird results.
 
Originally posted by: tcsenter
I created a DWORD value named Attributes, and by default the following is entered:

0x00000000

Can I just key in 100 as a hex value (256 decimal)? Because when I try to edit using "Modify Binary Data", it gives me weird results.

Yeah, just punch in 256 decimal.

Not sure where you are getting the "modify binary data" from. Did you create the value as a DWORD?







 
The parameters key isn't present under HKLM\SYSTEM\CurrentControlSet\Services\ACPI on my XP/SP2 install. /shrug.
 
Originally posted by: tcsenter
Right click on the Attributes value. The context menu options are Modify and Modify Binary Data.

Yep, that'd be a pain in the butt. Just double click.
 
the parameters key listed under services is only read by the service itself (service control manager ignores anything in parameters). Basically you can add any gibberish you want in there and it won't cause a problem. Services will be hard coded to retrieve specific values and erroneous ones will be harmlessly ignored.


BTW OP: Tread carefully screwing with the ACPI service. You can get yourself unbootable real fast or cause some truly frustrating hardware issues.

Be sure to create a system restore point before you begin. I would also recommend sitting at the Ctrl-alt-del screen for about 5 min to make sure everything fires up ok before you login and overwrite the lastknown good (you're fooling around under a control set so lastknowngood will be applicable)
 
Back
Top