svcrdma: Introduce infrastructure to support completion IDs

The goal is to replace CQE kernel memory addresses in completion-
related tracepoints.

Each completion ID matches an incoming Send or Receive completion
to a Completion Queue and to a previous ib_post_*(). The ID can
then be displayed in an error message or recorded in a trace
record.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
This commit is contained in:
Chuck Lever
2020-05-19 09:30:32 -04:00
parent 379c3bc6b4
commit f7bd657b55
2 changed files with 67 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
/* SPDX-License-Identifier: GPL-2.0 */
/*
* * Copyright (c) 2020, Oracle and/or its affiliates.
*/
#ifndef RPC_RDMA_CID_H
#define RPC_RDMA_CID_H
/*
* The rpc_rdma_cid struct records completion ID information. A
* completion ID matches an incoming Send or Receive completion
* to a Completion Queue and to a previous ib_post_*(). The ID
* can then be displayed in an error message or recorded in a
* trace record.
*
* This struct is shared between the server and client RPC/RDMA
* transport implementations.
*/
struct rpc_rdma_cid {
u32 ci_queue_id;
int ci_completion_id;
};
#endif /* RPC_RDMA_CID_H */