• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Determining disk activity per volume
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Determining disk activity per volume


  • Subject: Re: Determining disk activity per volume
  • From: Thulli <email@hidden>
  • Date: Sat, 7 Oct 2006 07:14:03 +0800

>> determining when read or write functions are called. However, this polling approach doesn't strike me as very elegant.

Option 1. If you are interested only in read and write system calls and don't want to do polling, take a look at this.
http://developer.apple.com/technotes/tn2005/tn2127.html. You need to write a kauth hook and user land client process. If the kauth hook kext could provide a device interface, then the user land client can block on a "read(/dev/yourKauthDevice)" and process what you read with no polling.


Option 2. If you don't want to write a kext and still achieve results with NO polling, then take a look at this
http://developer.apple.com/documentation/Performance/Conceptual/ FileSystem/Articles/TrackingChanges.html


thanks,
Thulli.

On 06-Oct-06, at 10:02 AM, Rick Mann wrote:

Hi. I'd like to implement a disk activity indicator that lives in the menu bar. I'm looking for suggestions on how to determine when a particular a volume, device, or the filesystem (in decreasing order of desirability) is reading from or writing to a device.

I have these requirements:

	a) Do not destabilize the OS
	b) Low system overhead
	c) Reasonably rapid update (> 10 fps)

I've been looking at the fs_usage sources and sysctl() using KERN_KDREADTR, and determining when read or write functions are called. However, this polling approach doesn't strike me as very elegant. I suppose I could make the call 10 times each second, and then process the results, but it seems very unwieldy to do this. I also don't know much about KERN_KDREADTR, because I can't seem to find any documentation about it.
8
I'm trying to find the sources for sysctl(), but I don't know where to look (is there a way to look up the location of commands and functions?).


I'd appreciate any suggestions. Thanks!

--
Rick


_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-kernel mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40gmail.com


This email sent to email@hidden

_______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden
  • Follow-Ups:
    • Re: Determining disk activity per volume
      • From: Rick Mann <email@hidden>
References: 
 >Determining disk activity per volume (From: Rick Mann <email@hidden>)

  • Prev by Date: Re: Where is kdbg_control()?
  • Next by Date: Re: Determining disk activity per volume
  • Previous by thread: Re: Determining disk activity per volume
  • Next by thread: Re: Determining disk activity per volume
  • Index(es):
    • Date
    • Thread