[Pkg-ofed-commits] [perftest] 01/06: Imported Upstream version 3.0+0.18.gb464d59
Ana Beatriz Guerrero López
ana at moszumanska.debian.org
Wed Mar 30 07:43:27 UTC 2016
This is an automated email from the git hooks/post-receive script.
ana pushed a commit to branch master
in repository perftest.
commit 888f64480ac1e9c6a8fa95717d4ba669e09fdeff
Author: Ana Beatriz Guerrero Lopez <ana at debian.org>
Date: Wed Mar 30 09:22:20 2016 +0200
Imported Upstream version 3.0+0.18.gb464d59
---
perftest.spec | 4 ++--
src/perftest_parameters.c | 27 ++++++++++++++++++++++++---
src/perftest_parameters.h | 1 +
src/perftest_resources.c | 12 +++++++++++-
src/raw_ethernet_resources.c | 26 ++------------------------
5 files changed, 40 insertions(+), 30 deletions(-)
diff --git a/perftest.spec b/perftest.spec
index a087377..5e1b0f6 100644
--- a/perftest.spec
+++ b/perftest.spec
@@ -1,10 +1,10 @@
Name: perftest
Summary: IB Performance tests
Version: 3.0
-Release: 0.16.gb2f2e82
+Release: 0.18.gb464d59
License: BSD 3-Clause, GPL v2 or later
Group: Productivity/Networking/Diagnostic
-Source: http://www.openfabrics.org/downloads/perftest-3.0-0.16.gb2f2e82.tar.gz
+Source: http://www.openfabrics.org/downloads/perftest-3.0-0.18.gb464d59.tar.gz
Url: http://www.openfabrics.org
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: libibverbs-devel librdmacm-devel libibumad-devel
diff --git a/src/perftest_parameters.c b/src/perftest_parameters.c
index 66d4e19..41b963f 100755
--- a/src/perftest_parameters.c
+++ b/src/perftest_parameters.c
@@ -222,8 +222,13 @@ static void usage(const char *argv0, VerbType verb, TestType tst, int connection
printf(" Post list of WQEs of <list size> size (instead of single post)\n");
}
- printf(" -m, --mtu=<mtu> ");
- printf(" Mtu size : 256 - 4096 (default port mtu)\n");
+ if (connection_type == RawEth) {
+ printf(" -m, --mtu=<mtu> ");
+ printf(" Mtu size : 64 - 9600 (default port mtu)\n");
+ } else {
+ printf(" -m, --mtu=<mtu> ");
+ printf(" Mtu size : 256 - 4096 (default port mtu)\n");
+ }
if (verb == SEND) {
printf(" -M, --MGID=<multicast_gid> ");
@@ -376,6 +381,9 @@ static void usage(const char *argv0, VerbType verb, TestType tst, int connection
printf(" --retry_count=<value> ");
printf(" Set retry count value in rdma_cm mode\n");
+ printf(" --tclass=<value> ");
+ printf(" Set the Traffic Class in GRH (if GRH is in use)\n");
+
#ifdef HAVE_CUDA
printf(" --use_cuda ");
printf(" Use CUDA lib for GPU-Direct testing.\n");
@@ -416,7 +424,7 @@ void usage_raw_ethernet()
{
printf(" Raw Ethernet options :\n");
printf(" -B, --source_mac ");
- printf(" source MAC address by this format XX:XX:XX:XX:XX:XX (default take the MAC address form GID)\n");
+ printf(" source MAC address by this format XX:XX:XX:XX:XX:XX **MUST** be entered \n");
printf(" -E, --dest_mac ");
printf(" destination MAC address by this format XX:XX:XX:XX:XX:XX **MUST** be entered \n");
@@ -555,6 +563,7 @@ static void init_perftest_params(struct perftest_parameters *user_param)
user_param->use_res_domain = 0;
user_param->mr_per_qp = 0;
user_param->dlid = 0;
+ user_param->traffic_class = 0;
}
/******************************************************************************
@@ -822,6 +831,12 @@ static void force_dependecies(struct perftest_parameters *user_param)
exit(1);
}
+ if(user_param->is_source_mac == OFF) {
+ printf(RESULT_LINE);
+ fprintf(stderr," Invalid Command line.\n you must enter source mac by this format -B XX:XX:XX:XX:XX:XX\n");
+ exit(1);
+ }
+
if(user_param->machine == CLIENT && user_param->is_dest_mac == OFF && !user_param->raw_mcast) {
printf(RESULT_LINE);
fprintf(stderr," Invalid Command line.\n you must enter dest mac by this format -E XX:XX:XX:XX:XX:XX\n");
@@ -1339,6 +1354,7 @@ int parser(struct perftest_parameters *user_param,char *argv[], int argc)
static int use_res_domain_flag = 0;
static int mr_per_qp_flag = 0;
static int dlid_flag = 0;
+ static int tclass_flag = 0;
init_perftest_params(user_param);
@@ -1429,6 +1445,7 @@ int parser(struct perftest_parameters *user_param,char *argv[], int argc)
#endif
{ .name = "mr_per_qp", .has_arg = 0, .flag = &mr_per_qp_flag, .val = 1},
{ .name = "dlid", .has_arg = 1, .flag = &dlid_flag, .val = 1},
+ { .name = "tclass", .has_arg = 1, .flag = &tclass_flag, .val = 1},
{ 0 }
};
c = getopt_long(argc,argv,"w:y:p:d:i:m:s:n:t:u:S:x:c:q:I:o:M:r:Q:A:l:D:f:B:T:E:J:j:K:k:aFegzRvhbNVCHUOZP",long_options,NULL);
@@ -1741,6 +1758,10 @@ int parser(struct perftest_parameters *user_param,char *argv[], int argc)
user_param->dlid = (uint16_t)strtol(optarg, NULL, 0);
dlid_flag = 0;
}
+ if (tclass_flag) {
+ user_param->traffic_class = (uint16_t)strtol(optarg, NULL, 0);
+ tclass_flag = 0;
+ }
break;
default:
diff --git a/src/perftest_parameters.h b/src/perftest_parameters.h
index fa9d4d8..e9d28fa 100755
--- a/src/perftest_parameters.h
+++ b/src/perftest_parameters.h
@@ -417,6 +417,7 @@ struct perftest_parameters {
int use_res_domain;
int mr_per_qp;
uint16_t dlid;
+ uint8_t traffic_class;
};
struct report_options {
diff --git a/src/perftest_resources.c b/src/perftest_resources.c
index 71a1541..2c42700 100755
--- a/src/perftest_resources.c
+++ b/src/perftest_resources.c
@@ -1119,6 +1119,7 @@ struct ibv_exp_res_domain* create_res_domain(struct pingpong_context *ctx, struc
******************************************************************************/
int create_single_mr(struct pingpong_context *ctx, struct perftest_parameters *user_param, int qp_index)
{
+ int i;
int flags = IBV_ACCESS_LOCAL_WRITE;
#ifdef HAVE_VERBS_EXP
@@ -1224,6 +1225,13 @@ int create_single_mr(struct pingpong_context *ctx, struct perftest_parameters *u
if (ctx->is_contig_supported == SUCCESS)
ctx->buf[qp_index] = ctx->mr[qp_index]->addr;
+
+ /* Initialize buffer with random numbers */
+ srand(time(NULL));
+ for (i = 0; i < ctx->buff_size; i++) {
+ ((char*)ctx->buf[qp_index])[i] = (char)rand();
+ }
+
return 0;
}
@@ -1938,6 +1946,7 @@ static int ctx_modify_dc_qp_to_rtr(struct ibv_qp *qp,
attr->ah_attr.grh.dgid = dest->gid;
attr->ah_attr.grh.sgid_index = user_param->gid_index;
attr->ah_attr.grh.hop_limit = 1;
+ attr->ah_attr.grh.traffic_class = user_param->traffic_class;
attr->ah_attr.sl = 0;
}
@@ -2000,7 +2009,8 @@ static int ctx_modify_qp_to_rtr(struct ibv_qp *qp,
attr->ah_attr.is_global = 1;
attr->ah_attr.grh.dgid = dest->gid;
attr->ah_attr.grh.sgid_index = (attr->ah_attr.port_num == user_param->ib_port) ? user_param->gid_index : user_param->gid_index2;
- attr->ah_attr.grh.hop_limit = 1;
+ attr->ah_attr.grh.hop_limit = 0xFF;
+ attr->ah_attr.grh.traffic_class = user_param->traffic_class;
}
if (user_param->connection_type != UD) {
diff --git a/src/raw_ethernet_resources.c b/src/raw_ethernet_resources.c
index e87654d..1d92115 100755
--- a/src/raw_ethernet_resources.c
+++ b/src/raw_ethernet_resources.c
@@ -74,19 +74,6 @@ int check_flow_steering_support(char *dev_name)
return 0;
}
-
-/******************************************************************************
- *
- ******************************************************************************/
-static void mac_from_gid(uint8_t *mac, uint8_t *gid, uint32_t port)
-{
- memcpy(mac, gid + 8, 3);
- memcpy(mac + 3, gid + 13, 3);
- if(port==1) {
- mac[0] ^= 2;
- }
-}
-
/******************************************************************************
*
******************************************************************************/
@@ -562,11 +549,7 @@ int send_set_up_connection(
spec_info->eth.val.ether_type = 0;
- if(user_param->is_source_mac) {
- mac_from_user(spec_info->eth.val.dst_mac , &(user_param->source_mac[0]) , sizeof(user_param->source_mac));
- } else {
- mac_from_gid(spec_info->eth.val.dst_mac, temp_gid.raw, user_param->ib_port);
- }
+ mac_from_user(spec_info->eth.val.dst_mac , &(user_param->source_mac[0]) , sizeof(user_param->source_mac));
memset(spec_info->eth.mask.dst_mac, 0xFF,sizeof(spec_info->eth.mask.src_mac));
if(user_param->is_server_ip || user_param->is_client_ip) {
@@ -633,12 +616,7 @@ int send_set_up_connection(
if (user_param->machine == CLIENT || user_param->duplex) {
/* set source mac */
- if(user_param->is_source_mac) {
- mac_from_user(my_dest_info->mac , &(user_param->source_mac[0]) , sizeof(user_param->source_mac) );
-
- } else {
- mac_from_gid(my_dest_info->mac, temp_gid.raw, user_param->ib_port);
- }
+ mac_from_user(my_dest_info->mac , &(user_param->source_mac[0]) , sizeof(user_param->source_mac) );
/* set dest mac */
mac_from_user(rem_dest_info->mac , &(user_param->dest_mac[0]) , sizeof(user_param->dest_mac) );
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ofed/perftest.git
More information about the Pkg-ofed-commits
mailing list