#endif /* PORTALS_PROFILING */
/* debug.c */
+char *portals_nid2str(int nal, ptl_nid_t nid, char *str);
void portals_run_upcall(char **argv);
void portals_run_lbug_upcall(char * file, const char *fn, const int line);
void portals_debug_dumplog(void);
extern ptl_handle_ni_t kscimacnal_ni;
#endif
+#define PTL_NALFMT_SIZE 16
+
#define NAL_MAX_NR (NAL_ENUM_END_MARKER - 1)
#define NAL_CMD_REGISTER_PEER_FD 100
{
int nnids = 512; /* FIXME: Need ScaMac funktion to get #nodes */
- CDEBUG(D_NET, "calling lib_init with nid 0x%Lx nnids %d\n", kscimacnal_data.ksci_nid, nnids);
+ CDEBUG(D_NET, "calling lib_init with nid "LPX64" nnids %d\n", kscimacnal_data.ksci_nid, nnids);
lib_init(&kscimacnal_lib, kscimacnal_data.ksci_nid, 0, nnids,ptl_size, ac_size);
return &kscimacnal_api;
}
unsigned long physaddr;
- CDEBUG(D_NET, "sending %d bytes from %p/%p to nid 0x%Lx niov: %d\n",
+ CDEBUG(D_NET, "sending %d bytes from %p/%p to nid "LPX64" niov: %d\n",
payload_len, payload_iov, payload_kiov, nid, payload_niov);
/* Basic sanity checks */
#include <linux/kmod.h>
#include <linux/notifier.h>
#include <linux/kernel.h>
-#include <linux/kernel.h>
#include <linux/mm.h>
#include <linux/string.h>
#include <linux/stat.h>
portals_run_upcall (argv);
}
+char *portals_nid2str(int nal, ptl_nid_t nid, char *str)
+{
+ switch(nal){
+ case TCPNAL:
+ /* userspace NAL */
+ case SOCKNAL:
+ sprintf(str, "%u:%d.%d.%d.%d", (__u32)(nid >> 32),
+ HIPQUAD(nid));
+ break;
+ case QSWNAL:
+ case GMNAL:
+ case TOENAL:
+ case SCIMACNAL:
+ sprintf(str, "%u:%u", (__u32)(nid >> 32), (__u32)nid);
+ break;
+ default:
+ return NULL;
+ }
+ return str;
+}
+
EXPORT_SYMBOL(portals_debug_dumplog);
EXPORT_SYMBOL(portals_debug_msg);
EXPORT_SYMBOL(portals_debug_set_level);
EXPORT_SYMBOL(portals_run_upcall);
EXPORT_SYMBOL(portals_run_lbug_upcall);
+EXPORT_SYMBOL(portals_nid2str);
int err = 0;
char buf[1024];
struct portal_ioctl_data *data;
+ char str[PTL_NALFMT_SIZE];
ENTRY;
case IOC_PORTAL_PING: {
void (*ping)(struct portal_ioctl_data *);
- CDEBUG(D_IOCTL, "doing %d pings to nid "LPU64"\n",
- data->ioc_count, data->ioc_nid);
+ CDEBUG(D_IOCTL, "doing %d pings to nid "LPX64" (%s)\n",
+ data->ioc_count, data->ioc_nid,
+ portals_nid2str(data->ioc_nal, data->ioc_nid, str));
ping = PORTAL_SYMBOL_GET(kping_client);
if (!ping)
CERROR("PORTAL_SYMBOL_GET failed\n");
const ptl_handle_ni_t *nip;
ptl_process_id_t pid;
- CDEBUG (D_IOCTL, "Getting nid [%d]\n", data->ioc_nal);
+ CDEBUG (D_IOCTL, "Getting nid for nal [%d]\n", data->ioc_nal);
nip = kportal_get_ni (data->ioc_nal);
if (nip == NULL)
void
kpr_upcall (int gw_nalid, ptl_nid_t gw_nid, int alive, time_t when)
{
+ char str[PTL_NALFMT_SIZE];
+
/* May be in arbitrary context */
kpr_upcall_t *u = kmalloc (sizeof (kpr_upcall_t), GFP_ATOMIC);
if (u == NULL) {
- CERROR ("Upcall out of memory: nal %d nid "LPX64" %s\n",
- gw_nalid, gw_nid, alive ? "up" : "down");
+ CERROR ("Upcall out of memory: nal %d nid "LPX64" (%s) %s\n",
+ gw_nalid, gw_nid,
+ portals_nid2str(gw_nalid, gw_nid, str),
+ alive ? "up" : "down");
return;
}
struct timeval now;
struct list_head *e;
struct list_head *n;
+ char str[PTL_NALFMT_SIZE];
CDEBUG (D_NET, "%s notifying [%d] "LPX64": %s\n",
byNal ? "NAL" : "userspace",
if (byNal) {
/* It wasn't userland that notified me... */
- CWARN ("Upcall: NAL %d NID "LPX64" is %s\n",
+ CWARN ("Upcall: NAL %d NID "LPX64" (%s) is %s\n",
gateway_nalid, gateway_nid,
+ portals_nid2str(gateway_nalid, gateway_nid, str),
alive ? "alive" : "dead");
kpr_upcall (gateway_nalid, gateway_nid, alive, when);
} else {
unsigned ping_bulk_magic = PING_BULK_MAGIC;
int rc;
struct timeval tv1, tv2;
+ char str[PTL_NALFMT_SIZE];
+
client->tsk = current;
client->args = args;
- CDEBUG (D_OTHER, "pingcli_setup args: nid "LPX64", \
+ CDEBUG (D_OTHER, "pingcli_setup args: nid "LPX64" (%s), \
nal %d, size %u, count: %u, timeout: %u\n",
- args->ioc_nid, args->ioc_nal, args->ioc_size,
+ args->ioc_nid,
+ portals_nid2str(args->ioc_nal, args->ioc_nid, str),
+ args->ioc_nal, args->ioc_size,
args->ioc_count, args->ioc_timeout);
{
const ptl_handle_ni_t *nip;
unsigned ping_head_magic = PING_HEADER_MAGIC;
+ char str[PTL_NALFMT_SIZE];
int rc;
client->tsk = current;
client->args = args;
- CDEBUG (D_OTHER, "pingcli_setup args: nid "LPX64", \
+ CDEBUG (D_OTHER, "pingcli_setup args: nid "LPX64" (%s), \
nal %d, size %u, count: %u, timeout: %u\n",
- args->ioc_nid, args->ioc_nal, args->ioc_size,
+ args->ioc_nid,
+ portals_nid2str(args->ioc_nid, args->ioc_nal, str),
+ args->ioc_nal, args->ioc_size,
args->ioc_count, args->ioc_timeout);
#endif /* PORTALS_PROFILING */
/* debug.c */
+char *portals_nid2str(int nal, ptl_nid_t nid, char *str);
void portals_run_upcall(char **argv);
void portals_run_lbug_upcall(char * file, const char *fn, const int line);
void portals_debug_dumplog(void);
extern ptl_handle_ni_t kscimacnal_ni;
#endif
+#define PTL_NALFMT_SIZE 16
+
#define NAL_MAX_NR (NAL_ENUM_END_MARKER - 1)
#define NAL_CMD_REGISTER_PEER_FD 100
{
int nnids = 512; /* FIXME: Need ScaMac funktion to get #nodes */
- CDEBUG(D_NET, "calling lib_init with nid 0x%Lx nnids %d\n", kscimacnal_data.ksci_nid, nnids);
+ CDEBUG(D_NET, "calling lib_init with nid "LPX64" nnids %d\n", kscimacnal_data.ksci_nid, nnids);
lib_init(&kscimacnal_lib, kscimacnal_data.ksci_nid, 0, nnids,ptl_size, ac_size);
return &kscimacnal_api;
}
unsigned long physaddr;
- CDEBUG(D_NET, "sending %d bytes from %p/%p to nid 0x%Lx niov: %d\n",
+ CDEBUG(D_NET, "sending %d bytes from %p/%p to nid "LPX64" niov: %d\n",
payload_len, payload_iov, payload_kiov, nid, payload_niov);
/* Basic sanity checks */
#include <linux/kmod.h>
#include <linux/notifier.h>
#include <linux/kernel.h>
-#include <linux/kernel.h>
#include <linux/mm.h>
#include <linux/string.h>
#include <linux/stat.h>
portals_run_upcall (argv);
}
+char *portals_nid2str(int nal, ptl_nid_t nid, char *str)
+{
+ switch(nal){
+ case TCPNAL:
+ /* userspace NAL */
+ case SOCKNAL:
+ sprintf(str, "%u:%d.%d.%d.%d", (__u32)(nid >> 32),
+ HIPQUAD(nid));
+ break;
+ case QSWNAL:
+ case GMNAL:
+ case TOENAL:
+ case SCIMACNAL:
+ sprintf(str, "%u:%u", (__u32)(nid >> 32), (__u32)nid);
+ break;
+ default:
+ return NULL;
+ }
+ return str;
+}
+
EXPORT_SYMBOL(portals_debug_dumplog);
EXPORT_SYMBOL(portals_debug_msg);
EXPORT_SYMBOL(portals_debug_set_level);
EXPORT_SYMBOL(portals_run_upcall);
EXPORT_SYMBOL(portals_run_lbug_upcall);
+EXPORT_SYMBOL(portals_nid2str);
int err = 0;
char buf[1024];
struct portal_ioctl_data *data;
+ char str[PTL_NALFMT_SIZE];
ENTRY;
case IOC_PORTAL_PING: {
void (*ping)(struct portal_ioctl_data *);
- CDEBUG(D_IOCTL, "doing %d pings to nid "LPU64"\n",
- data->ioc_count, data->ioc_nid);
+ CDEBUG(D_IOCTL, "doing %d pings to nid "LPX64" (%s)\n",
+ data->ioc_count, data->ioc_nid,
+ portals_nid2str(data->ioc_nal, data->ioc_nid, str));
ping = PORTAL_SYMBOL_GET(kping_client);
if (!ping)
CERROR("PORTAL_SYMBOL_GET failed\n");
const ptl_handle_ni_t *nip;
ptl_process_id_t pid;
- CDEBUG (D_IOCTL, "Getting nid [%d]\n", data->ioc_nal);
+ CDEBUG (D_IOCTL, "Getting nid for nal [%d]\n", data->ioc_nal);
nip = kportal_get_ni (data->ioc_nal);
if (nip == NULL)
void
kpr_upcall (int gw_nalid, ptl_nid_t gw_nid, int alive, time_t when)
{
+ char str[PTL_NALFMT_SIZE];
+
/* May be in arbitrary context */
kpr_upcall_t *u = kmalloc (sizeof (kpr_upcall_t), GFP_ATOMIC);
if (u == NULL) {
- CERROR ("Upcall out of memory: nal %d nid "LPX64" %s\n",
- gw_nalid, gw_nid, alive ? "up" : "down");
+ CERROR ("Upcall out of memory: nal %d nid "LPX64" (%s) %s\n",
+ gw_nalid, gw_nid,
+ portals_nid2str(gw_nalid, gw_nid, str),
+ alive ? "up" : "down");
return;
}
struct timeval now;
struct list_head *e;
struct list_head *n;
+ char str[PTL_NALFMT_SIZE];
CDEBUG (D_NET, "%s notifying [%d] "LPX64": %s\n",
byNal ? "NAL" : "userspace",
if (byNal) {
/* It wasn't userland that notified me... */
- CWARN ("Upcall: NAL %d NID "LPX64" is %s\n",
+ CWARN ("Upcall: NAL %d NID "LPX64" (%s) is %s\n",
gateway_nalid, gateway_nid,
+ portals_nid2str(gateway_nalid, gateway_nid, str),
alive ? "alive" : "dead");
kpr_upcall (gateway_nalid, gateway_nid, alive, when);
} else {
unsigned ping_bulk_magic = PING_BULK_MAGIC;
int rc;
struct timeval tv1, tv2;
+ char str[PTL_NALFMT_SIZE];
+
client->tsk = current;
client->args = args;
- CDEBUG (D_OTHER, "pingcli_setup args: nid "LPX64", \
+ CDEBUG (D_OTHER, "pingcli_setup args: nid "LPX64" (%s), \
nal %d, size %u, count: %u, timeout: %u\n",
- args->ioc_nid, args->ioc_nal, args->ioc_size,
+ args->ioc_nid,
+ portals_nid2str(args->ioc_nal, args->ioc_nid, str),
+ args->ioc_nal, args->ioc_size,
args->ioc_count, args->ioc_timeout);
{
const ptl_handle_ni_t *nip;
unsigned ping_head_magic = PING_HEADER_MAGIC;
+ char str[PTL_NALFMT_SIZE];
int rc;
client->tsk = current;
client->args = args;
- CDEBUG (D_OTHER, "pingcli_setup args: nid "LPX64", \
+ CDEBUG (D_OTHER, "pingcli_setup args: nid "LPX64" (%s), \
nal %d, size %u, count: %u, timeout: %u\n",
- args->ioc_nid, args->ioc_nal, args->ioc_size,
+ args->ioc_nid,
+ portals_nid2str(args->ioc_nid, args->ioc_nal, str),
+ args->ioc_nal, args->ioc_size,
args->ioc_count, args->ioc_timeout);