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: Chuck Lever <chuck.lever@oracle.com>
This commit is contained in:
Chuck Lever 2021-01-13 09:31:50 -05:00
parent 9af723be86
commit 5533c4f4b9
3 changed files with 0 additions and 20 deletions

View File

@ -134,7 +134,6 @@ struct svc_rdma_recv_ctxt {
struct rpc_rdma_cid rc_cid; struct rpc_rdma_cid rc_cid;
struct ib_sge rc_recv_sge; struct ib_sge rc_recv_sge;
void *rc_recv_buf; void *rc_recv_buf;
struct xdr_buf rc_arg;
struct xdr_stream rc_stream; struct xdr_stream rc_stream;
bool rc_temp; bool rc_temp;
u32 rc_byte_len; u32 rc_byte_len;
@ -148,8 +147,6 @@ struct svc_rdma_recv_ctxt {
struct svc_rdma_chunk *rc_cur_result_payload; struct svc_rdma_chunk *rc_cur_result_payload;
struct svc_rdma_pcl rc_write_pcl; struct svc_rdma_pcl rc_write_pcl;
struct svc_rdma_pcl rc_reply_pcl; struct svc_rdma_pcl rc_reply_pcl;
struct page *rc_pages[RPCSVC_MAXPAGES];
}; };
struct svc_rdma_send_ctxt { struct svc_rdma_send_ctxt {

View File

@ -227,11 +227,6 @@ out_empty:
void svc_rdma_recv_ctxt_put(struct svcxprt_rdma *rdma, void svc_rdma_recv_ctxt_put(struct svcxprt_rdma *rdma,
struct svc_rdma_recv_ctxt *ctxt) 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_call_pcl);
pcl_free(&ctxt->rc_read_pcl); pcl_free(&ctxt->rc_read_pcl);
pcl_free(&ctxt->rc_write_pcl); pcl_free(&ctxt->rc_write_pcl);

View File

@ -1081,18 +1081,6 @@ int svc_rdma_process_read_list(struct svcxprt_rdma *rdma,
struct svc_rdma_chunk_ctxt *cc; struct svc_rdma_chunk_ctxt *cc;
int ret; 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); info = svc_rdma_read_info_alloc(rdma);
if (!info) if (!info)
return -ENOMEM; return -ENOMEM;