]> www.infradead.org Git - users/jedix/linux-maple.git/commit
RDS: Add interface for receive MSG latency trace
authorSantosh Shilimkar <santosh.shilimkar@oracle.com>
Fri, 11 Dec 2015 20:01:56 +0000 (12:01 -0800)
committerChuck Anderson <chuck.anderson@oracle.com>
Fri, 26 Feb 2016 02:51:46 +0000 (18:51 -0800)
commit67fb74441f1bf4645987c366d3e60b0c26305269
tree735ac213feebb93592d7d4af810770101137d2cf
parentae712c8eed01524945fa6e93368fb52e1d0e7184
RDS: Add interface for receive MSG latency trace

Socket option to tap receive path latency.
SO_RDS: SO_RDS_MSG_RXPATH_LATENCY
with parameter,
struct rds_rx_trace_so {
u8 rx_traces;
        u8 rx_trace_pos[RDS_MSG_RX_DGRAM_TRACE_MAX];
}

CMSG:
RDS_CMSG_RXPATH_LATENCY(recvmsg)
Returns rds message latencies in various stages of receive
path in nS. Its set per socket using SO_RDS_MSG_RXPATH_LATENCY
socket option. Legitimate points are defined in
enum rds_message_rxpath_latency. More points can be added in
future.

CSMG format:
struct rds_cmsg_rx_trace {
        u8 rx_traces;
        u8 rx_trace_pos[RDS_MSG_RX_DGRAM_TRACE_MAX];
        u64 rx_trace[RDS_MSG_RX_DGRAM_TRACE_MAX];
}

Receive MSG trace points: RDS message Receive Path Latency points
enum rds_message_rxpath_latency {
RDS_MSG_RX_HDR_TO_DGRAM_START = 0,
RDS_MSG_RX_DGRAM_REASSEMBLE,
RDS_MSG_RX_DGRAM_DELIVERED,
RDS_MSG_RX_DGRAM_TRACE_MAX
}

Tested-by: Namrata Jampani <namrata.jampani@oracle.com>
Reviewed-by: Ajaykumar Hotchandani <ajaykumar.hotchandani@oracle.com>
Reviewed-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
Orabug: 22630180
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
include/uapi/linux/rds.h
net/rds/af_rds.c
net/rds/ib_recv.c
net/rds/rds.h
net/rds/recv.c
net/rds/tcp_recv.c