Microsoft KB Archive/263939

= Disk Performance May Degrade Over Time =

Article ID: 263939

Article Last Modified on 2/22/2007

-

APPLIES TO


 * Microsoft Windows 2000 Advanced Server
 * Microsoft Windows 2000 Advanced Server
 * Microsoft Windows 2000 Service Pack 1
 * Microsoft Windows 2000 Service Pack 2
 * Microsoft Windows 2000 Service Pack 2
 * Microsoft Windows 2000 Service Pack 1

-



This article was previously published under Q263939



SYMPTOMS
Disk input/output (I/O) throughput may degrade over time from the amount of time that it takes after you start your computer. After the throughput is degraded, the original disk performance is not recovered until you restart your computer again.

Note that this degradation in performance is distinct from the degradation that occurs when a disk becomes fragmented. Degraded performance that is caused by disk fragmentation is not recovered when you restart the computer. Also, this degradation in performance is observed most often on high-end disk subsystems that consist of multiple spindles in a Redundant Array of Inexpensive Disks (RAID) configuration.



CAUSE
This problem occurs because the Classpnp driver monitors disks for signs that they are under too much load. Internal indications of this type of load include a variety of errors that may be returned by lower level disk drivers. When these errors occur, Classpnp progressively disables performance features on the disk to avoid generating the errors. The algorithm that is used to decide when to throttle back these performance features does not allow for scenarios that may involve transient error conditions. Therefore, after a certain number of errors are accumulated, performance is deliberately throttled back and is not restored to normal until the next reboot. This can cause problems on computers that may experience very few disk errors but remain online for long periods of time because there is no provision for dynamically re-enabling performance features.



Service Pack Information
To resolve this problem, obtain the latest service pack for Microsoft Windows 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

260910 How to Obtain the Latest Windows 2000 Service Pack

Hotfix Information
A supported fix is now available from Microsoft, but it is only intended to correct the problem that is described in this article. Apply it only to computers that are experiencing this specific problem. This fix may receive additional testing. Therefore, if you are not severely affected by this problem, Microsoft recommends that you wait for the next Windows 2000 service pack that contains this hotfix.

To resolve this problem immediately, contact Microsoft Product Support Services to obtain the fix. For a complete list of Microsoft Product Support Services phone numbers and information about support costs, visit the following Microsoft Web site:

http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS

NOTE: In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The typical support costs will apply to additional support questions and issues that do not qualify for the specific update in question.

The English-language version of this fix should have the following file attributes or later:   Date        Time   Version        Size    File name --  01-07-2002  17:44  5.0.2195.4809  27,952  Cdrom.sys 11-16-2001 10:23  5.0.2195.4643  34,416  Classpnp.sys 04-27-2002 13:10  5.0.2195.5690  29,744  Disk.sys 09-11-2001 17:06  5.0.2195.4326  24,336  Scsikd.dll 09-11-2001 17:06  5.0.2195.4326  11,632  Scsiprnt.sys 01-11-2002 15:06  5.0.2195.4826  10,384  Sfloppy.sys 02-21-2002 11:45  5.0.2195.4956  10,768  Tape.sys The following file is included with the package but is not installed as part of the patch because it is only needed for purposes of kernel debugging. It is not a required part of the hotfix and need not be installed on a system in order for that system to function correctly or to be debugged.   Date        Time      Version        Size    File name -  09/11/2001  05:06 PM  5.0.2195.4326  24,336  Scsikd.dll



WORKAROUND
To work around this problem on computers that do not have this fix installed, restart the computer.



STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was first corrected in Microsoft Windows 2000 Service Pack 4.



MORE INFORMATION
The list of errors that can result in throttled performance include the following SCSI Request Block (SRB) status codes (note that these codes are of interest primarily to driver developers):

SRB_STATUS_COMMAND_TIMEOUT

SRB_STATUS_ABORTED

SRB_STATUS_TIMEOUT

SRB_STATUS_PHASE_SEQUENCE_FAILURE

SRB_STATUS_UNEXPECTED_BUS_FREE

SRB_STATUS_PARITY_ERROR

SRB_STATUS_ERROR

When the total count of any of the above errors reaches four, Classpnp throttles performance by clearing the following flags

SRB_FLAGS_NO_QUEUE_FREEZE

SRB_FLAGS_QUEUE_ACTION_ENABLE

and setting the following flag:

SRB_FLAGS_DISABLE_SYNCH_TRANSFER

When the accumulated error count reaches eight, Classpnp sets the following flag:

SRB_FLAGS_DISABLE_DISCONNECT

The fix for this issue changes the behavior of Classpnp so that it successively re-enables the performance flags after a certain amount of successful I/O. After successfully completing 1 megabyte (MB) of I/O, the driver backs off to the next lower-level of throttling until the computer is back to the original state. The amount of time that is required to back off, therefore, depends on how much disk activity is occurring. The typical case is that there is a combination of successful and unsuccessful I/Os during the transition periods (normal, degraded and degraded, normal), so the computer flips between throttled and running free several times before settling in on the best performance features.

For additional information about how to obtain a hotfix for Windows 2000 Datacenter Server, click the article number below to view the article in the Microsoft Knowledge Base:

265173 The Datacenter Program and Windows 2000 Datacenter Server Product

For additional information about how to install multiple hotfixes with only one reboot, click the article number below to view the article in the Microsoft Knowledge Base:

296861 Use QChain.exe to Install Multiple Hotfixes with One Reboot

For additional information about how to install Windows 2000 and Windows 2000 hotfixes at the same time, click the article number below to view the article in the Microsoft Knowledge Base:

249149 Installing Microsoft Windows 2000 and Windows 2000 Hotfixes

Additional query words: kbBaseOS

Keywords: kbbug kbfix kbwin2000presp4fix kbqfe kbenv kboswin2000fix kbwin2ksp4fix kbhotfixserver KB263939

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.