Re: User-space to kernel communication
site_archiver@lists.apple.com Delivered-To: darwin-kernel@lists.apple.com On Jan 9, 2007, at 2:23 PM, Michael Smith wrote: No. = Mike _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-kernel/site_archiver%40lists.a... On Jan 9, 2007, at 11:47 AM, Greg wrote: Personally, I would implement a UserClient with two methods; one that blocks waiting for a message from the kernel, the other that ships data in. This avoids blowing a kernel thread on the communication portal (making it easier to have multiple clients) by requiring both threads to be owned by the user process. This does sound like a viable idea. It would still require me to have two threads on the user-land side though (calling these methods), would that be a problem? Also, as I asked in the other email, can you pass a pointer to a user-land allocated buffer as a parameter to a method call for the kernel to use? You can, although the kernel can't access it directly. As I pointed out previously, if the data is small (you mentioned 50 bytes, which is very small) you're better off just copying it. If you need to pass it to hardware, or to map it, you need to construct an IOMemoryDescriptor referencing it. This email sent to site_archiver@lists.apple.com
participants (1)
-
Michael Smith