Home
last modified time | relevance | path

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

12345678910>>...29

/Linux-v4.19/lib/
Dlist_sort.c22 struct list_head head, *tail = &head; in merge() local
27 tail->next = a; in merge()
30 tail->next = b; in merge()
33 tail = tail->next; in merge()
35 tail->next = a?:b; in merge()
52 struct list_head *tail = head; in merge_and_restore_back_links() local
58 tail->next = a; in merge_and_restore_back_links()
59 a->prev = tail; in merge_and_restore_back_links()
62 tail->next = b; in merge_and_restore_back_links()
63 b->prev = tail; in merge_and_restore_back_links()
[all …]
/Linux-v4.19/arch/arm64/kernel/
Dperf_callchain.c33 user_backtrace(struct frame_tail __user *tail, in user_backtrace() argument
40 if (!access_ok(VERIFY_READ, tail, sizeof(buftail))) in user_backtrace()
44 err = __copy_from_user_inatomic(&buftail, tail, sizeof(buftail)); in user_backtrace()
56 if (tail >= buftail.fp) in user_backtrace()
78 compat_user_backtrace(struct compat_frame_tail __user *tail, in compat_user_backtrace() argument
85 if (!access_ok(VERIFY_READ, tail, sizeof(buftail))) in compat_user_backtrace()
89 err = __copy_from_user_inatomic(&buftail, tail, sizeof(buftail)); in compat_user_backtrace()
101 if (tail + 1 >= (struct compat_frame_tail __user *) in compat_user_backtrace()
121 struct frame_tail __user *tail; in perf_callchain_user() local
123 tail = (struct frame_tail __user *)regs->regs[29]; in perf_callchain_user()
[all …]
/Linux-v4.19/drivers/rpmsg/
Dqcom_glink_smem.c39 __le32 *tail; member
55 u32 tail; in glink_smem_rx_avail() local
71 tail = le32_to_cpu(*pipe->tail); in glink_smem_rx_avail()
73 if (head < tail) in glink_smem_rx_avail()
74 return pipe->native.length - tail + head; in glink_smem_rx_avail()
76 return head - tail; in glink_smem_rx_avail()
84 u32 tail; in glink_smem_rx_peak() local
86 tail = le32_to_cpu(*pipe->tail); in glink_smem_rx_peak()
87 tail += offset; in glink_smem_rx_peak()
88 if (tail >= pipe->native.length) in glink_smem_rx_peak()
[all …]
Dqcom_glink_rpm.c50 void __iomem *tail; member
60 unsigned int tail; in glink_rpm_rx_avail() local
63 tail = readl(pipe->tail); in glink_rpm_rx_avail()
65 if (head < tail) in glink_rpm_rx_avail()
66 return pipe->native.length - tail + head; in glink_rpm_rx_avail()
68 return head - tail; in glink_rpm_rx_avail()
75 unsigned int tail; in glink_rpm_rx_peak() local
78 tail = readl(pipe->tail); in glink_rpm_rx_peak()
79 tail += offset; in glink_rpm_rx_peak()
80 if (tail >= pipe->native.length) in glink_rpm_rx_peak()
[all …]
/Linux-v4.19/drivers/net/ethernet/intel/fm10k/
Dfm10k_mbx.c17 fifo->tail = 0; in fm10k_fifo_init()
28 return fifo->tail - fifo->head; in fm10k_fifo_used()
39 return fifo->size + fifo->head - fifo->tail; in fm10k_fifo_unused()
50 return fifo->head == fifo->tail; in fm10k_fifo_empty()
74 return (fifo->tail + offset) & (fifo->size - 1); in fm10k_fifo_tail_offset()
120 fifo->head = fifo->tail; in fm10k_fifo_drop_all()
132 static u16 fm10k_mbx_index_len(struct fm10k_mbx_info *mbx, u16 head, u16 tail) in fm10k_mbx_index_len() argument
134 u16 len = tail - head; in fm10k_mbx_index_len()
137 if (len > tail) in fm10k_mbx_index_len()
153 u16 tail = (mbx->tail + offset + 1) & ((mbx->mbmem_len << 1) - 1); in fm10k_mbx_tail_add() local
[all …]
/Linux-v4.19/include/linux/
Dcirc_buf.h12 int tail; member
16 #define CIRC_CNT(head,tail,size) (((head) - (tail)) & ((size)-1)) argument
21 #define CIRC_SPACE(head,tail,size) CIRC_CNT((tail),((head)+1),(size)) argument
26 #define CIRC_CNT_TO_END(head,tail,size) \ argument
27 ({int end = (size) - (tail); \
32 #define CIRC_SPACE_TO_END(head,tail,size) \ argument
34 int n = (end + (tail)) & ((size)-1); \
/Linux-v4.19/drivers/infiniband/sw/rdmavt/
Dcq.c86 if (unlikely(next == wc->tail)) { in rvt_cq_enter()
350 cq->queue->head != cq->queue->tail) in rvt_req_notify_cq()
369 u32 head, tail, n; in rvt_resize_cq() local
409 tail = old_wc->tail; in rvt_resize_cq()
410 if (tail > (u32)cq->ibcq.cqe) in rvt_resize_cq()
411 tail = (u32)cq->ibcq.cqe; in rvt_resize_cq()
412 if (head < tail) in rvt_resize_cq()
413 n = cq->ibcq.cqe + 1 + head - tail; in rvt_resize_cq()
415 n = head - tail; in rvt_resize_cq()
420 for (n = 0; tail != head; n++) { in rvt_resize_cq()
[all …]
/Linux-v4.19/kernel/locking/
Dqspinlock.c113 u32 tail; in encode_tail() local
118 tail = (cpu + 1) << _Q_TAIL_CPU_OFFSET; in encode_tail()
119 tail |= idx << _Q_TAIL_IDX_OFFSET; /* assume < 4 */ in encode_tail()
121 return tail; in encode_tail()
124 static inline __pure struct mcs_spinlock *decode_tail(u32 tail) in decode_tail() argument
126 int cpu = (tail >> _Q_TAIL_CPU_OFFSET) - 1; in decode_tail()
127 int idx = (tail & _Q_TAIL_IDX_MASK) >> _Q_TAIL_IDX_OFFSET; in decode_tail()
169 static __always_inline u32 xchg_tail(struct qspinlock *lock, u32 tail) in xchg_tail() argument
175 return (u32)xchg_relaxed(&lock->tail, in xchg_tail()
176 tail >> _Q_TAIL_OFFSET) << _Q_TAIL_OFFSET; in xchg_tail()
[all …]
/Linux-v4.19/arch/arm/kernel/
Dperf_callchain.c34 user_backtrace(struct frame_tail __user *tail, in user_backtrace() argument
40 if (!access_ok(VERIFY_READ, tail, sizeof(buftail))) in user_backtrace()
44 err = __copy_from_user_inatomic(&buftail, tail, sizeof(buftail)); in user_backtrace()
56 if (tail + 1 >= buftail.fp) in user_backtrace()
65 struct frame_tail __user *tail; in perf_callchain_user() local
77 tail = (struct frame_tail __user *)regs->ARM_fp - 1; in perf_callchain_user()
80 tail && !((unsigned long)tail & 0x3)) in perf_callchain_user()
81 tail = user_backtrace(tail, entry); in perf_callchain_user()
/Linux-v4.19/arch/arm/oprofile/
Dcommon.c86 static struct frame_tail* user_backtrace(struct frame_tail *tail) in user_backtrace() argument
91 if (!access_ok(VERIFY_READ, tail, sizeof(buftail))) in user_backtrace()
93 if (__copy_from_user_inatomic(buftail, tail, sizeof(buftail))) in user_backtrace()
100 if (tail + 1 >= buftail[0].fp) in user_backtrace()
108 struct frame_tail *tail = ((struct frame_tail *) regs->ARM_fp) - 1; in arm_backtrace() local
117 while (depth-- && tail && !((unsigned long) tail & 3)) in arm_backtrace()
118 tail = user_backtrace(tail); in arm_backtrace()
/Linux-v4.19/include/drm/
Dspsc_queue.h43 atomic_long_t tail; member
51 atomic_long_set(&queue->tail, (long)&queue->head); in spsc_queue_init()
67 struct spsc_node **tail; in spsc_queue_push() local
73 tail = (struct spsc_node **)atomic_long_xchg(&queue->tail, (long)&node->next); in spsc_queue_push()
74 WRITE_ONCE(*tail, node); in spsc_queue_push()
85 return tail == &queue->head; in spsc_queue_push()
107 if (atomic_long_cmpxchg(&queue->tail, in spsc_queue_pop()
/Linux-v4.19/net/sunrpc/
Dxdr.c136 struct kvec *tail = xdr->tail; in xdr_inline_pages() local
146 tail->iov_base = buf + offset; in xdr_inline_pages()
147 tail->iov_len = buflen - offset; in xdr_inline_pages()
318 struct kvec *head, *tail; in xdr_shrink_bufhead() local
322 tail = buf->tail; in xdr_shrink_bufhead()
330 if (tail->iov_len != 0) { in xdr_shrink_bufhead()
331 if (tail->iov_len > len) { in xdr_shrink_bufhead()
332 copy = tail->iov_len - len; in xdr_shrink_bufhead()
333 memmove((char *)tail->iov_base + len, in xdr_shrink_bufhead()
334 tail->iov_base, copy); in xdr_shrink_bufhead()
[all …]
/Linux-v4.19/drivers/net/ethernet/amazon/ena/
Dena_eth_com.h101 u16 tail, next_to_comp, cnt; in ena_com_sq_empty_space() local
104 tail = io_sq->tail; in ena_com_sq_empty_space()
105 cnt = tail - next_to_comp; in ena_com_sq_empty_space()
112 u16 tail; in ena_com_write_sq_doorbell() local
114 tail = io_sq->tail; in ena_com_write_sq_doorbell()
117 io_sq->qid, tail); in ena_com_write_sq_doorbell()
119 writel(tail, io_sq->db_addr); in ena_com_write_sq_doorbell()
/Linux-v4.19/Documentation/trace/
Dring-buffer-design.txt17 tail - where new writes happen in the ring buffer.
172 It is possible that the page swapped is the commit page and the tail page,
176 reader page commit page tail page
205 tail page - the page where the next write will take place.
229 +---------+ <--- tail pointer
254 +---------+ <--- tail pointer
267 +---------+ <--- tail pointer
278 +---------+ <--(last full commit and tail pointer)
287 The tail page points to the page with the last write (before
290 The tail page is always equal to or after the commit page. It may
[all …]
/Linux-v4.19/drivers/infiniband/hw/vmw_pvrdma/
Dpvrdma_ring.h89 const __u32 tail = atomic_read(&r->prod_tail); in pvrdma_idx_ring_has_space() local
92 if (pvrdma_idx_valid(tail, max_elems) && in pvrdma_idx_ring_has_space()
94 *out_tail = tail & (max_elems - 1); in pvrdma_idx_ring_has_space()
95 return tail != (head ^ max_elems); in pvrdma_idx_ring_has_space()
103 const __u32 tail = atomic_read(&r->prod_tail); in pvrdma_idx_ring_has_data() local
106 if (pvrdma_idx_valid(tail, max_elems) && in pvrdma_idx_ring_has_data()
109 return tail != head; in pvrdma_idx_ring_has_data()
/Linux-v4.19/net/sched/
Dsch_choke.c72 unsigned int tail; member
82 return (q->tail - q->head) & q->tab_mask; in choke_len()
102 if (q->head == q->tail) in choke_zap_head_holes()
111 q->tail = (q->tail - 1) & q->tab_mask; in choke_zap_tail_holes()
112 if (q->head == q->tail) in choke_zap_tail_holes()
114 } while (q->tab[q->tail] == NULL); in choke_zap_tail_holes()
128 if (idx == q->tail) in choke_drop_by_idx()
216 if (q->head == q->tail) in choke_match_random()
279 q->tab[q->tail] = skb; in choke_enqueue()
280 q->tail = (q->tail + 1) & q->tab_mask; in choke_enqueue()
[all …]
/Linux-v4.19/kernel/
Dsoftirq.c464 struct tasklet_struct **tail; member
480 *head->tail = t; in __tasklet_schedule_common()
481 head->tail = &(t->next); in __tasklet_schedule_common()
509 tl_head->tail = &tl_head->head; in tasklet_action_common()
531 *tl_head->tail = t; in tasklet_action_common()
532 tl_head->tail = &t->next; in tasklet_action_common()
630 per_cpu(tasklet_vec, cpu).tail = in softirq_init()
632 per_cpu(tasklet_hi_vec, cpu).tail = in softirq_init()
687 per_cpu(tasklet_vec, cpu).tail = i; in tasklet_kill_immediate()
700 if (&per_cpu(tasklet_vec, cpu).head != per_cpu(tasklet_vec, cpu).tail) { in takeover_tasklets()
[all …]
/Linux-v4.19/drivers/gpu/drm/i915/
Dintel_guc_ct.c98 desc, desc->head, desc->tail); in guc_ct_buffer_desc_reset()
100 desc->tail = 0; in guc_ct_buffer_desc_reset()
328 u32 tail = desc->tail / 4; /* in dwords */ in ctb_write() local
337 GEM_BUG_ON(desc->tail % 4); in ctb_write()
338 GEM_BUG_ON(tail >= size); in ctb_write()
344 if (tail < head) in ctb_write()
345 used = (size - head) + tail; in ctb_write()
347 used = tail - head; in ctb_write()
368 cmds[tail] = header; in ctb_write()
369 tail = (tail + 1) % size; in ctb_write()
[all …]
/Linux-v4.19/arch/ia64/hp/sim/
Dsimserial.c119 if (CIRC_SPACE(info->xmit.head, info->xmit.tail, SERIAL_XMIT_SIZE) == 0) { in rs_put_char()
147 if (info->xmit.head == info->xmit.tail || tty->stopped) { in transmit_chars()
150 info->xmit.head, info->xmit.tail, tty->stopped); in transmit_chars()
162 count = min(CIRC_CNT(info->xmit.head, info->xmit.tail, SERIAL_XMIT_SIZE), in transmit_chars()
163 SERIAL_XMIT_SIZE - info->xmit.tail); in transmit_chars()
164 console->write(console, info->xmit.buf+info->xmit.tail, count); in transmit_chars()
166 info->xmit.tail = (info->xmit.tail+count) & (SERIAL_XMIT_SIZE-1); in transmit_chars()
171 count = CIRC_CNT(info->xmit.head, info->xmit.tail, SERIAL_XMIT_SIZE); in transmit_chars()
174 info->xmit.tail += count; in transmit_chars()
184 if (info->xmit.head == info->xmit.tail || tty->stopped || in rs_flush_chars()
[all …]
/Linux-v4.19/fs/affs/
Dinode.c22 struct affs_tail *tail; in affs_iget() local
50 tail = AFFS_TAIL(sb, bh); in affs_iget()
51 prot = be32_to_cpu(tail->protect); in affs_iget()
76 id = be16_to_cpu(tail->uid); in affs_iget()
84 id = be16_to_cpu(tail->gid); in affs_iget()
92 switch (be32_to_cpu(tail->stype)) { in affs_iget()
98 if (be32_to_cpu(tail->stype) == ST_USERDIR || in affs_iget()
127 size = be32_to_cpu(tail->size); in affs_iget()
136 if (tail->link_chain) in affs_iget()
153 = (be32_to_cpu(tail->change.days) * (24 * 60 * 60) + in affs_iget()
[all …]
/Linux-v4.19/tools/perf/util/
Dblock-range.c203 struct block_range *tail = malloc(sizeof(struct block_range)); in block_range__create() local
204 if (!tail) in block_range__create()
207 *tail = (struct block_range){ in block_range__create()
223 rb_link_right_of_node(&tail->node, &entry->node); in block_range__create()
224 rb_insert_color(&tail->node, &block_ranges.root); in block_range__create()
248 struct block_range *tail; in block_range__create() local
250 tail = malloc(sizeof(struct block_range)); in block_range__create()
251 if (!tail) in block_range__create()
254 *tail = (struct block_range){ in block_range__create()
261 rb_link_right_of_node(&tail->node, &entry->node); in block_range__create()
[all …]
/Linux-v4.19/net/core/
Dgen_stats.c71 d->tail = (struct nlattr *)skb_tail_pointer(skb); in gnet_stats_start_copy_compat()
80 if (d->tail) { in gnet_stats_start_copy_compat()
89 if (ret == 0 && d->tail->nla_type == padattr) in gnet_stats_start_copy_compat()
90 d->tail = (struct nlattr *)((char *)d->tail + in gnet_stats_start_copy_compat()
91 NLA_ALIGN(d->tail->nla_len)); in gnet_stats_start_copy_compat()
193 if (d->tail) { in gnet_stats_copy_basic()
236 if (d->tail) { in gnet_stats_copy_rate_est()
316 if (d->tail) in gnet_stats_copy_queue()
348 if (d->tail) in gnet_stats_copy_app()
377 if (d->tail) in gnet_stats_finish_copy()
[all …]
/Linux-v4.19/drivers/crypto/caam/
Djr.c166 int hw_idx, sw_idx, i, head, tail; in caam_jr_dequeue() local
179 sw_idx = tail = jrp->tail; in caam_jr_dequeue()
182 for (i = 0; CIRC_CNT(head, tail + i, JOBR_DEPTH) >= 1; i++) { in caam_jr_dequeue()
183 sw_idx = (tail + i) & (JOBR_DEPTH - 1); in caam_jr_dequeue()
190 BUG_ON(CIRC_CNT(head, tail + i, JOBR_DEPTH) <= 0); in caam_jr_dequeue()
225 if (sw_idx == tail) { in caam_jr_dequeue()
227 tail = (tail + 1) & (JOBR_DEPTH - 1); in caam_jr_dequeue()
228 } while (CIRC_CNT(head, tail, JOBR_DEPTH) >= 1 && in caam_jr_dequeue()
229 jrp->entinfo[tail].desc_addr_dma == 0); in caam_jr_dequeue()
231 jrp->tail = tail; in caam_jr_dequeue()
[all …]
/Linux-v4.19/drivers/s390/block/
Ddasd_eer.c92 int tail; member
106 if (eerb->head < eerb->tail) in dasd_eer_get_free_bytes()
107 return eerb->tail - eerb->head - 1; in dasd_eer_get_free_bytes()
108 return eerb->buffersize - eerb->head + eerb->tail -1; in dasd_eer_get_free_bytes()
118 if (eerb->head >= eerb->tail) in dasd_eer_get_filled_bytes()
119 return eerb->head - eerb->tail; in dasd_eer_get_filled_bytes()
120 return eerb->buffersize - eerb->tail + eerb->head; in dasd_eer_get_filled_bytes()
167 tailindex = eerb->tail / PAGE_SIZE; in dasd_eer_read_buffer()
168 localtail = eerb->tail % PAGE_SIZE; in dasd_eer_read_buffer()
173 eerb->tail += len; in dasd_eer_read_buffer()
[all …]
/Linux-v4.19/drivers/tty/
Dn_tty.c156 size_t tail, size_t n) in tty_copy_to_user() argument
159 size_t size = N_TTY_BUF_SIZE - tail; in tty_copy_to_user()
160 const void *from = read_buf_addr(ldata, tail); in tty_copy_to_user()
615 size_t tail; in __process_echoes() local
620 tail = ldata->echo_tail; in __process_echoes()
621 while (MASK(ldata->echo_commit) != MASK(tail)) { in __process_echoes()
622 c = echo_buf(ldata, tail); in __process_echoes()
632 if (MASK(ldata->echo_commit) == MASK(tail + 1)) in __process_echoes()
639 op = echo_buf(ldata, tail + 1); in __process_echoes()
645 if (MASK(ldata->echo_commit) == MASK(tail + 2)) in __process_echoes()
[all …]

12345678910>>...29