Commit 5533c4f4 authored by Chuck Lever's avatar Chuck Lever
Browse files

svcrdma: Remove svc_rdma_recv_ctxt::rc_pages and ::rc_arg



These fields are no longer used.

The size of struct svc_rdma_recv_ctxt is now less than 300 bytes on
x86_64, down from 2440 bytes.

Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
parent 9af723be
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -134,7 +134,6 @@ struct svc_rdma_recv_ctxt {
	struct rpc_rdma_cid	rc_cid;
	struct ib_sge		rc_recv_sge;
	void			*rc_recv_buf;
	struct xdr_buf		rc_arg;
	struct xdr_stream	rc_stream;
	bool			rc_temp;
	u32			rc_byte_len;
@@ -148,8 +147,6 @@ struct svc_rdma_recv_ctxt {
	struct svc_rdma_chunk	*rc_cur_result_payload;
	struct svc_rdma_pcl	rc_write_pcl;
	struct svc_rdma_pcl	rc_reply_pcl;

	struct page		*rc_pages[RPCSVC_MAXPAGES];
};

struct svc_rdma_send_ctxt {
+0 −5
Original line number Diff line number Diff line
@@ -227,11 +227,6 @@ struct svc_rdma_recv_ctxt *svc_rdma_recv_ctxt_get(struct svcxprt_rdma *rdma)
void svc_rdma_recv_ctxt_put(struct svcxprt_rdma *rdma,
			    struct svc_rdma_recv_ctxt *ctxt)
{
	unsigned int i;

	for (i = 0; i < ctxt->rc_page_count; i++)
		put_page(ctxt->rc_pages[i]);

	pcl_free(&ctxt->rc_call_pcl);
	pcl_free(&ctxt->rc_read_pcl);
	pcl_free(&ctxt->rc_write_pcl);
+0 −12
Original line number Diff line number Diff line
@@ -1081,18 +1081,6 @@ int svc_rdma_process_read_list(struct svcxprt_rdma *rdma,
	struct svc_rdma_chunk_ctxt *cc;
	int ret;

	/* The request (with page list) is constructed in
	 * head->rc_arg. Pages involved with RDMA Read I/O are
	 * transferred there.
	 */
	head->rc_arg.head[0] = rqstp->rq_arg.head[0];
	head->rc_arg.tail[0] = rqstp->rq_arg.tail[0];
	head->rc_arg.pages = head->rc_pages;
	head->rc_arg.page_base = 0;
	head->rc_arg.page_len = 0;
	head->rc_arg.len = rqstp->rq_arg.len;
	head->rc_arg.buflen = rqstp->rq_arg.buflen;

	info = svc_rdma_read_info_alloc(rdma);
	if (!info)
		return -ENOMEM;