/Linux-v4.19/lib/ |
D | list_sort.c | 22 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/ |
D | perf_callchain.c | 33 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/ |
D | qcom_glink_smem.c | 39 __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 …]
|
D | qcom_glink_rpm.c | 50 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/ |
D | fm10k_mbx.c | 17 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/ |
D | circ_buf.h | 12 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/ |
D | cq.c | 86 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/ |
D | qspinlock.c | 113 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/ |
D | perf_callchain.c | 34 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/ |
D | common.c | 86 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/ |
D | spsc_queue.h | 43 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/ |
D | xdr.c | 136 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/ |
D | ena_eth_com.h | 101 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/ |
D | ring-buffer-design.txt | 17 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/ |
D | pvrdma_ring.h | 89 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/ |
D | sch_choke.c | 72 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/ |
D | softirq.c | 464 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/ |
D | intel_guc_ct.c | 98 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/ |
D | simserial.c | 119 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/ |
D | inode.c | 22 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/ |
D | block-range.c | 203 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/ |
D | gen_stats.c | 71 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/ |
D | jr.c | 166 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/ |
D | dasd_eer.c | 92 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/ |
D | n_tty.c | 156 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 …]
|