Re: problem to understand behavior of I/O manager



That deduction seems to be a rather large leap. The driver would report an
error such as STATUS_NO_MEMORY (?) to indicate a problem with processing the
request. Most storage drivers, when written correctly, will ensure that any
needed buffers, work items, context structures, and others are preallocated
in the dispatch routine. The first processing on completion of a storage
request is done at DIRQL, though that may be in the Microsoft written bus
driver such as pci.sys. The second is at DISPATCH_LEVEL where some
processing may require running at PASSIVE_LEVEL. That processing would be
scheduled via a worker thread, but almost no one would wait until the time
to schedule a work item to allocate memory since it can fault if the system
is low on memory in the nonpaged pool. In normal circumstances most storage
drivers do not need to use a worker thread. They have to be written to
handle page files for the OS and cannot take any hit on memory allocation.

"Kalle Olavi Niemitalo" <kon@xxxxxx> wrote in message
news:877igwtc03.fsf@xxxxxxxxxxxxxxxxxxxx
"Maxim S. Shatskih" <maxim@xxxxxxxxxxxxxxxx> writes:

Do these mean that, if Win32 has already reported ERROR_PENDING
to the application, the kernel cannot later run out of memory
when trying to report the completion of the I/O?

The kernel itself will not, but the particular driver can.

I don't quite see what you mean.
Are you implying that a driver might for example attempt to
allocate a work item from which it would call IoCompleteRequest,
and if IoAllocateWorkItem fails, the driver would just forget
about the IRP?
To me, that would seem a bug in the driver.


.



Relevant Pages

  • Re: NOTICE OF NEW BACKGROUND CHECK PROCEDURES AND DAC INFORMATION.
    ... is up to each driver to monitor potential issues, ... Obtaining a copy of your report: ... Consumer Services, ... any personal consumer report every 12 months upon written request, ...
    (misc.transport.trucking)
  • Re: NOTICE OF NEW BACKGROUND CHECK PROCEDURES AND DAC INFORMATION.
    ... is up to each driver to monitor potential issues, ... Obtaining a copy of your report: ... Consumer Services, ... any personal consumer report every 12 months upon written request, ...
    (misc.transport.trucking)
  • PROBLEM: Memory leak in -test9?
    ... There seems to be a memory leak in 2.6.0-test9. ... 0cf8-0cff: PCI conf1 ... 16 nodes reported by PnP BIOS; 16 recorded by driver ... ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 ...
    (Linux-Kernel)
  • Re: Problem isolating blue screen of death problem
    ... Parameter 4 is the location of the device driver causing the problem. ... memory to disk or retrieves a page of memory from disk to memory. ... select Task Manager and click the Performance ... Kernel Summary Dump File: Only kernel address space is available ...
    (microsoft.public.windowsxp.help_and_support)
  • PROBLEM REMAINS: [sata_nv ADMA breaks ATAPI] Crash on accessing DVD-RAM
    ... My system has 4G of physical memory, but when I use mem=4096M kernel sees only ... Port Connector Information ... Internal Connector Type: On Board IDE ... Real Time Clock Driver v1.12ac ...
    (Linux-Kernel)