Re: preferable way to control kernel module
From: Sergey Uvarov (uvarovsl_at_mail.pnpi.spb.ru)
Date: Thu, 11 Aug 2005 01:50:44 +0400 To: John Baldwin <firstname.lastname@example.org>
>>>>I'm writing a kernel module for my own needs. AFAIK the following
>>>>methods could be used:
>>>>1) allocate not used system call with help of SYSCALL_MODULE macro
>>>>2) allocate proprieatry oid via SYSCTL_OID(OID_AUTO) and write an
>>>>appropriate sysctl handler(s)
>>>>3) add a file in /dev and use ioctl(2) call
>>>>What is a preferable way to control my module?
>>>It depends on what you want to do really. I've used sysctl's for simple
>>>debug modules where I write to the sysctl to have it perform a desired
>>I need to pass some configuration parameters to my module and retrieve a
>>status back. Interface is quite similar to ptrace(2) syscall. I don't
>>need to pass large amount of data.
> If it's a single integer or some such, I'd say use sysctl. If it's a
> structure, I'd go the ioctl(2) route. Creating /dev entries isn't all that
> hard. In your case you'd just need open/close/ioctl in a cdevsw, then use
> make_dev() during MOD_LOAD and destroy_dev() during MOD_UNLOAD.
Thank you for advise. But I wonder: what is wrong with syscall approach
(via SYSCALL_MODULE macro)?
email@example.com mailing list
To unsubscribe, send any mail to "firstname.lastname@example.org"