Home
last modified time | relevance | path

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

12345678910>>...36

/linux-6.3-rc2/drivers/staging/media/atomisp/pci/hive_isp_css_common/host/
A Ddebug_private.h56 if (remote_tail > debug_data_ptr->tail) { in debug_synch_queue()
60 debug_data_ptr->tail * sizeof(uint32_t), in debug_synch_queue()
62 } else if (remote_tail < debug_data_ptr->tail) { in debug_synch_queue()
66 debug_data_ptr->tail * sizeof(uint32_t), in debug_synch_queue()
72 debug_data_ptr->tail = remote_tail; in debug_synch_queue()
80 if (remote_tail > debug_data_ptr->tail) { in debug_synch_queue_isp()
96 debug_data_ptr->tail = remote_tail; in debug_synch_queue_isp()
106 if (remote_tail > debug_data_ptr->tail) { in debug_synch_queue_ddr()
110 debug_data_ptr->tail * sizeof(uint32_t), in debug_synch_queue_ddr()
116 debug_data_ptr->tail * sizeof(uint32_t), in debug_synch_queue_ddr()
[all …]
/linux-6.3-rc2/lib/
A Dlist_sort.c24 *tail = a; in merge()
25 tail = &a->next; in merge()
28 *tail = b; in merge()
32 *tail = b; in merge()
36 *tail = a; in merge()
63 tail = a; in merge_final()
70 tail = b; in merge_final()
80 tail->next = b; in merge_final()
92 tail = b; in merge_final()
220 tail = &(*tail)->prev; in list_sort()
[all …]
/linux-6.3-rc2/tools/lib/
A Dlist_sort.c23 *tail = a; in merge()
24 tail = &a->next; in merge()
27 *tail = b; in merge()
31 *tail = b; in merge()
35 *tail = a; in merge()
62 tail = a; in merge_final()
69 tail = b; in merge_final()
79 tail->next = b; in merge_final()
91 tail = b; in merge_final()
219 tail = &(*tail)->prev; in list_sort()
[all …]
/linux-6.3-rc2/arch/arm64/kernel/
A Dperf_callchain.c23 user_backtrace(struct frame_tail __user *tail, in user_backtrace() argument
31 if (!access_ok(tail, sizeof(buftail))) in user_backtrace()
49 if (tail >= buftail.fp) in user_backtrace()
78 if (!access_ok(tail, sizeof(buftail))) in compat_user_backtrace()
94 if (tail + 1 >= (struct compat_frame_tail __user *) in compat_user_backtrace()
114 struct frame_tail __user *tail; in perf_callchain_user() local
119 tail && !((unsigned long)tail & 0x7)) in perf_callchain_user()
120 tail = user_backtrace(tail, entry); in perf_callchain_user()
124 struct compat_frame_tail __user *tail; in perf_callchain_user() local
129 tail && !((unsigned long)tail & 0x3)) in perf_callchain_user()
[all …]
/linux-6.3-rc2/Documentation/translations/zh_CN/core-api/
A Dcircular-buffers.rst55 (2) 'tail'索引 - 消费者在缓冲区中找到下一个元素的位置。
57 通常,当tail指针等于head指针时,表明缓冲区是空的;而当head指针比tail指针少一个时,
60 添加元素时,递增head索引;删除元素时,递增tail索引。tail索引不应该跳过head索引,
111 产者控制着head索引,但消费者可能仍然在另一个CPU上耗尽缓冲区并移动tail索引。
116 者控制着tail索引,但生产者可能仍然在另一个CPU上填充缓冲区并移动head索引。
146 unsigned long tail = READ_ONCE(buffer->tail);
181 unsigned long tail = buffer->tail;
186 struct item *item = buffer[tail];
190 /* 在递增tail之前完成对描述符的读取。 */
191 smp_store_release(buffer->tail,
[all …]
/linux-6.3-rc2/drivers/rpmsg/
A Dqcom_glink_smem.c53 __le32 *tail; member
70 u32 tail; in glink_smem_rx_avail() local
86 tail = le32_to_cpu(*pipe->tail); in glink_smem_rx_avail()
99 u32 tail; in glink_smem_rx_peek() local
101 tail = le32_to_cpu(*pipe->tail); in glink_smem_rx_peek()
118 u32 tail; in glink_smem_rx_advance() local
120 tail = le32_to_cpu(*pipe->tail); in glink_smem_rx_advance()
122 tail += count; in glink_smem_rx_advance()
126 *pipe->tail = cpu_to_le32(tail); in glink_smem_rx_advance()
133 u32 tail; in glink_smem_tx_avail() local
[all …]
A Dqcom_glink_rpm.c51 void __iomem *tail; member
73 unsigned int tail; in glink_rpm_rx_avail() local
76 tail = readl(pipe->tail); in glink_rpm_rx_avail()
78 if (head < tail) in glink_rpm_rx_avail()
91 tail = readl(pipe->tail); in glink_rpm_rx_peek()
92 tail += offset; in glink_rpm_rx_peek()
114 tail = readl(pipe->tail); in glink_rpm_rx_advance()
116 tail += count; in glink_rpm_rx_advance()
120 writel(tail, pipe->tail); in glink_rpm_rx_advance()
130 tail = readl(pipe->tail); in glink_rpm_tx_avail()
[all …]
/linux-6.3-rc2/drivers/infiniband/sw/rdmavt/
A Dcq.c34 u32 tail; in rvt_cq_enter() local
42 tail = RDMA_READ_UAPI_ATOMIC(u_wc->tail); in rvt_cq_enter()
47 tail = k_wc->tail; in rvt_cq_enter()
386 tail = RDMA_READ_UAPI_ATOMIC(old_u_wc->tail); in rvt_resize_cq()
390 tail = old_k_wc->tail; in rvt_resize_cq()
411 tail = 0; in rvt_resize_cq()
413 tail++; in rvt_resize_cq()
482 u32 tail; in rvt_poll_cq() local
491 tail = wc->tail; in rvt_poll_cq()
503 tail++; in rvt_poll_cq()
[all …]
A Dsrq.c137 u32 sz, size, n, head, tail; in rvt_modify_srq() local
175 tail = RDMA_READ_UAPI_ATOMIC(owq->tail); in rvt_modify_srq()
179 tail = okwq->tail; in rvt_modify_srq()
186 if (n < tail) in rvt_modify_srq()
187 n += srq->rq.size - tail; in rvt_modify_srq()
189 n -= tail; in rvt_modify_srq()
196 while (tail != head) { in rvt_modify_srq()
200 wqe = rvt_get_rwqe_ptr(&srq->rq, tail); in rvt_modify_srq()
207 if (++tail >= srq->rq.size) in rvt_modify_srq()
208 tail = 0; in rvt_modify_srq()
[all …]
A Drc.c66 u32 tail; in rvt_compute_aeth() local
73 tail = RDMA_READ_UAPI_ATOMIC(qp->r_rq.wq->tail); in rvt_compute_aeth()
76 tail = READ_ONCE(qp->r_rq.kwq->tail); in rvt_compute_aeth()
80 if (tail >= qp->r_rq.size) in rvt_compute_aeth()
81 tail = 0; in rvt_compute_aeth()
88 credits = rvt_get_rq_count(&qp->r_rq, head, tail); in rvt_compute_aeth()
/linux-6.3-rc2/drivers/net/ethernet/intel/fm10k/
A Dfm10k_mbx.c17 fifo->tail = 0; in fm10k_fifo_init()
137 if (len > tail) in fm10k_mbx_index_len()
156 return (tail > mbx->tail) ? --tail : ++tail; in fm10k_mbx_tail_add()
172 return (tail < mbx->tail) ? ++tail : --tail; in fm10k_mbx_tail_sub()
346 tail++; in fm10k_mbx_write_copy()
360 if (!tail) in fm10k_mbx_write_copy()
361 tail++; in fm10k_mbx_write_copy()
439 tail += end; in fm10k_mbx_read_copy()
979 if (!tail || (tail == FM10K_MSG_HDR_MASK(TAIL))) in fm10k_mbx_validate_msg_hdr()
995 if (tail) in fm10k_mbx_validate_msg_hdr()
[all …]
/linux-6.3-rc2/include/linux/
A 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-6.3-rc2/drivers/net/wireguard/
A Dqueueing.c55 queue->head = queue->tail = STUB(queue); in wg_prev_queue_init()
81 struct sk_buff *tail = queue->tail, *next = smp_load_acquire(&NEXT(tail)); in wg_prev_queue_dequeue() local
83 if (tail == STUB(queue)) { in wg_prev_queue_dequeue()
86 queue->tail = next; in wg_prev_queue_dequeue()
87 tail = next; in wg_prev_queue_dequeue()
91 queue->tail = next; in wg_prev_queue_dequeue()
93 return tail; in wg_prev_queue_dequeue()
95 if (tail != READ_ONCE(queue->head)) in wg_prev_queue_dequeue()
98 next = smp_load_acquire(&NEXT(tail)); in wg_prev_queue_dequeue()
100 queue->tail = next; in wg_prev_queue_dequeue()
[all …]
/linux-6.3-rc2/drivers/gpu/drm/i915/gt/
A Dintel_ring.h26 void intel_ring_reset(struct intel_ring *ring, u32 tail);
91 assert_ring_tail_valid(const struct intel_ring *ring, unsigned int tail) in assert_ring_tail_valid() argument
95 GEM_BUG_ON(!intel_ring_offset_valid(ring, tail)); in assert_ring_tail_valid()
112 GEM_BUG_ON(cacheline(tail) == cacheline(head) && tail < head); in assert_ring_tail_valid()
117 intel_ring_set_tail(struct intel_ring *ring, unsigned int tail) in intel_ring_set_tail() argument
125 assert_ring_tail_valid(ring, tail); in intel_ring_set_tail()
126 ring->tail = tail; in intel_ring_set_tail()
127 return tail; in intel_ring_set_tail()
131 __intel_ring_space(unsigned int head, unsigned int tail, unsigned int size) in __intel_ring_space() argument
139 return (head - tail - CACHELINE_BYTES) & (size - 1); in __intel_ring_space()
/linux-6.3-rc2/arch/arm/kernel/
A Dperf_callchain.c34 user_backtrace(struct frame_tail __user *tail, in user_backtrace() argument
40 if (!access_ok(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
72 tail = (struct frame_tail __user *)regs->ARM_fp - 1; in perf_callchain_user()
75 tail && !((unsigned long)tail & 0x3)) in perf_callchain_user()
76 tail = user_backtrace(tail, entry); in perf_callchain_user()
/linux-6.3-rc2/kernel/locking/
A Dqspinlock.c118 u32 tail; in encode_tail() local
120 tail = (cpu + 1) << _Q_TAIL_CPU_OFFSET; in encode_tail()
123 return tail; in encode_tail()
128 int cpu = (tail >> _Q_TAIL_CPU_OFFSET) - 1; in decode_tail()
183 return (u32)xchg_relaxed(&lock->tail, in xchg_tail()
184 tail >> _Q_TAIL_OFFSET) << _Q_TAIL_OFFSET; in xchg_tail()
226 new = (val & _Q_LOCKED_PENDING_MASK) | tail; in xchg_tail()
319 u32 old, tail; in queued_spin_lock_slowpath() local
403 tail = encode_tail(smp_processor_id(), idx); in queued_spin_lock_slowpath()
463 old = xchg_tail(lock, tail); in queued_spin_lock_slowpath()
[all …]
/linux-6.3-rc2/include/drm/
A 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-6.3-rc2/drivers/media/test-drivers/vidtv/
A Dvidtv_channel.c182 tail = vidtv_psi_eit_event_init(tail, event_id); in vidtv_channel_eit_event_cat_into_new()
183 if (!tail) { in vidtv_channel_eit_event_cat_into_new()
192 head = tail; in vidtv_channel_eit_event_cat_into_new()
229 tail = vidtv_psi_sdt_service_init(tail, in vidtv_channel_sdt_serv_cat_into_new()
233 if (!tail) in vidtv_channel_sdt_serv_cat_into_new()
242 head = tail; in vidtv_channel_sdt_serv_cat_into_new()
284 tail = vidtv_psi_pat_program_init(tail, in vidtv_channel_pat_prog_cat_into_new()
287 if (!tail) { in vidtv_channel_pat_prog_cat_into_new()
293 head = tail; in vidtv_channel_pat_prog_cat_into_new()
341 tail = vidtv_psi_pmt_stream_init(tail, in vidtv_channel_pmt_match_sections()
[all …]
/linux-6.3-rc2/Documentation/trace/
A Dring-buffer-design.rst21 tail
227 tail page
323 tail page
337 and possibly the tail page. That is when the commit (and tail) page has been
378 tail page
390 tail page
624 tail page
635 tail page
681 tail page
743 on the new tail page.
[all …]
/linux-6.3-rc2/drivers/infiniband/hw/vmw_pvrdma/
A 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-6.3-rc2/net/sched/
A Dsch_choke.c67 unsigned int tail; member
97 if (q->head == q->tail) in choke_zap_head_holes()
106 q->tail = (q->tail - 1) & q->tab_mask; in choke_zap_tail_holes()
107 if (q->head == q->tail) in choke_zap_tail_holes()
123 if (idx == q->tail) in choke_drop_by_idx()
205 if (q->head == q->tail) in choke_match_random()
268 q->tab[q->tail] = skb; in choke_enqueue()
269 q->tail = (q->tail + 1) & q->tab_mask; in choke_enqueue()
319 q->head = q->tail = 0; in choke_reset()
389 if (tail < mask) { in choke_change()
[all …]
/linux-6.3-rc2/net/sunrpc/
A Dxdr.c181 struct kvec *tail = xdr->tail; in xdr_inline_pages() local
511 struct kvec *tail = buf->tail; in xdr_buf_try_expand() local
538 const struct kvec *tail = buf->tail; in xdr_buf_tail_copy_right() local
552 const struct kvec *tail = buf->tail; in xdr_buf_pages_copy_right() local
586 const struct kvec *tail = buf->tail; in xdr_buf_head_copy_right() local
632 const struct kvec *tail = buf->tail; in xdr_buf_tail_shift_right() local
677 const struct kvec *tail = buf->tail; in xdr_buf_tail_copy_left() local
1141 struct kvec *tail = buf->tail; in xdr_truncate_encode() local
1155 xdr->p = tail->iov_base + tail->iov_len; in xdr_truncate_encode()
1246 struct kvec *tail = buf->tail; in xdr_write_pages() local
[all …]
/linux-6.3-rc2/net/rxrpc/
A Dcall_accept.c70 tail = READ_ONCE(b->peer_backlog_tail); in rxrpc_service_prealloc_one()
71 if (CIRC_CNT(head, tail, size) < max) { in rxrpc_service_prealloc_one()
83 tail = READ_ONCE(b->conn_backlog_tail); in rxrpc_service_prealloc_one()
84 if (CIRC_CNT(head, tail, size) < max) { in rxrpc_service_prealloc_one()
195 tail = b->peer_backlog_tail; in rxrpc_discard_prealloc()
196 while (CIRC_CNT(head, tail, size) > 0) { in rxrpc_discard_prealloc()
200 tail = (tail + 1) & (size - 1); in rxrpc_discard_prealloc()
204 tail = b->conn_backlog_tail; in rxrpc_discard_prealloc()
214 tail = (tail + 1) & (size - 1); in rxrpc_discard_prealloc()
218 tail = b->call_backlog_tail; in rxrpc_discard_prealloc()
[all …]
/linux-6.3-rc2/fs/
A Dpipe.c224 unsigned int tail = READ_ONCE(pipe->tail); in pipe_readable() local
258 unsigned int tail = pipe->tail; in pipe_read() local
330 tail++; in pipe_read()
331 pipe->tail = tail; in pipe_read()
408 unsigned int tail = READ_ONCE(pipe->tail); in pipe_writable() local
617 tail = pipe->tail; in pipe_ioctl()
622 tail++; in pipe_ioctl()
675 tail = READ_ONCE(pipe->tail); in pipe_poll()
1266 tail = pipe->tail; in pipe_resize_ring()
1296 tail = 0; in pipe_resize_ring()
[all …]
/linux-6.3-rc2/include/net/
A Desp.h15 static inline void esp_output_fill_trailer(u8 *tail, int tfclen, int plen, __u8 proto) in esp_output_fill_trailer() argument
19 memset(tail, 0, tfclen); in esp_output_fill_trailer()
20 tail += tfclen; in esp_output_fill_trailer()
25 tail[i] = i + 1; in esp_output_fill_trailer()
27 tail[plen - 2] = plen - 2; in esp_output_fill_trailer()
28 tail[plen - 1] = proto; in esp_output_fill_trailer()

Completed in 32 milliseconds

12345678910>>...36