Home
last modified time | relevance | path

Searched refs:tail (Results 1 – 16 of 16) sorted by relevance

/kernel/locking/
Dqspinlock.c118 u32 tail; in encode_tail() local
120 tail = (cpu + 1) << _Q_TAIL_CPU_OFFSET; in encode_tail()
121 tail |= idx << _Q_TAIL_IDX_OFFSET; /* assume < 4 */ in encode_tail()
123 return tail; in encode_tail()
126 static inline __pure struct mcs_spinlock *decode_tail(u32 tail) in decode_tail() argument
128 int cpu = (tail >> _Q_TAIL_CPU_OFFSET) - 1; in decode_tail()
129 int idx = (tail & _Q_TAIL_IDX_MASK) >> _Q_TAIL_IDX_OFFSET; in decode_tail()
177 static __always_inline u32 xchg_tail(struct qspinlock *lock, u32 tail) in xchg_tail() argument
183 return (u32)xchg_relaxed(&lock->tail, in xchg_tail()
184 tail >> _Q_TAIL_OFFSET) << _Q_TAIL_OFFSET; in xchg_tail()
[all …]
Dosq_lock.c58 if (atomic_read(&lock->tail) == curr && in osq_wait_next()
59 atomic_cmpxchg_acquire(&lock->tail, curr, old) == curr) { in osq_wait_next()
107 old = atomic_xchg(&lock->tail, curr); in osq_lock()
215 if (likely(atomic_cmpxchg_release(&lock->tail, curr, in osq_unlock()
/kernel/rcu/
Drcu_segcblist.c21 rclp->tail = &rclp->head; in rcu_cblist_init()
30 *rclp->tail = rhp; in rcu_cblist_enqueue()
31 rclp->tail = &rhp->next; in rcu_cblist_enqueue()
49 drclp->tail = srclp->tail; in rcu_cblist_flush_enqueue()
51 drclp->tail = &drclp->head; in rcu_cblist_flush_enqueue()
58 srclp->tail = &rhp->next; in rcu_cblist_flush_enqueue()
77 rclp->tail = &rclp->head; in rcu_cblist_dequeue()
393 *rclp->tail = rsclp->head; in rcu_segcblist_extract_done_cbs()
396 rclp->tail = rsclp->tails[RCU_DONE_TAIL]; in rcu_segcblist_extract_done_cbs()
418 *rclp->tail = *rsclp->tails[RCU_DONE_TAIL]; in rcu_segcblist_extract_pend_cbs()
[all …]
/kernel/
Dsoftirq.c777 struct tasklet_struct **tail; member
793 *head->tail = t; in __tasklet_schedule_common()
794 head->tail = &(t->next); in __tasklet_schedule_common()
836 tl_head->tail = &tl_head->head; in tasklet_action_common()
865 *tl_head->tail = t; in tasklet_action_common()
866 tl_head->tail = &t->next; in tasklet_action_common()
967 per_cpu(tasklet_vec, cpu).tail = in softirq_init()
969 per_cpu(tasklet_hi_vec, cpu).tail = in softirq_init()
1005 if (&per_cpu(tasklet_vec, cpu).head != per_cpu(tasklet_vec, cpu).tail) { in takeover_tasklets()
1006 *__this_cpu_read(tasklet_vec.tail) = per_cpu(tasklet_vec, cpu).head; in takeover_tasklets()
[all …]
Dwatch_queue.c105 unsigned int head, tail, mask, note, offset, len; in post_one_notification() local
112 tail = pipe->tail; in post_one_notification()
113 if (pipe_full(head, tail, pipe->ring_size)) in post_one_notification()
Dkallsyms.c80 goto tail; in kallsyms_expand_symbol()
90 tail: in kallsyms_expand_symbol()
/kernel/bpf/
Dqueue_stack_maps.c20 u32 head, tail; member
33 return qs->head == qs->tail; in queue_stack_map_is_empty()
43 return head == qs->tail; in queue_stack_map_is_full()
118 ptr = &qs->elements[qs->tail * qs->map.value_size]; in __queue_map_get()
122 if (unlikely(++qs->tail >= qs->size)) in __queue_map_get()
123 qs->tail = 0; in __queue_map_get()
223 if (unlikely(++qs->tail >= qs->size)) in queue_stack_map_push_elem()
224 qs->tail = 0; in queue_stack_map_push_elem()
/kernel/trace/
Dring_buffer.c2597 unsigned long tail, struct rb_event_info *info) in rb_reset_tail() argument
2607 if (tail >= BUF_PAGE_SIZE) { in rb_reset_tail()
2613 if (tail == BUF_PAGE_SIZE) in rb_reset_tail()
2620 event = __rb_page_index(tail_page, tail); in rb_reset_tail()
2627 tail_page->real_end = tail; in rb_reset_tail()
2641 if (tail > (BUF_PAGE_SIZE - RB_EVNT_MIN_SIZE)) { in rb_reset_tail()
2656 event->array[0] = (BUF_PAGE_SIZE - tail) - RB_EVNT_HDR_SIZE; in rb_reset_tail()
2662 local_add(BUF_PAGE_SIZE - tail, &cpu_buffer->entries_bytes); in rb_reset_tail()
2668 length = (tail + length) - BUF_PAGE_SIZE; in rb_reset_tail()
2679 unsigned long tail, struct rb_event_info *info) in rb_move_tail() argument
[all …]
Dtrace_probe.c537 char *tail; in __parse_bitfield_probe_arg() local
542 bw = simple_strtoul(bf + 1, &tail, 0); /* Use simple one */ in __parse_bitfield_probe_arg()
544 if (bw == 0 || *tail != '@') in __parse_bitfield_probe_arg()
547 bf = tail + 1; in __parse_bitfield_probe_arg()
548 bo = simple_strtoul(bf, &tail, 0); in __parse_bitfield_probe_arg()
550 if (tail == bf || *tail != '/') in __parse_bitfield_probe_arg()
Dtrace_uprobe.c658 char *tail; in __trace_uprobe_create() local
661 tail = kstrdup(kbasename(filename), GFP_KERNEL); in __trace_uprobe_create()
662 if (!tail) { in __trace_uprobe_create()
667 ptr = strpbrk(tail, ".-_"); in __trace_uprobe_create()
671 snprintf(buf, MAX_EVENT_NAME_LEN, "%c_%s_0x%lx", 'p', tail, offset); in __trace_uprobe_create()
673 kfree(tail); in __trace_uprobe_create()
Dtrace_events.c233 struct ftrace_event_field *tail; in trace_event_get_offsets() local
241 tail = list_first_entry(head, struct ftrace_event_field, link); in trace_event_get_offsets()
242 return tail->offset + tail->size; in trace_event_get_offsets()
Dtrace.c174 struct trace_eval_map_tail tail; member
6029 if (ptr->tail.next) { in update_eval_map()
6030 ptr = ptr->tail.next; in update_eval_map()
6154 if (!ptr->tail.next) in trace_insert_eval_map_file()
6156 ptr = ptr->tail.next; in trace_insert_eval_map_file()
6159 ptr->tail.next = map_array; in trace_insert_eval_map_file()
9848 last = &map->tail.next; in trace_module_remove_evals()
9849 map = map->tail.next; in trace_module_remove_evals()
9854 *last = trace_eval_jmp_to_tail(map)->tail.next; in trace_module_remove_evals()
Dtrace_functions_graph.c60 { TRACER_OPT(funcgraph-tail, TRACE_GRAPH_PRINT_TAIL) },
/kernel/irq/
Dirqdomain.c1285 struct irq_data *tail, *irqd, *irq_data; in irq_domain_trim_hierarchy() local
1288 tail = NULL; in irq_domain_trim_hierarchy()
1300 if (irqd->chip && tail) in irq_domain_trim_hierarchy()
1304 if (!irqd->chip && !tail) in irq_domain_trim_hierarchy()
1312 tail = irq_data; in irq_domain_trim_hierarchy()
1317 if (!tail) in irq_domain_trim_hierarchy()
1321 virq, tail->parent_data->domain->name); in irq_domain_trim_hierarchy()
1324 irqd = tail; in irq_domain_trim_hierarchy()
1325 tail = tail->parent_data; in irq_domain_trim_hierarchy()
1327 __irq_domain_free_hierarchy(tail); in irq_domain_trim_hierarchy()
/kernel/events/
Dring_buffer.c138 ring_buffer_has_space(unsigned long head, unsigned long tail, in ring_buffer_has_space() argument
143 return CIRC_SPACE(head, tail, data_size) >= size; in ring_buffer_has_space()
145 return CIRC_SPACE(tail, head, data_size) >= size; in ring_buffer_has_space()
155 unsigned long tail, offset, head; in __perf_output_begin() local
195 tail = READ_ONCE(rb->user_page->data_tail); in __perf_output_begin()
198 if (unlikely(!ring_buffer_has_space(head, tail, in __perf_output_begin()
/kernel/futex/
Dcore.c226 struct page *page, *tail; in get_futex_key() local
304 tail = page; in get_futex_key()
399 key->shared.pgoff = page_to_pgoff(tail); in get_futex_key()