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

*** 21,31 **** /* 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. */ #include <sys/param.h> #include <sys/t_lock.h> #include <sys/types.h> --- 21,31 ---- /* 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) 2013, Joyent, Inc. All rights reserved. */ #include <sys/param.h> #include <sys/t_lock.h> #include <sys/types.h>
*** 945,955 **** } void clock_init(void) { ! cyc_handler_t clk_hdlr, timer_hdlr, lbolt_hdlr; cyc_time_t clk_when, lbolt_when; int i, sz; intptr_t buf; /* --- 945,955 ---- } void clock_init(void) { ! cyc_handler_t clk_hdlr, lbolt_hdlr; cyc_time_t clk_when, lbolt_when; int i, sz; intptr_t buf; /*
*** 961,978 **** 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; --- 961,970 ----
*** 1043,1053 **** * 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); } --- 1035,1044 ----