| /illumos-gate/usr/src/uts/common/fs/sockfs/ |
| H A D | socknotify.c | 48 if ((so)->so_rcv_wakeup) { \ 49 (so)->so_rcv_wakeup = B_FALSE; \ 50 cv_signal(&(so)->so_rcv_cv); \ 55 if ((so)->so_snd_wakeup) { \ 56 (so)->so_snd_wakeup = B_FALSE; \ 57 cv_broadcast(&(so)->so_snd_cv); \ 70 * Wake up anyone waiting for the connection to be established. 75 ASSERT(MUTEX_HELD(&so->so_lock)); in so_notify_connected() 79 mutex_exit(&so->so_lock); in so_notify_connected() 82 mutex_exit(&so->so_lock); in so_notify_connected() [all …]
|
| /illumos-gate/usr/src/uts/common/io/nvme/ |
| H A D | nvme_lock.c | 37 return (lock->nl_writer != NULL || in nvme_rwlock_wr_or_pend() 38 list_is_empty(&lock->nl_pend_writers) == 0); in nvme_rwlock_wr_or_pend() 48 return (nvme_rwlock_wr_or_pend(&nvme->n_lock) || in nvme_rwlock_block_ns_rdlock() 49 nvme_rwlock_wr_or_pend(&ns->ns_lock)); in nvme_rwlock_block_ns_rdlock() 65 return (nvme_rwlock_wr_or_pend(&nvme->n_lock) || in nvme_rwlock_block_ns_wrlock() 66 nvme_rwlock_wr_or_pend(&ns->ns_lock) || in nvme_rwlock_block_ns_wrlock() 67 list_is_empty(&ns->ns_lock.nl_readers) == 0); in nvme_rwlock_block_ns_wrlock() 78 return (nvme_rwlock_wr_or_pend(&nvme->n_lock)); in nvme_rwlock_block_ctrl_rdlock() 97 if (nvme_rwlock_wr_or_pend(&nvme->n_lock) || in nvme_rwlock_block_ctrl_wrlock() 98 list_is_empty(&nvme->n_lock.nl_readers) == 0) { in nvme_rwlock_block_ctrl_wrlock() [all …]
|
| /illumos-gate/usr/src/uts/sun4u/sys/ |
| H A D | todm5819.h | 23 * Copyright 2001-2002 Sun Microsystems, Inc. All rights reserved. 63 #define RTC_DOW 0x6 /* Day-of-Week */ 64 #define RTC_DOM 0x7 /* Day-of-Month */ 87 #define RTC_UIE 0x10 /* Update-ended Interrupt Enable */ 112 #define APC_WDWR 0x43 /* Wake up Day of Week */ 113 #define APC_WDMR 0x44 /* Wake up Date of Month */ 114 #define APC_WMR 0x45 /* Wake up Month */ 115 #define APC_WYR 0x46 /* Wake up Year */ 116 #define APC_WCR 0x48 /* Wake up Century */ 123 #define APC_FSTRC 0x40 /* Fail-safe Timer Reset Command */
|
| H A D | todds1287.h | 23 * Copyright (c) 1999-2001 by Sun Microsystems, Inc. 55 * Minor number is instance << 8 + clone minor from range 1-255; clone 0 is 58 #define DS1287_MINOR_TO_CLONE(minor) ((minor) & (DS1287_MAX_CLONE - 1)) 86 #define RTC_DOW 0x6 /* Day-of-Week */ 87 #define RTC_DOM 0x7 /* Day-of-Month */ 109 #define RTC_UIE 0x10 /* Update-ended Interrupt Enable */ 140 #define APC_WDWR 0x43 /* Wake up Day of Week */ 141 #define APC_WDMR 0x44 /* Wake up Date of Month */ 142 #define APC_WMR 0x45 /* Wake up Month */ 143 #define APC_WYR 0x46 /* Wake up Year */ [all …]
|
| /illumos-gate/usr/src/uts/common/fs/fifofs/ |
| H A D | fifovnops.c | 38 * type supports STREAMS-based pipes and FIFOs. 160 * writing via cross-zone named pipes. A privileged global 162 * it from a lower-level zone to a higher-level zone. The 163 * kernel-enforced mount policy for lofs mounts ensures 164 * that such mounts are read-only in the higher-level 170 * zone of the writing process. Writing up is possible since 184 (!(fnp->fn_flag & ISPIPE))) { in tsol_fifo_access() 220 * before the end waiting in open ever wakes up. 228 fifolock_t *fn_lock = fnp->fn_lock; in fifo_open() 231 ASSERT(vp->v_type == VFIFO); in fifo_open() [all …]
|
| /illumos-gate/usr/src/uts/common/fs/zfs/ |
| H A D | zthr.c | 45 * running and wakes up the zthr. 46 * 2] The zthr wakes up, checks the indicator and starts working. 55 * ensure that they fit your use-case well before using them. 61 * 1] A user-defined checker function (checkfunc) that decides whether 67 * 2] A user-defined ZTHR function (func) which the zthr executes when 91 * NOTE: ZTHR threads could potentially wake up spuriously and the 108 * signal every time func returns and every time it wakes up [see 112 * time. This may be very time-consuming for some operations that 129 * Cancelling a zthr doesn't clean up its metadata (internal locks, 142 * | woke up [all …]
|
| /illumos-gate/usr/src/uts/common/sys/1394/adapters/ |
| H A D | hci1394_q.h | 23 * Copyright (c) 1999-2000 by Sun Microsystems, Inc. 74 * starting and waking up the async Q's. When the first descriptor is placed 78 * Whenever an additional descriptor is added, wake is called. 86 * and wake, and the argument to pass during start and wake. 147 * completed (i.e. free up the space used by this command) 155 * up the space used by this command). Not all commands use the data 164 * the order that they were submitted, we queue these up in a linked 198 * q. qp_offset is (qp_current - qp_begin). This is used to determine 232 * a backup of qb_ptrs. If we fail while setting up an AT Q, we need to 259 * complete in the order they were issued. We Q these commands up with [all …]
|
| /illumos-gate/usr/src/uts/common/io/bnx/570x/driver/common/lmdev/ |
| H A D | lm.h | 2 * Copyright 2014-2017 Cavium, Inc. 9 * at http://opensource.org/licenses/CDDL-1.0 76 * Network wake-up frame. 84 /* Wake-up frame pattern. */ 182 * finished up in mm_init_packet_desc. 191 * cleaning up various request queues, aborting transmit requests, and 223 * This routine finishes up the final stage of reset. Various state 245 * chip to its initial power-on state. */ 394 * This routine is called to add a wake-up pattern to the main list that 395 * contains all the wake-up frame. */ [all …]
|
| /illumos-gate/usr/src/man/man3c/ |
| H A D | cnd.3c | 65 Importantly, they do not allow for inter-process synchronization. 71 The condition variable is suitable for intra-process use. 110 in UTC, expires, then the thread will be woken up. 120 that they should be woken up and check the variable again. 123 function will only wake a single thread that is blocked on the 128 will wake up every thread waiting on the condition variable 176 .Sh MT-LEVEL 177 .Sy MT-Safe
|
| /illumos-gate/usr/src/cmd/vntsd/ |
| H A D | vntsd.c | 31 * -i <device instance> 32 * VCC device instance to use, e.g. virtual-console-concentrator@0. 34 * -p <ip address> 36 * -d 38 * -t timeout for inactivity 0 = indefinite 39 * -A enable Authorization checking. Mutually exclusive with -p. 64 #if !defined(TEXT_DOMAIN) /* Should be defined by cc -D */ 76 #define VNTSD_INVALID_LISTEN_ADDR ((in_addr_t)-1) 92 if (thr_self() != vntsdp->tid) { in exit_sig_handler() 94 (void) thr_kill(vntsdp->tid, sig); in exit_sig_handler() [all …]
|
| /illumos-gate/usr/src/uts/common/io/ |
| H A D | tty_pts.c | 14 * PTY - Stream "pseudo-tty" device. 54 extern int npty; /* number of pseudo-ttys configured in */ 125 static dev_info_t *ptsl_dip; /* for dev-to-dip conversions */ 189 return (-1); in ptsl_attach() 245 mutex_enter(&pty->ptc_lock); in ptslopen() 247 * Block waiting for controller to open, unless this is a no-delay in ptslopen() 251 if (pty->pt_ttycommon.t_writeq == NULL) { in ptslopen() 252 pty->pt_ttycommon.t_iflag = 0; in ptslopen() 253 pty->pt_ttycommon.t_cflag = (B38400 << IBSHIFT)|B38400|IFLAGS; in ptslopen() 254 pty->pt_ttycommon.t_iocpending = NULL; in ptslopen() [all …]
|
| H A D | signalfd.c | 18 * Support for the signalfd facility, a Linux-borne facility for 19 * file descriptor-based synchronous signal consumption. 54 * arriving signals should wake only process-local pollers. Additionally, 59 * poll machinery can act upon them without risk of use-after-free. When a 81 * Poller entries in sigfd_proc_state_t`sigfd_list are cleaned up under two 91 * fork-shared signalfd descriptors in conjuction with fork-shared caching poll 93 * wake-ups. This is caused by the pollhead identity of signalfd descriptors 95 * thread-local cache, poll(2) is unaffected by this limitation. 108 * Process exit, cleaning up signalfd pollers: 140 /* Per-instance signalfd device state: */ [all …]
|
| /illumos-gate/usr/src/uts/common/inet/ |
| H A D | squeue.c | 31 * ------------------------------------------------ 34 * ----------- 36 * This is a general purpose high-performance serialization mechanism 55 * -------------------------- 70 * ----------------- 96 * -------------- 101 * (or TCP Rx ring - to be implemented in future). As part of this 105 * processing so that queue backlog doesn't build up and packet processing 159 ASSERT(MUTEX_HELD(&(sqp)->sq_lock)); \ 161 if ((sqp)->sq_last != NULL) \ [all …]
|
| /illumos-gate/usr/src/lib/libnisdb/ |
| H A D | nis_hashitem.c | 34 /* We're the magician, so undefine the define-magic */ 46 * one-writer-or-many-readers locking. The following restrictions 52 * the deletion is holding a read-only lock on the item. 67 errorcode = pthread_mutex_init(&table->lock, 0); in __nis_init_hash_table() 70 "(table->lock) pthread_mutex_init returned %d (%s)", in __nis_init_hash_table() 74 errorcode = pthread_cond_init(&table->cond, 0); in __nis_init_hash_table() 77 "(table->cond) pthread_cond_init returned %d (%s)", in __nis_init_hash_table() 81 errorcode = pthread_mutex_init(&table->traverser_id_lock, 0); in __nis_init_hash_table() 84 "(table->traverser_id_lock) " in __nis_init_hash_table() 89 table->traversed = 0; in __nis_init_hash_table() [all …]
|
| /illumos-gate/usr/src/uts/i86pc/io/ |
| H A D | hpet_acpi.c | 84 * hpet_state_lock is used to synchronize disabling/enabling deep c-states 102 * hpet_proxy_users is a per-cpu array. 116 * Set up pointers to access symbols in pcplusmp. 169 * ACPI, programming the interrupt on the non-legacy timer can in hpet_early_init() 181 * the address of the first table while building up the boot in hpet_early_init() 191 if (BOP_GETPROPLEN(bootops, "hpet-table") != 8 || in hpet_early_init() 192 BOP_GETPROP(bootops, "hpet-table", (void *)&hpet_table) != 0) { in hpet_early_init() 253 * the first available non-legacy replacement timer: timer 2. in hpet_early_init() 284 * if it is used for more than just Deep C-State support. in hpet_early_init() 286 * value before starting it for use to wake up CPUs from Deep C-States. in hpet_early_init() [all …]
|
| /illumos-gate/usr/src/uts/common/os/ |
| H A D | turnstile.c | 40 * To wake threads waiting for write access to lock 'lp' in foo_exit(): 44 * [ handoff (change owner to one of the threads we're about to wake). 45 * [ If we're going to wake the last waiter, clear the waiters bit. 77 * situations called priority inversions in which a high-priority thread 78 * needs a lock held by a low-priority thread, which cannot run because 79 * of medium-priority threads. Without PI, the medium-priority threads 80 * can starve out the high-priority thread indefinitely. With PI, the 81 * low-priority thread becomes high-priority until it releases whatever 82 * synchronization object the real high-priority thread is waiting for. 95 * does, it's almost surely a second-order effect -- the real problem [all …]
|
| H A D | sleepq.c | 39 * A sleep queue is a singly linked NULL-terminated list with doubly 52 * t1(60)-->t2(60)-->t3(60)-->t4(50)-->t5(50)-->t6(30)-->t7(0)-->t8(0) 70 * t->t_priback->t_link points to the head of the next sublist. It's 101 ASSERT(tp->t_sleepq != NULL); in sleepq_unlink() 104 *tpp = tp->t_link; in sleepq_unlink() 110 if (tp->t_priforw != tp) { in sleepq_unlink() 111 tp->t_priback->t_priforw = tp->t_priforw; in sleepq_unlink() 112 tp->t_priforw->t_priback = tp->t_priback; in sleepq_unlink() 116 tp->t_link = NULL; in sleepq_unlink() 117 tp->t_sleepq = NULL; in sleepq_unlink() [all …]
|
| /illumos-gate/usr/src/uts/sun/io/ |
| H A D | ms.c | 101 #define BYTECLIP(x) (char)((x) > 127 ? 127 : ((x) < -128 ? -128 : (x))) 252 * The framework will wake up qwait_sig when we return from 281 if (q->q_ptr != NULL) in msopen() 293 * Set up queue pointers, so that the "put" procedure will accept in msopen() 296 q->q_ptr = msd; in msopen() 297 WR(q)->q_ptr = msd; in msopen() 329 iocb = (struct iocblk *)mp->b_rptr; in msopen() 330 iocb->ioc_count = sizeof (struct termios); in msopen() 332 cb = (struct termios *)datap->b_wptr; in msopen() 333 cb->c_iflag = 0; in msopen() [all …]
|
| /illumos-gate/usr/src/uts/common/syscall/ |
| H A D | lwp_sobj.c | 77 * Used to limit kmem for each thread. This is a per-thread limit that 81 * process, the per-thread limit automatically becomes a process-wide limit 95 static kthread_t *lwpsobj_pi_owner(upimutex_t *up); 110 * likely are 8-byte aligned, so we shift off the low-order 3 bits. 115 (LWPCHAN_LOCK_SIZE - 1)) + ((pool)? LWPCHAN_LOCK_SIZE : 0)) 120 * Is this a POSIX threads user-level lock requiring priority inheritance? 127 uint_t x = (uintptr_t)lwpchan->lc_wchan ^ (uintptr_t)lwpchan->lc_wchan0; in lwpsqhash() 138 uint_t x = (uintptr_t)lwpchan->lc_wchan ^ (uintptr_t)lwpchan->lc_wchan0; in lwpchan_lock() 149 uint_t x = (uintptr_t)lwpchan->lc_wchan ^ (uintptr_t)lwpchan->lc_wchan0; in lwpchan_unlock() 168 mutex_enter(&p->p_lcp_lock); in lwpchan_delete_mapping() [all …]
|
| /illumos-gate/usr/src/uts/i86pc/io/ppm/ |
| H A D | acpisleep.c | 58 int acpi_rtc_wake = 0x0; /* wake in N seconds */ 82 ACPI_PHYSICAL_ADDRESS wakephys = s3ap->s3a_wakephys; in acpi_enter_sleepstate() 86 uint_t Sx = s3ap->s3a_state; in acpi_enter_sleepstate() 98 /* Enable wake events */ in acpi_enter_sleepstate() 113 * Set RTC to wake us in a wee while. in acpi_enter_sleepstate() 131 switch (s3ap->s3a_test_point) { in acpi_enter_sleepstate() 139 ASSERT(s3ap->s3a_test_point == LOOP_BACK_NONE); in acpi_enter_sleepstate() 161 int Sx = s3ap->s3a_state; in acpi_exit_sleepstate() 164 PMD(PMD_SX, ("!We woke up!\n")) in acpi_exit_sleepstate()
|
| /illumos-gate/usr/src/uts/sun4v/os/ |
| H A D | mach_startup.c | 87 mmu_fault_status_area + (MMFSA_SIZE * CPU->cpu_id); in setup_trap_table() 109 processorid_t cpu_sid = cpup->cpu_seqid; in cpu_halt() 110 cpupart_t *cp = cpup->cpu_part; in cpu_halt() 112 volatile int *p = &cpup->cpu_disp->disp_nrunnable; in cpu_halt() 121 if (CPU->cpu_flags & CPU_OFFLINE) in cpu_halt() 140 cpup->cpu_disp_flags |= CPU_DISP_HALTED; in cpu_halt() 142 bitset_atomic_add(&cp->cp_haltset, cpu_sid); in cpu_halt() 153 cpup->cpu_disp_flags &= ~CPU_DISP_HALTED; in cpu_halt() 154 bitset_atomic_del(&cp->cp_haltset, cpu_sid); in cpu_halt() 172 * Also, if the offlined CPU has been brought back on-line, then in cpu_halt() [all …]
|
| /illumos-gate/usr/src/cmd/ldapcachemgr/ |
| H A D | cachemgr_change.c | 64 /* up */ 103 config_cookie.mgr_pid = cookie->mgr_pid; in chg_config_cookie_set() 104 config_cookie.seq_num = cookie->seq_num; in chg_config_cookie_set() 110 if (c1->mgr_pid == c2->mgr_pid && c1->seq_num == c2->seq_num) in chg_cookie_equal() 134 wl->pid = pid; in waiting_list_add() 135 wl->tid = tid; in waiting_list_add() 137 if (info->chg_w_first == NULL) { in waiting_list_add() 138 info->chg_w_first = wl; in waiting_list_add() 139 info->chg_w_last = wl; in waiting_list_add() 141 info->chg_w_last->next = wl; in waiting_list_add() [all …]
|
| /illumos-gate/usr/src/uts/common/io/udmf/ |
| H A D | dm9601reg.h | 27 #define WCR 0x0fU /* wake up control register */ 45 #define NCR_WAKEEN 0x40U /* 1: wake up event enable */ 243 /* EEPROM & PHY data register (0x0d(low)-0x0e(hi)) */ 245 /* wake up control register (0x0f) */ 262 /* physical address register (0x10-0x15) */ 263 /* multicast address register (0x16-0x1c) */ 294 /* vendor id register (0x28-0x29) */ 295 /* product id register (0x2a-0x2b) */
|
| /illumos-gate/usr/src/uts/i86pc/os/cpupm/ |
| H A D | cpu_idle.c | 26 * Copyright (c) 2009-2010, Intel Corporation. 70 * the flag of always-running local APIC timer. 77 * Interfaces for modules implementing Intel's deep c-state. 80 "Generic ACPI C-state Support", 101 * kstat update function of the c-state info 106 cpu_acpi_cstate_t *cstate = ksp->ks_private; in cpu_idle_kstat_update() 112 if (cstate->cs_addrspace_id == ACPI_ADR_SPACE_FIXED_HARDWARE) { in cpu_idle_kstat_update() 115 } else if (cstate->cs_addrspace_id == ACPI_ADR_SPACE_SYSTEM_IO) { in cpu_idle_kstat_update() 123 cpu_idle_kstat.cs_latency.value.ui32 = cstate->cs_latency; in cpu_idle_kstat_update() 124 cpu_idle_kstat.cs_power.value.ui32 = cstate->cs_power; in cpu_idle_kstat_update() [all …]
|
| /illumos-gate/usr/src/uts/sun4u/os/ |
| H A D | mach_startup.c | 71 int fpras_frequency = -1; 72 int64_t fpras_interval = -1; 151 bcopy((void *)fpras_chkfn_type1, &fcgp->fpras_fn[i], in mach_fpras() 157 * At definition fpras_frequency is set to -1, and it will in mach_fpras() 168 * becomes non-negative fpras checks will commence in mach_fpras() 200 if (tod_module_name == NULL || modload("tod", tod_module_name) == -1) in load_tod_module() 230 processorid_t cpu_sid = cpup->cpu_seqid; in cpu_halt() 231 cpupart_t *cp = cpup->cpu_part; in cpu_halt() 233 volatile int *p = &cpup->cpu_disp->disp_nrunnable; in cpu_halt() 242 if (CPU->cpu_flags & CPU_OFFLINE) in cpu_halt() [all …]
|