• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/net/rds/

Lines Matching refs:recv

70 				   struct rds_ib_recv_work *recv)
72 struct rds_page_frag *frag = recv->r_frag;
74 rdsdebug("recv %p frag %p page %p\n", recv, frag, frag->f_page);
84 struct rds_ib_recv_work *recv;
87 for (i = 0, recv = ic->i_recvs; i < ic->i_recv_ring.w_nr; i++, recv++) {
90 recv->r_ibinc = NULL;
91 recv->r_frag = NULL;
93 recv->r_wr.next = NULL;
94 recv->r_wr.wr_id = i;
95 recv->r_wr.sg_list = recv->r_sge;
96 recv->r_wr.num_sge = RDS_IB_RECV_SGE;
98 sge = rds_ib_data_sge(ic, recv->r_sge);
103 sge = rds_ib_header_sge(ic, recv->r_sge);
111 struct rds_ib_recv_work *recv)
113 if (recv->r_ibinc) {
114 rds_inc_put(&recv->r_ibinc->ii_inc);
115 recv->r_ibinc = NULL;
117 if (recv->r_frag) {
118 rds_ib_recv_unmap_page(ic, recv);
119 if (recv->r_frag->f_page)
120 rds_ib_frag_drop_page(recv->r_frag);
121 rds_ib_frag_free(recv->r_frag);
122 recv->r_frag = NULL;
138 struct rds_ib_recv_work *recv,
146 if (recv->r_ibinc == NULL) {
151 recv->r_ibinc = kmem_cache_alloc(rds_ib_incoming_slab,
153 if (recv->r_ibinc == NULL) {
157 INIT_LIST_HEAD(&recv->r_ibinc->ii_frags);
158 rds_inc_init(&recv->r_ibinc->ii_inc, conn, conn->c_faddr);
161 if (recv->r_frag == NULL) {
162 recv->r_frag = kmem_cache_alloc(rds_ib_frag_slab, kptr_gfp);
163 if (recv->r_frag == NULL)
165 INIT_LIST_HEAD(&recv->r_frag->f_item);
166 recv->r_frag->f_page = NULL;
186 * must be called on this recv. This happens as completions hit
189 recv->r_frag->f_page = ic->i_frag.f_page;
190 recv->r_frag->f_offset = ic->i_frag.f_offset;
191 recv->r_frag->f_mapped = dma_addr;
193 sge = rds_ib_data_sge(ic, recv->r_sge);
197 sge = rds_ib_header_sge(ic, recv->r_sge);
198 sge->addr = ic->i_recv_hdrs_dma + (recv - ic->i_recvs) * sizeof(struct rds_header);
201 get_page(recv->r_frag->f_page);
228 struct rds_ib_recv_work *recv;
243 recv = &ic->i_recvs[pos];
244 ret = rds_ib_recv_refill_one(conn, recv, kptr_gfp, page_gfp);
250 ret = ib_post_recv(ic->i_cm_id->qp, &recv->r_wr, &failed_wr);
251 rdsdebug("recv %p ibinc %p page %p addr %lu ret %d\n", recv,
252 recv->r_ibinc, recv->r_frag->f_page,
253 (long) recv->r_frag->f_mapped, ret);
255 rds_ib_conn_error(conn, "recv post on "
478 * 1. We call rds_ib_attempt_ack from the recv completion handler
511 * When we get here, we're called from the recv queue handler.
559 struct rds_ib_recv_work *recv,
563 void *hdr_buff = &ic->i_recv_hdrs[recv - ic->i_recvs];
580 addr = kmap_atomic(recv->r_frag->f_page, KM_SOFTIRQ0);
582 addr + recv->r_frag->f_offset + data_len,
592 addr = kmap_atomic(recv->r_frag->f_page, KM_SOFTIRQ0);
593 memcpy(hdr_buff, addr + recv->r_frag->f_offset + data_len,
689 struct rds_ib_recv_work *recv, u32 data_len,
697 rdsdebug("ic %p ibinc %p recv %p byte len %u\n", ic, ibinc, recv,
710 ihdr = rds_ib_get_header(conn, recv, data_len);
737 rds_ib_frag_drop_page(recv->r_frag);
748 ibinc = recv->r_ibinc;
749 recv->r_ibinc = NULL;
772 list_add_tail(&recv->r_frag->f_item, &ibinc->ii_frags);
773 recv->r_frag = NULL;
829 struct rds_ib_recv_work *recv;
837 recv = &ic->i_recvs[rds_ib_ring_oldest(&ic->i_recv_ring)];
839 rds_ib_recv_unmap_page(ic, recv);
843 * to get a recv completion _before_ the rdmacm ESTABLISHED
849 rds_ib_process_recv(conn, recv, wc.byte_len, state);
851 rds_ib_conn_error(conn, "recv completion on "
923 /* Default to 30% of all available RAM for recv memory */