NTFSD Folk:
The service attached to my minifilter needs to wait until the disks on the
system are idle to do certain operations. I need some method to determine
that the disks on the system have been idle, say, for the last 250 ms.
I’m currently using a Performance Counter and checking “Avg. Disk Queue
Length”. That’s a rather nebulous value, though, and there seems to be a lot
of overhead in getting it.
Has anybody found a reasonable way to check for system idleness, either in
kernel or user mode?
Thanks,
Ken
What about a process with low priority class. You probably need special process for it as the thread can have relative offset +/- 3 from process priority. That low priority thread will be planned just when normal priority thrads are idle, so overhead is not problem here. Here you can use the same algorithm as you described.
-bg
Priority isn’t the issue (it’s already running at BelowNormal priority).
The problem is that once a disk I/O starts, e.g. a seek, other processes
have to wait. So I want to know when the disk is idle.
There’s probably no perfect solution, but the one using the Performance
Counter is kinda lame.
Ken
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@xythos.com
Sent: Tuesday, December 09, 2008 6:42 AM
To: Windows File Systems Devs Interest List
Subject: RE:[ntfsd] Detecting system idleness
What about a process with low priority class. You probably need special
process for it as the thread can have relative offset +/- 3 from process
priority. That low priority thread will be planned just when normal priority
thrads are idle, so overhead is not problem here. Here you can use the same
algorithm as you described.
-bg
NTFSD is sponsored by OSR
For our schedule debugging and file system seminars
(including our new fs mini-filter seminar) visit:
http://www.osr.com/seminars
You are currently subscribed to ntfsd as: xxxxx@comcast.net
To unsubscribe send a blank email to xxxxx@lists.osr.com