cache manager async IO?

I have couple of questions on cache manager would be great if some can
respond or help.

  1. Obsered that Cache manager is sending synchronous IO to disk driver.
    Q: Is there anyway to make cache manager send asynchronous IO to the disk
    driver?

  2. In our tests we found that NTFS and Windows 2000 cache manager is
    flushing data to our disk device synchronously in 64K chunks.
    Q: Is there any way to make the cache manager send a larger then 64K write
    to our device?

  3. Is there any way to disable cache manager on our volume/disk?

Thanks,
-Anand

>>1) Obsered that Cache manager is sending synchronous IO to disk
driver.
Q: Is there anyway to make cache manager send asynchronous IO to the
disk
driver?<<

No, paging operations from the memory manager to the disk must be
synchronized.

>2) In our tests we found that NTFS and Windows 2000 cache manager is
flushing data to our disk device synchronously in 64K chunks.
Q: Is there any way to make the cache manager send a larger then 64K
write
to our device?<<

No, the Max is 0x10000 as defined in the DDK header files and the NTIFS
header files.

>3) Is there any way to disable cache manager on our volume/disk? <<

If you were to disable caching, your system would run very slow and it
would not allow such things as memory mapped I/O, pagefile support and
file execution; EXE files and their associated DLL files are all mapped
in via the memory manager; which requires cache support since they are
one and the same.

Jamey
\


You are currently subscribed to ntfsd as: xxxxx@storagecraft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

> 1) Obsered that Cache manager is sending synchronous IO to disk driver.

Q: Is there anyway to make cache manager send asynchronous IO to the disk
driver?

You can create a FS filter that makes them async. Still, in case of a
read, a CACHED read cannot complete before NON CACHED read has completed (NON
CACHED means physical read, not from cache memory! to clear the terms). In
case of write, most I/O is async - i.e. not right after the data is written to
the cache, but when decided by the lazy writer.

  1. In our tests we found that NTFS and Windows 2000 cache manager is
    flushing data to our disk device synchronously in 64K chunks. Q: Is there
    any way to make the cache manager send a larger then 64K write to our
    device?

I don’t believe there is any way, except by physical restrictions -
for example a 1 MB sector:-) IIRC, 64Kb is not always used - I most often see
4 Kb I/O - though I see 4 Kb aligned one.

  1. Is there any way to disable cache manager on our volume/disk?

Now, which cache manager do you mean? This is one area I am not
certain about myself…
You can disable write behind caching via hardware manager, and hard
drive properties. This will PAINFULLY decrease performance - at least that was
my observation on different disk types (normal IDE, RAID IDE, plain SCSI, RAID
SCSI, FC RAID).
This still doesn’t disable caching - since almost all applications
rely on caching, I think the data is still kept for read caching, but never
kept for write cache - i.e. the writes are synchronous. Though I could be
wrong, and the data is not cached for reads, also - I’m sure some hardware
experts will explain this better than I can.


Kind regards, Dejan M. www.alfasp.com
E-mail: xxxxx@alfasp.com
Alfa Transparent File Encryptor - Transparent file encryption services.
Alfa File Protector - File protection and hiding library for Win32 developers.

Alfa File Monitor - File monitoring library for Win32 developers.

> 1) Obsered that Cache manager is sending synchronous IO to disk
driver.

Q: Is there anyway to make cache manager send asynchronous IO to the
disk
driver?

No. It makes this decision itself.

  1. In our tests we found that NTFS and Windows 2000 cache manager is
    flushing data to our disk device synchronously in 64K chunks.
    Q: Is there any way to make the cache manager send a larger then 64K
    write
    to our device?

Again no, this constant is hard-coded.

  1. Is there any way to disable cache manager on our volume/disk?

By writing your own filesystem only.

Max