mirror of
https://github.com/torvalds/linux.git
synced 2024-12-18 17:12:55 +00:00
RDS: Switch to generic logging helpers
Signed-off-by: Sagi Grimberg <sagig@mellanox.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
parent
76357c715f
commit
3c88f3dcff
@ -40,15 +40,6 @@
|
|||||||
|
|
||||||
#include "rds.h"
|
#include "rds.h"
|
||||||
|
|
||||||
char *rds_str_array(char **array, size_t elements, size_t index)
|
|
||||||
{
|
|
||||||
if ((index < elements) && array[index])
|
|
||||||
return array[index];
|
|
||||||
else
|
|
||||||
return "unknown";
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(rds_str_array);
|
|
||||||
|
|
||||||
/* this is just used for stats gathering :/ */
|
/* this is just used for stats gathering :/ */
|
||||||
static DEFINE_SPINLOCK(rds_sock_lock);
|
static DEFINE_SPINLOCK(rds_sock_lock);
|
||||||
static unsigned long rds_sock_count;
|
static unsigned long rds_sock_count;
|
||||||
|
@ -339,7 +339,6 @@ u32 rds_ib_ring_completed(struct rds_ib_work_ring *ring, u32 wr_id, u32 oldest);
|
|||||||
extern wait_queue_head_t rds_ib_ring_empty_wait;
|
extern wait_queue_head_t rds_ib_ring_empty_wait;
|
||||||
|
|
||||||
/* ib_send.c */
|
/* ib_send.c */
|
||||||
char *rds_ib_wc_status_str(enum ib_wc_status status);
|
|
||||||
void rds_ib_xmit_complete(struct rds_connection *conn);
|
void rds_ib_xmit_complete(struct rds_connection *conn);
|
||||||
int rds_ib_xmit(struct rds_connection *conn, struct rds_message *rm,
|
int rds_ib_xmit(struct rds_connection *conn, struct rds_message *rm,
|
||||||
unsigned int hdr_off, unsigned int sg, unsigned int off);
|
unsigned int hdr_off, unsigned int sg, unsigned int off);
|
||||||
|
@ -39,36 +39,6 @@
|
|||||||
#include "rds.h"
|
#include "rds.h"
|
||||||
#include "ib.h"
|
#include "ib.h"
|
||||||
|
|
||||||
static char *rds_ib_event_type_strings[] = {
|
|
||||||
#define RDS_IB_EVENT_STRING(foo) \
|
|
||||||
[IB_EVENT_##foo] = __stringify(IB_EVENT_##foo)
|
|
||||||
RDS_IB_EVENT_STRING(CQ_ERR),
|
|
||||||
RDS_IB_EVENT_STRING(QP_FATAL),
|
|
||||||
RDS_IB_EVENT_STRING(QP_REQ_ERR),
|
|
||||||
RDS_IB_EVENT_STRING(QP_ACCESS_ERR),
|
|
||||||
RDS_IB_EVENT_STRING(COMM_EST),
|
|
||||||
RDS_IB_EVENT_STRING(SQ_DRAINED),
|
|
||||||
RDS_IB_EVENT_STRING(PATH_MIG),
|
|
||||||
RDS_IB_EVENT_STRING(PATH_MIG_ERR),
|
|
||||||
RDS_IB_EVENT_STRING(DEVICE_FATAL),
|
|
||||||
RDS_IB_EVENT_STRING(PORT_ACTIVE),
|
|
||||||
RDS_IB_EVENT_STRING(PORT_ERR),
|
|
||||||
RDS_IB_EVENT_STRING(LID_CHANGE),
|
|
||||||
RDS_IB_EVENT_STRING(PKEY_CHANGE),
|
|
||||||
RDS_IB_EVENT_STRING(SM_CHANGE),
|
|
||||||
RDS_IB_EVENT_STRING(SRQ_ERR),
|
|
||||||
RDS_IB_EVENT_STRING(SRQ_LIMIT_REACHED),
|
|
||||||
RDS_IB_EVENT_STRING(QP_LAST_WQE_REACHED),
|
|
||||||
RDS_IB_EVENT_STRING(CLIENT_REREGISTER),
|
|
||||||
#undef RDS_IB_EVENT_STRING
|
|
||||||
};
|
|
||||||
|
|
||||||
static char *rds_ib_event_str(enum ib_event_type type)
|
|
||||||
{
|
|
||||||
return rds_str_array(rds_ib_event_type_strings,
|
|
||||||
ARRAY_SIZE(rds_ib_event_type_strings), type);
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Set the selected protocol version
|
* Set the selected protocol version
|
||||||
*/
|
*/
|
||||||
@ -243,7 +213,7 @@ static void rds_ib_cm_fill_conn_param(struct rds_connection *conn,
|
|||||||
static void rds_ib_cq_event_handler(struct ib_event *event, void *data)
|
static void rds_ib_cq_event_handler(struct ib_event *event, void *data)
|
||||||
{
|
{
|
||||||
rdsdebug("event %u (%s) data %p\n",
|
rdsdebug("event %u (%s) data %p\n",
|
||||||
event->event, rds_ib_event_str(event->event), data);
|
event->event, ib_event_msg(event->event), data);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void rds_ib_qp_event_handler(struct ib_event *event, void *data)
|
static void rds_ib_qp_event_handler(struct ib_event *event, void *data)
|
||||||
@ -252,7 +222,7 @@ static void rds_ib_qp_event_handler(struct ib_event *event, void *data)
|
|||||||
struct rds_ib_connection *ic = conn->c_transport_data;
|
struct rds_ib_connection *ic = conn->c_transport_data;
|
||||||
|
|
||||||
rdsdebug("conn %p ic %p event %u (%s)\n", conn, ic, event->event,
|
rdsdebug("conn %p ic %p event %u (%s)\n", conn, ic, event->event,
|
||||||
rds_ib_event_str(event->event));
|
ib_event_msg(event->event));
|
||||||
|
|
||||||
switch (event->event) {
|
switch (event->event) {
|
||||||
case IB_EVENT_COMM_EST:
|
case IB_EVENT_COMM_EST:
|
||||||
@ -261,7 +231,7 @@ static void rds_ib_qp_event_handler(struct ib_event *event, void *data)
|
|||||||
default:
|
default:
|
||||||
rdsdebug("Fatal QP Event %u (%s) "
|
rdsdebug("Fatal QP Event %u (%s) "
|
||||||
"- connection %pI4->%pI4, reconnecting\n",
|
"- connection %pI4->%pI4, reconnecting\n",
|
||||||
event->event, rds_ib_event_str(event->event),
|
event->event, ib_event_msg(event->event),
|
||||||
&conn->c_laddr, &conn->c_faddr);
|
&conn->c_laddr, &conn->c_faddr);
|
||||||
rds_conn_drop(conn);
|
rds_conn_drop(conn);
|
||||||
break;
|
break;
|
||||||
|
@ -956,7 +956,7 @@ static inline void rds_poll_cq(struct rds_ib_connection *ic,
|
|||||||
while (ib_poll_cq(ic->i_recv_cq, 1, &wc) > 0) {
|
while (ib_poll_cq(ic->i_recv_cq, 1, &wc) > 0) {
|
||||||
rdsdebug("wc wr_id 0x%llx status %u (%s) byte_len %u imm_data %u\n",
|
rdsdebug("wc wr_id 0x%llx status %u (%s) byte_len %u imm_data %u\n",
|
||||||
(unsigned long long)wc.wr_id, wc.status,
|
(unsigned long long)wc.wr_id, wc.status,
|
||||||
rds_ib_wc_status_str(wc.status), wc.byte_len,
|
ib_wc_status_msg(wc.status), wc.byte_len,
|
||||||
be32_to_cpu(wc.ex.imm_data));
|
be32_to_cpu(wc.ex.imm_data));
|
||||||
rds_ib_stats_inc(s_ib_rx_cq_event);
|
rds_ib_stats_inc(s_ib_rx_cq_event);
|
||||||
|
|
||||||
@ -978,7 +978,7 @@ static inline void rds_poll_cq(struct rds_ib_connection *ic,
|
|||||||
"status %u (%s), disconnecting and "
|
"status %u (%s), disconnecting and "
|
||||||
"reconnecting\n", &conn->c_faddr,
|
"reconnecting\n", &conn->c_faddr,
|
||||||
wc.status,
|
wc.status,
|
||||||
rds_ib_wc_status_str(wc.status));
|
ib_wc_status_msg(wc.status));
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -39,40 +39,6 @@
|
|||||||
#include "rds.h"
|
#include "rds.h"
|
||||||
#include "ib.h"
|
#include "ib.h"
|
||||||
|
|
||||||
static char *rds_ib_wc_status_strings[] = {
|
|
||||||
#define RDS_IB_WC_STATUS_STR(foo) \
|
|
||||||
[IB_WC_##foo] = __stringify(IB_WC_##foo)
|
|
||||||
RDS_IB_WC_STATUS_STR(SUCCESS),
|
|
||||||
RDS_IB_WC_STATUS_STR(LOC_LEN_ERR),
|
|
||||||
RDS_IB_WC_STATUS_STR(LOC_QP_OP_ERR),
|
|
||||||
RDS_IB_WC_STATUS_STR(LOC_EEC_OP_ERR),
|
|
||||||
RDS_IB_WC_STATUS_STR(LOC_PROT_ERR),
|
|
||||||
RDS_IB_WC_STATUS_STR(WR_FLUSH_ERR),
|
|
||||||
RDS_IB_WC_STATUS_STR(MW_BIND_ERR),
|
|
||||||
RDS_IB_WC_STATUS_STR(BAD_RESP_ERR),
|
|
||||||
RDS_IB_WC_STATUS_STR(LOC_ACCESS_ERR),
|
|
||||||
RDS_IB_WC_STATUS_STR(REM_INV_REQ_ERR),
|
|
||||||
RDS_IB_WC_STATUS_STR(REM_ACCESS_ERR),
|
|
||||||
RDS_IB_WC_STATUS_STR(REM_OP_ERR),
|
|
||||||
RDS_IB_WC_STATUS_STR(RETRY_EXC_ERR),
|
|
||||||
RDS_IB_WC_STATUS_STR(RNR_RETRY_EXC_ERR),
|
|
||||||
RDS_IB_WC_STATUS_STR(LOC_RDD_VIOL_ERR),
|
|
||||||
RDS_IB_WC_STATUS_STR(REM_INV_RD_REQ_ERR),
|
|
||||||
RDS_IB_WC_STATUS_STR(REM_ABORT_ERR),
|
|
||||||
RDS_IB_WC_STATUS_STR(INV_EECN_ERR),
|
|
||||||
RDS_IB_WC_STATUS_STR(INV_EEC_STATE_ERR),
|
|
||||||
RDS_IB_WC_STATUS_STR(FATAL_ERR),
|
|
||||||
RDS_IB_WC_STATUS_STR(RESP_TIMEOUT_ERR),
|
|
||||||
RDS_IB_WC_STATUS_STR(GENERAL_ERR),
|
|
||||||
#undef RDS_IB_WC_STATUS_STR
|
|
||||||
};
|
|
||||||
|
|
||||||
char *rds_ib_wc_status_str(enum ib_wc_status status)
|
|
||||||
{
|
|
||||||
return rds_str_array(rds_ib_wc_status_strings,
|
|
||||||
ARRAY_SIZE(rds_ib_wc_status_strings), status);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Convert IB-specific error message to RDS error message and call core
|
* Convert IB-specific error message to RDS error message and call core
|
||||||
* completion handler.
|
* completion handler.
|
||||||
@ -293,7 +259,7 @@ void rds_ib_send_cq_comp_handler(struct ib_cq *cq, void *context)
|
|||||||
while (ib_poll_cq(cq, 1, &wc) > 0) {
|
while (ib_poll_cq(cq, 1, &wc) > 0) {
|
||||||
rdsdebug("wc wr_id 0x%llx status %u (%s) byte_len %u imm_data %u\n",
|
rdsdebug("wc wr_id 0x%llx status %u (%s) byte_len %u imm_data %u\n",
|
||||||
(unsigned long long)wc.wr_id, wc.status,
|
(unsigned long long)wc.wr_id, wc.status,
|
||||||
rds_ib_wc_status_str(wc.status), wc.byte_len,
|
ib_wc_status_msg(wc.status), wc.byte_len,
|
||||||
be32_to_cpu(wc.ex.imm_data));
|
be32_to_cpu(wc.ex.imm_data));
|
||||||
rds_ib_stats_inc(s_ib_tx_cq_event);
|
rds_ib_stats_inc(s_ib_tx_cq_event);
|
||||||
|
|
||||||
@ -344,7 +310,7 @@ void rds_ib_send_cq_comp_handler(struct ib_cq *cq, void *context)
|
|||||||
rds_ib_conn_error(conn, "send completion on %pI4 had status "
|
rds_ib_conn_error(conn, "send completion on %pI4 had status "
|
||||||
"%u (%s), disconnecting and reconnecting\n",
|
"%u (%s), disconnecting and reconnecting\n",
|
||||||
&conn->c_faddr, wc.status,
|
&conn->c_faddr, wc.status,
|
||||||
rds_ib_wc_status_str(wc.status));
|
ib_wc_status_msg(wc.status));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -37,34 +37,6 @@
|
|||||||
|
|
||||||
static struct rdma_cm_id *rds_rdma_listen_id;
|
static struct rdma_cm_id *rds_rdma_listen_id;
|
||||||
|
|
||||||
static char *rds_cm_event_strings[] = {
|
|
||||||
#define RDS_CM_EVENT_STRING(foo) \
|
|
||||||
[RDMA_CM_EVENT_##foo] = __stringify(RDMA_CM_EVENT_##foo)
|
|
||||||
RDS_CM_EVENT_STRING(ADDR_RESOLVED),
|
|
||||||
RDS_CM_EVENT_STRING(ADDR_ERROR),
|
|
||||||
RDS_CM_EVENT_STRING(ROUTE_RESOLVED),
|
|
||||||
RDS_CM_EVENT_STRING(ROUTE_ERROR),
|
|
||||||
RDS_CM_EVENT_STRING(CONNECT_REQUEST),
|
|
||||||
RDS_CM_EVENT_STRING(CONNECT_RESPONSE),
|
|
||||||
RDS_CM_EVENT_STRING(CONNECT_ERROR),
|
|
||||||
RDS_CM_EVENT_STRING(UNREACHABLE),
|
|
||||||
RDS_CM_EVENT_STRING(REJECTED),
|
|
||||||
RDS_CM_EVENT_STRING(ESTABLISHED),
|
|
||||||
RDS_CM_EVENT_STRING(DISCONNECTED),
|
|
||||||
RDS_CM_EVENT_STRING(DEVICE_REMOVAL),
|
|
||||||
RDS_CM_EVENT_STRING(MULTICAST_JOIN),
|
|
||||||
RDS_CM_EVENT_STRING(MULTICAST_ERROR),
|
|
||||||
RDS_CM_EVENT_STRING(ADDR_CHANGE),
|
|
||||||
RDS_CM_EVENT_STRING(TIMEWAIT_EXIT),
|
|
||||||
#undef RDS_CM_EVENT_STRING
|
|
||||||
};
|
|
||||||
|
|
||||||
static char *rds_cm_event_str(enum rdma_cm_event_type type)
|
|
||||||
{
|
|
||||||
return rds_str_array(rds_cm_event_strings,
|
|
||||||
ARRAY_SIZE(rds_cm_event_strings), type);
|
|
||||||
};
|
|
||||||
|
|
||||||
int rds_rdma_cm_event_handler(struct rdma_cm_id *cm_id,
|
int rds_rdma_cm_event_handler(struct rdma_cm_id *cm_id,
|
||||||
struct rdma_cm_event *event)
|
struct rdma_cm_event *event)
|
||||||
{
|
{
|
||||||
@ -74,7 +46,7 @@ int rds_rdma_cm_event_handler(struct rdma_cm_id *cm_id,
|
|||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
rdsdebug("conn %p id %p handling event %u (%s)\n", conn, cm_id,
|
rdsdebug("conn %p id %p handling event %u (%s)\n", conn, cm_id,
|
||||||
event->event, rds_cm_event_str(event->event));
|
event->event, rdma_event_msg(event->event));
|
||||||
|
|
||||||
if (cm_id->device->node_type == RDMA_NODE_RNIC)
|
if (cm_id->device->node_type == RDMA_NODE_RNIC)
|
||||||
trans = &rds_iw_transport;
|
trans = &rds_iw_transport;
|
||||||
@ -139,7 +111,7 @@ int rds_rdma_cm_event_handler(struct rdma_cm_id *cm_id,
|
|||||||
default:
|
default:
|
||||||
/* things like device disconnect? */
|
/* things like device disconnect? */
|
||||||
printk(KERN_ERR "RDS: unknown event %u (%s)!\n",
|
printk(KERN_ERR "RDS: unknown event %u (%s)!\n",
|
||||||
event->event, rds_cm_event_str(event->event));
|
event->event, rdma_event_msg(event->event));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -148,7 +120,7 @@ out:
|
|||||||
mutex_unlock(&conn->c_cm_lock);
|
mutex_unlock(&conn->c_cm_lock);
|
||||||
|
|
||||||
rdsdebug("id %p event %u (%s) handling ret %d\n", cm_id, event->event,
|
rdsdebug("id %p event %u (%s) handling ret %d\n", cm_id, event->event,
|
||||||
rds_cm_event_str(event->event), ret);
|
rdma_event_msg(event->event), ret);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -575,7 +575,6 @@ struct rds_statistics {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/* af_rds.c */
|
/* af_rds.c */
|
||||||
char *rds_str_array(char **array, size_t elements, size_t index);
|
|
||||||
void rds_sock_addref(struct rds_sock *rs);
|
void rds_sock_addref(struct rds_sock *rs);
|
||||||
void rds_sock_put(struct rds_sock *rs);
|
void rds_sock_put(struct rds_sock *rs);
|
||||||
void rds_wake_sk_sleep(struct rds_sock *rs);
|
void rds_wake_sk_sleep(struct rds_sock *rs);
|
||||||
|
Loading…
Reference in New Issue
Block a user