Microsoft KB Archive/263939

From BetaArchive Wiki

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.

RESOLUTION

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:

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