Whamcloud - gitweb
git://git.whamcloud.com
/
fs
/
lustre-release.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
LU-5828 lnet: showing buffers problem with mulitple CPTs
[fs/lustre-release.git]
/
lnet
/
utils
/
lnetconfig
/
liblnetconfig.c
diff --git
a/lnet/utils/lnetconfig/liblnetconfig.c
b/lnet/utils/lnetconfig/liblnetconfig.c
index
f96db1b
..
29d286c
100644
(file)
--- a/
lnet/utils/lnetconfig/liblnetconfig.c
+++ b/
lnet/utils/lnetconfig/liblnetconfig.c
@@
-558,7
+558,7
@@
int lustre_lnet_show_net(char *nw, int detail, int seq_no,
*item = NULL, *first_seq = NULL;
int str_buf_len = LNET_MAX_SHOW_NUM_CPT * 2;
char str_buf[str_buf_len];
*item = NULL, *first_seq = NULL;
int str_buf_len = LNET_MAX_SHOW_NUM_CPT * 2;
char str_buf[str_buf_len];
- char *pos
= str_buf
;
+ char *pos;
char err_str[LNET_MAX_STR_LEN];
snprintf(err_str, sizeof(err_str), "\"out of memory\"");
char err_str[LNET_MAX_STR_LEN];
snprintf(err_str, sizeof(err_str), "\"out of memory\"");
@@
-589,6
+589,10
@@
int lustre_lnet_show_net(char *nw, int detail, int seq_no,
goto out;
for (i = 0;; i++) {
goto out;
for (i = 0;; i++) {
+ pos = str_buf;
+
+ memset(buf, 0, sizeof(*data) + sizeof(*net_config));
+
LIBCFS_IOC_INIT_V2(*data, cfg_hdr);
/*
* set the ioc_len to the proper value since INIT assumes
LIBCFS_IOC_INIT_V2(*data, cfg_hdr);
/*
* set the ioc_len to the proper value since INIT assumes
@@
-621,7
+625,13
@@
int lustre_lnet_show_net(char *nw, int detail, int seq_no,
first_seq = item;
if (cYAML_create_string(item,
first_seq = item;
if (cYAML_create_string(item,
- "nid",
+ "net",
+ libcfs_net2str(
+ LNET_NIDNET(data->cfg_nid)))
+ == NULL)
+ goto out;
+
+ if (cYAML_create_string(item, "nid",
libcfs_nid2str(data->cfg_nid)) == NULL)
goto out;
libcfs_nid2str(data->cfg_nid)) == NULL)
goto out;
@@
-678,15
+688,29
@@
int lustre_lnet_show_net(char *nw, int detail, int seq_no,
net_max_tx_credits) == NULL)
goto out;
net_max_tx_credits) == NULL)
goto out;
+ /* out put the CPTs in the format: "[x,x,x,...]" */
+ pos += snprintf(pos, str_buf + str_buf_len - pos, "[");
for (j = 0 ; data->cfg_ncpts > 1 &&
for (j = 0 ; data->cfg_ncpts > 1 &&
- j < data->cfg_ncpts; j++) {
- pos += snprintf(
str_buf
,
+
j < data->cfg_ncpts; j++) {
+ pos += snprintf(
pos
,
str_buf + str_buf_len - pos,
str_buf + str_buf_len - pos,
- " %d", net_config->ni_cpts[j]);
+ "%d", net_config->ni_cpts[j]);
+ if ((j + 1) < data->cfg_ncpts)
+ pos += snprintf(pos,
+ str_buf +
+ str_buf_len - pos,
+ ",");
}
}
+ if (str_buf + str_buf_len - pos <= 0)
+ pos += snprintf(str_buf + str_buf_len - 2,
+ 2, "]");
+ else
+ pos += snprintf(pos,
+ str_buf + str_buf_len - pos,
+ "]");
if (data->cfg_ncpts > 1 &&
if (data->cfg_ncpts > 1 &&
- cYAML_create_string(tunables, "CPT
s
",
+ cYAML_create_string(tunables, "CPT",
str_buf) == NULL)
goto out;
}
str_buf) == NULL)
goto out;
}
@@
-814,7
+838,7
@@
int lustre_lnet_show_routing(int seq_no, struct cYAML **show_rc,
struct cYAML *root = NULL, *pools_node = NULL,
*type_node = NULL, *item = NULL, *cpt = NULL,
*first_seq = NULL;
struct cYAML *root = NULL, *pools_node = NULL,
*type_node = NULL, *item = NULL, *cpt = NULL,
*first_seq = NULL;
- int i;
+ int i
, j
;
char err_str[LNET_MAX_STR_LEN];
char node_name[LNET_MAX_STR_LEN];
char err_str[LNET_MAX_STR_LEN];
char node_name[LNET_MAX_STR_LEN];
@@
-859,24
+883,24
@@
int lustre_lnet_show_routing(int seq_no, struct cYAML **show_rc,
goto out;
/* create the tree and print */
goto out;
/* create the tree and print */
- for (
i = 0; i < LNET_NRBPOOLS; i
++) {
- type_node = cYAML_create_object(cpt, pools[
i
]);
+ for (
j = 0; j < LNET_NRBPOOLS; j
++) {
+ type_node = cYAML_create_object(cpt, pools[
j
]);
if (type_node == NULL)
goto out;
if (cYAML_create_number(type_node, "npages",
if (type_node == NULL)
goto out;
if (cYAML_create_number(type_node, "npages",
- pool_cfg->pl_pools[
i
].pl_npages)
+ pool_cfg->pl_pools[
j
].pl_npages)
== NULL)
goto out;
if (cYAML_create_number(type_node, "nbuffers",
== NULL)
goto out;
if (cYAML_create_number(type_node, "nbuffers",
- pool_cfg->pl_pools[
i
].
+ pool_cfg->pl_pools[
j
].
pl_nbuffers) == NULL)
goto out;
if (cYAML_create_number(type_node, "credits",
pl_nbuffers) == NULL)
goto out;
if (cYAML_create_number(type_node, "credits",
- pool_cfg->pl_pools[
i
].
+ pool_cfg->pl_pools[
j
].
pl_credits) == NULL)
goto out;
if (cYAML_create_number(type_node, "mincredits",
pl_credits) == NULL)
goto out;
if (cYAML_create_number(type_node, "mincredits",
- pool_cfg->pl_pools[
i
].
+ pool_cfg->pl_pools[
j
].
pl_mincredits) == NULL)
goto out;
}
pl_mincredits) == NULL)
goto out;
}
@@
-1243,7
+1267,7
@@
static int handle_yaml_config_net(struct cYAML *tree, struct cYAML **show_rc,
peer_buf_cr = cYAML_get_object_item(tunables,
"peer_buffer_credits");
credits = cYAML_get_object_item(tunables, "credits");
peer_buf_cr = cYAML_get_object_item(tunables,
"peer_buffer_credits");
credits = cYAML_get_object_item(tunables, "credits");
- smp = cYAML_get_object_item(tunables, "
SMP
");
+ smp = cYAML_get_object_item(tunables, "
CPT
");
}
seq_no = cYAML_get_object_item(tree, "seq_no");
}
seq_no = cYAML_get_object_item(tree, "seq_no");