Lines Matching refs:rm
70 int rds_tcp_xmit(struct rds_connection *conn, struct rds_message *rm,
73 struct rds_conn_path *cp = rm->m_inc.i_conn_path;
85 rm->m_ack_seq = tc->t_last_sent_nxt +
87 be32_to_cpu(rm->m_inc.i_hdr.h_len) - 1;
89 set_bit(RDS_MSG_HAS_ACK_SEQ, &rm->m_flags);
90 tc->t_last_expected_una = rm->m_ack_seq + 1;
92 if (test_bit(RDS_MSG_RETRANSMITTED, &rm->m_flags))
93 rm->m_inc.i_hdr.h_flags |= RDS_FLAG_RETRANSMITTED;
95 rdsdebug("rm %p tcp nxt %u ack_seq %llu\n",
96 rm, rds_tcp_write_seq(tc),
97 (unsigned long long)rm->m_ack_seq);
105 (void *)&rm->m_inc.i_hdr + hdr_off,
106 sizeof(rm->m_inc.i_hdr) - hdr_off);
114 more = rm->data.op_nents > 1 ? (MSG_MORE | MSG_SENDPAGE_NOTLAST) : 0;
115 while (sg < rm->data.op_nents) {
119 sg_page(&rm->data.op_sg[sg]),
120 rm->data.op_sg[sg].offset + off,
121 rm->data.op_sg[sg].length - off,
123 rdsdebug("tcp sendpage %p:%u:%u ret %d\n", (void *)sg_page(&rm->data.op_sg[sg]),
124 rm->data.op_sg[sg].offset + off, rm->data.op_sg[sg].length - off,
131 if (off == rm->data.op_sg[sg].length) {
135 if (sg == rm->data.op_nents - 1)
165 * rm->m_ack_seq is set to the tcp sequence number that corresponds to the
167 * entire message has been received if rm->m_ack_seq is "before" the next
171 static int rds_tcp_is_acked(struct rds_message *rm, uint64_t ack)
173 if (!test_bit(RDS_MSG_HAS_ACK_SEQ, &rm->m_flags))
175 return (__s32)((u32)rm->m_ack_seq - (u32)ack) < 0;