Print this page
OS-2366 ddi_periodic_add(9F) is entirely rubbish

@@ -21,11 +21,11 @@
 /*      Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
 /*        All Rights Reserved   */
 
 /*
  * Copyright (c) 1988, 2010, Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 2011, Joyent, Inc. All rights reserved.
+ * Copyright (c) 2013, Joyent, Inc.  All rights reserved.
  */
 
 #include <sys/param.h>
 #include <sys/t_lock.h>
 #include <sys/types.h>

@@ -945,11 +945,11 @@
 }
 
 void
 clock_init(void)
 {
-        cyc_handler_t clk_hdlr, timer_hdlr, lbolt_hdlr;
+        cyc_handler_t clk_hdlr, lbolt_hdlr;
         cyc_time_t clk_when, lbolt_when;
         int i, sz;
         intptr_t buf;
 
         /*

@@ -961,18 +961,10 @@
 
         clk_when.cyt_when = 0;
         clk_when.cyt_interval = nsec_per_tick;
 
         /*
-         * cyclic_timer is dedicated to the ddi interface, which
-         * uses the same clock resolution as the system one.
-         */
-        timer_hdlr.cyh_func = (cyc_func_t)cyclic_timer;
-        timer_hdlr.cyh_level = CY_LOCK_LEVEL;
-        timer_hdlr.cyh_arg = NULL;
-
-        /*
          * The lbolt cyclic will be reprogramed to fire at a nsec_per_tick
          * interval to satisfy performance needs of the DDI lbolt consumers.
          * It is off by default.
          */
         lbolt_hdlr.cyh_func = (cyc_func_t)lbolt_cyclic;

@@ -1043,11 +1035,10 @@
          * Grab cpu_lock and install all three cyclics.
          */
         mutex_enter(&cpu_lock);
 
         clock_cyclic = cyclic_add(&clk_hdlr, &clk_when);
-        ddi_timer_cyclic = cyclic_add(&timer_hdlr, &clk_when);
         lb_info->id.lbi_cyclic_id = cyclic_add(&lbolt_hdlr, &lbolt_when);
 
         mutex_exit(&cpu_lock);
 }