Lines Matching full:active
44 * acquired some snapshot (e) of the global epoch value (e_g) and set an active
46 * For example, assume an initial e_g value of 1, e value of 0 and active value
51 * active = 1
54 * Any serialized reads may observe e = 0 or e = 1 with active = 0, or e = 0 or
55 * e = 1 with active = 1. The e_g value can only go from 1 to 2 if every thread
58 * critical sections (referred to as "active" threads from here on) would have
86 * still be accessed at e_g as threads are "active" at the same time
93 * e_g-1 were still active, then we would never increment to e_g+1 (active != 0
97 * (since it is valid for active threads to be at e_g and threads at e_g still
100 * However, at e_g+2, all active threads must be either at e_g+1 or e_g+2.
102 * hazardous references to e_g, no active threads are at e_g or e_g-1. This
107 * 1) Active threads will always have a value of e_g or e_g-1.
113 * Last but not least, if we are at e_g+2, then no active thread is at e_g
169 * If no other active bucket exists, then the record will go in CK_STACK_CONTAINER()
281 record->active = 0; in ck_epoch_register()
303 record->active = 0; in ck_epoch_unregister()
337 unsigned int state, active; in ck_epoch_scan() local
347 active = ck_pr_load_uint(&cr->active); in ck_epoch_scan()
348 *af |= active; in ck_epoch_scan()
350 if (active != 0 && ck_pr_load_uint(&cr->epoch) != epoch) in ck_epoch_scan()
430 bool active; in ck_epoch_synchronize_wait() local
453 while (cr = ck_epoch_scan(global, cr, delta, &active), in ck_epoch_synchronize_wait()
491 if (active == false) in ck_epoch_synchronize_wait()
499 * If we can guarantee there will only be one active barrier or in ck_epoch_synchronize_wait()
508 /* Order subsequent thread active checks. */ in ck_epoch_synchronize_wait()
568 bool active; in ck_epoch_poll_deferred() local
581 * There may or may not be active threads which observed epoch - 1. in ck_epoch_poll_deferred()
583 * no active threads which observed epoch - 2. in ck_epoch_poll_deferred()
591 cr = ck_epoch_scan(global, cr, epoch, &active); in ck_epoch_poll_deferred()
596 if (active == false) { in ck_epoch_poll_deferred()
605 * If an active thread exists, rely on epoch observation. in ck_epoch_poll_deferred()
607 * All the active threads entered the epoch section during in ck_epoch_poll_deferred()