#define KERN_BUSY 434 /* random number */
enum {BUSY_ON=1, BUSY_OFF};
int busy_ontime = 0;   /* loop 0 ticks */
int busy_offtime = HZ; /* every second */
/* two integer items (files) */
static ctl_table busy_table[] = {
   {BUSY_ON, "ontime", &busy_ontime,
   int), 0644, NULL, &proc_dointvec,
   _intvec, /* fill with 0's */},
   {BUSY_ON, "offtime", &busy_offtime,
   int), 0644, NULL, &proc_dointvec,
   _intvec, /* fill with 0's */},
   {0}
   };
/* a directory */
static ctl_table busy_kern_table[] = {
   {KERN_BUSY, "busy", NULL, 0, 0555,
      busy_table},
   {0}
   };
/* the parent directory */
static ctl_table busy_root_table[] = {
   {CTL_KERN, "kernel", NULL, 0, 0555,
      busy_kern_table},
   {0}
   };
static struct ctl_table_header *busy_table_header;
int init_module(void)
{
   busy_table_header =
      register_sysctl_table(busy_root_table,
      0);
   if (!busy_table_header)
      return -ENOMEM;
   busy_loop();
   return 0;
}
void cleanup_module(void)
{
        unregister_sysctl_table(busy_table_header);
}
  
  
  
  
  
  
  
  
  
    Copyright © 1994 - 2018 Linux Journal.  All rights reserved.