Jump to content

jeh

Member
  • Posts

    1
  • Joined

  • Last visited

  • Donations

    0.00 USD 
  • Country

    Turkey

About jeh

jeh's Achievements

0

Reputation

  1. [quote name='Rhuaidhri' post='798754' date='Sep 23 2008, 05:37 PM']Well that answers that. The setting is still read and applied by XP but as to if it will impact performance, probably not. I'll add it to my list of stuff to test and benchmark and some stage in the distant future but ignore it for now. Thanks.[/quote] Sorry for the dead thread resurrection, but someone recently pointed me here... IoPageLockLimit is not read by XP, nor Server 2003, nor Vista, nor Server 2008, nor Win7. It has not been read by any version of Windows since Windows 2000 RTM. Windows 2000 SP1 replaced it with IoPageLockPercentage... but that too was gone as of Windows 2000 SP2. Neither has returned. The [i]mechanism[/i] of locking (sometimes called pinning) pages for I/O (usually, though not always, for DMA) of course still exists: all DMA has to be to locked pages. But there is no longer a registry value to specify a system-wide limit of how many pages can be locked at one time for this purpose. (Well, of course you can create the registry value. But as a few minutes with strings.exe and ntoskrnl.exe should convince you, there's nothing in the OS that reads it.) This is not something that gets chosen at I/O time based on available resources. If a driver specifies that it's doing "direct I/O", then the I/O manager locks the buffer (yes, with MmProbeAndLockPages) and builds a structure called an MDL to describe it before the driver ever gets called. The implementation of the "limit" was this: If there are already so many pages locked for I/O that the new request's buffer would cause the current total number of locked pages for all outstanding requsts to go over the limit, then the new I/O request would be failed with STATUS_WORKING_SET_QUOTA. Note: "Failed", not "stalled". I use the past tense because the entire mechanism seems to be gone completely. In particular, the global where the registry value was stored, MmLockLimitInBytes , is gone. As is the string IoPageLockLimit from ntoskrnl.exe (or any of its variants). Again, this is for ALL versions of Windows since Windows 2000 RTM, or SP1 if you want to include IoPageLockPercentage.... not just Windows 2000 versions.
×
×
  • Create New...