summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/sys/callo.h
diff options
context:
space:
mode:
authorMadhavan Venkataraman <Madhavan.Venkataraman@Sun.COM>2009-01-18 10:21:18 -0800
committerMadhavan Venkataraman <Madhavan.Venkataraman@Sun.COM>2009-01-18 10:21:18 -0800
commit454ab20244cd84c2b93aa273b462eab1166cf539 (patch)
tree6c5bf39f1b21e05e87c0fb9981fb2e23504a9b75 /usr/src/uts/common/sys/callo.h
parent7e48531733326c7034772ff72376656c5b1183ca (diff)
downloadillumos-gate-454ab20244cd84c2b93aa273b462eab1166cf539.tar.gz
6784948 Bug fixes to the Callout implementation putback in SNV 103
Diffstat (limited to 'usr/src/uts/common/sys/callo.h')
-rw-r--r--usr/src/uts/common/sys/callo.h25
1 files changed, 12 insertions, 13 deletions
diff --git a/usr/src/uts/common/sys/callo.h b/usr/src/uts/common/sys/callo.h
index 9402cfa050..95ec7e769c 100644
--- a/usr/src/uts/common/sys/callo.h
+++ b/usr/src/uts/common/sys/callo.h
@@ -23,7 +23,7 @@
/*
- * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -300,14 +300,6 @@ typedef enum callout_stat_type {
#endif
/*
- * Callout table flags:
- *
- * CALLOUT_TABLE_SUSPENDED
- * Callout processing on this table has been suspended.
- */
-#define CALLOUT_TABLE_SUSPENDED 0x1UL
-
-/*
* All of the state information associated with a callout table.
* The fields are ordered with cache performance in mind.
*/
@@ -321,7 +313,8 @@ typedef struct callout_table {
callout_hash_t *ct_clhash; /* callout list hash */
kstat_named_t *ct_kstat_data; /* callout kstat data */
- ulong_t ct_flags; /* flags */
+ uint_t ct_type; /* callout table type */
+ uint_t ct_suspend; /* suspend count */
cyclic_id_t ct_cyclic; /* cyclic for this table */
hrtime_t *ct_heap; /* callout expiration heap */
ulong_t ct_heap_num; /* occupied slots in the heap */
@@ -336,7 +329,7 @@ typedef struct callout_table {
#ifdef _LP64
ulong_t ct_pad[4]; /* cache alignment */
#else
- ulong_t ct_pad[8]; /* cache alignment */
+ ulong_t ct_pad[7]; /* cache alignment */
#endif
} callout_table_t;
@@ -377,12 +370,18 @@ typedef struct callout_table {
#define CALLOUT_ALIGN 64 /* cache line size */
+#ifdef _LP64
+#define CALLOUT_MAX_TICKS NSEC_TO_TICK(CY_INFINITY);
+#else
+#define CALLOUT_MAX_TICKS LONG_MAX
+#endif
+
extern void callout_init(void);
extern void membar_sync(void);
-extern void callout_cpu_configure(cpu_t *);
extern void callout_cpu_online(cpu_t *);
-extern void callout_cpu_init(cpu_t *);
+extern void callout_cpu_offline(cpu_t *);
extern void callout_hrestime(void);
+
#endif
#ifdef __cplusplus