From 2d5a5be114ae51ac4375bd7a9a2f0e9a49d7ce41 Mon Sep 17 00:00:00 2001 From: Sean Hefty Date: Thu, 30 Jun 2011 10:04:59 -0700 Subject: [PATCH] refresh (create temporary patch) --- meta | 5 +- patches/refresh-temp | 311 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 314 insertions(+), 2 deletions(-) create mode 100644 patches/refresh-temp diff --git a/meta b/meta index b12e913..22ab91f 100644 --- a/meta +++ b/meta @@ -1,11 +1,12 @@ Version: 1 -Previous: 1f3b90234c47bb978b3b9887415b6f258e496939 -Head: 2b466e4ca997a0ee56e896ca53a6df1489686510 +Previous: c2ad9d16c2a4ff7db6e3b16ea82038fd96f5b10b +Head: 0bbf4d90dc6facd07963298891e52ce7cea29b94 Applied: deam: 3eb8f395f9a52f04c5b408812e743566e6d673fe braces: b6e7734ccc3d5e6103ae137025ec71b6bea39a63 counters: ff3d79a44beb17d1ba7e3eb724de877ae0eeebb5 bld: 2b466e4ca997a0ee56e896ca53a6df1489686510 + refresh-temp: 0bbf4d90dc6facd07963298891e52ce7cea29b94 Unapplied: acm1.0.5: 1b225173756cfcec4d81d26b1160ebae7644261b name2ip: 8e00708e882239292492e13aa51c82042255933c diff --git a/patches/refresh-temp b/patches/refresh-temp new file mode 100644 index 0000000..588e992 --- /dev/null +++ b/patches/refresh-temp @@ -0,0 +1,311 @@ +Bottom: 4d626bd014913aeb6c868bd83ce47c342b7512a2 +Top: 53ca218735ea10a919e7a5cd4f7e3b2638e7713e +Author: Sean Hefty +Date: 2011-06-30 10:04:59 -0700 + +Refresh of bld + +--- + +diff --git a/src/acm.c b/src/acm.c +index 54b2411..2b77081 100644 +--- a/src/acm.c ++++ b/src/acm.c +@@ -403,7 +403,7 @@ static void acm_release_sa_dest(struct acm_dest *dest) + //} + + static struct acm_request * +-acm_alloc_req(struct acm_client *client, struct acm_resolve_msg *msg) ++acm_alloc_req(struct acm_client *client, struct acm_msg *msg) + { + struct acm_request *req; + +@@ -999,11 +999,10 @@ acm_send_addr_resp(struct acm_ep *ep, struct acm_dest *dest) + } + + static int +-acm_client_resolve_resp(struct acm_client *client, struct acm_resolve_msg *req_msg, ++acm_client_resolve_resp(struct acm_client *client, struct acm_msg *req_msg, + struct acm_dest *dest, uint8_t status) + { + struct acm_msg msg; +- struct acm_resolve_msg *resp_msg = (struct acm_resolve_msg *) &msg; + int ret; + + acm_log(2, "client %d, status 0x%x\n", client->index, status); +@@ -1021,28 +1020,28 @@ acm_client_resolve_resp(struct acm_client *client, struct acm_resolve_msg *req_m + goto release; + } + +- resp_msg->hdr = req_msg->hdr; +- resp_msg->hdr.opcode |= ACM_OP_ACK; +- resp_msg->hdr.status = status; +- resp_msg->hdr.length = ACM_MSG_HDR_LENGTH; +- memset(resp_msg->hdr.data, 0, sizeof(resp_msg->hdr.data)); ++ msg.hdr = req_msg->hdr; ++ msg.hdr.opcode |= ACM_OP_ACK; ++ msg.hdr.status = status; ++ msg.hdr.length = ACM_MSG_HDR_LENGTH; ++ memset(msg.hdr.data, 0, sizeof(msg.hdr.data)); + + if (status == ACM_STATUS_SUCCESS) { +- resp_msg->hdr.length += ACM_MSG_EP_LENGTH; +- resp_msg->data[0].flags = IBV_PATH_FLAG_GMP | ++ msg.hdr.length += ACM_MSG_EP_LENGTH; ++ msg.resolve_data[0].flags = IBV_PATH_FLAG_GMP | + IBV_PATH_FLAG_PRIMARY | IBV_PATH_FLAG_BIDIRECTIONAL; +- resp_msg->data[0].type = ACM_EP_INFO_PATH; +- resp_msg->data[0].info.path = dest->path; ++ msg.resolve_data[0].type = ACM_EP_INFO_PATH; ++ msg.resolve_data[0].info.path = dest->path; + + if (req_msg->hdr.src_out) { +- resp_msg->hdr.length += ACM_MSG_EP_LENGTH; +- memcpy(&resp_msg->data[1], &req_msg->data[req_msg->hdr.src_out], ++ msg.hdr.length += ACM_MSG_EP_LENGTH; ++ memcpy(&msg.resolve_data[1], &msg.resolve_data[req_msg->hdr.src_out], + ACM_MSG_EP_LENGTH); + } + } + +- ret = send(client->sock, (char *) resp_msg, resp_msg->hdr.length, 0); +- if (ret != resp_msg->hdr.length) ++ ret = send(client->sock, (char *) &msg, msg.hdr.length, 0); ++ if (ret != msg.hdr.length) + acm_log(0, "ERROR - failed to send response\n"); + else + ret = 0; +@@ -1067,8 +1066,7 @@ acm_complete_queued_req(struct acm_dest *dest, uint8_t status) + lock_release(&dest->lock); + + acm_log(2, "completing request, client %d\n", req->client->index); +- acm_client_resolve_resp(req->client, +- (struct acm_resolve_msg *) &req->msg, dest, status); ++ acm_client_resolve_resp(req->client, &req->msg, dest, status); + acm_free_req(req); + + lock_acquire(&dest->lock); +@@ -1279,8 +1277,7 @@ static void acm_process_acm_recv(struct acm_ep *ep, struct ibv_wc *wc, struct ac + } + + static int +-acm_client_query_resp(struct acm_client *client, +- struct acm_resolve_msg *msg, uint8_t status) ++acm_client_query_resp(struct acm_client *client, struct acm_msg *msg, uint8_t status) + { + int ret; + +@@ -1310,20 +1307,19 @@ static void + acm_client_sa_resp(struct acm_send_msg *msg, struct ibv_wc *wc, struct acm_mad *mad) + { + struct acm_request *req = (struct acm_request *) msg->context; +- struct acm_resolve_msg *client_req = (struct acm_resolve_msg *) &req->msg; + struct ib_sa_mad *sa_mad = (struct ib_sa_mad *) mad; + uint8_t status; + + if (mad) { + status = (uint8_t) (ntohs(sa_mad->status) >> 8); +- memcpy(&client_req->data[0].info.path, sa_mad->data, ++ memcpy(&req->msg.resolve_data[0].info.path, sa_mad->data, + sizeof(struct ibv_path_record)); + } else { + status = ACM_STATUS_ETIMEDOUT; + } + acm_log(2, "status 0x%x\n", status); + +- acm_client_query_resp(req->client, client_req, status); ++ acm_client_query_resp(req->client, &req->msg, status); + acm_free_req(req); + } + +@@ -1809,7 +1805,7 @@ acm_get_ep(struct acm_ep_addr_data *data) + } + + static int +-acm_svr_query_path(struct acm_client *client, struct acm_resolve_msg *msg) ++acm_svr_query_path(struct acm_client *client, struct acm_msg *msg) + { + struct acm_request *req; + struct acm_send_msg *sa_msg; +@@ -1824,7 +1820,7 @@ acm_svr_query_path(struct acm_client *client, struct acm_resolve_msg *msg) + goto resp; + } + +- ep = acm_get_ep(&msg->data[0]); ++ ep = acm_get_ep(&msg->resolve_data[0]); + if (!ep) { + acm_log(1, "notice - could not find local end point\n"); + status = ACM_STATUS_ESRCADDR; +@@ -1855,8 +1851,8 @@ acm_svr_query_path(struct acm_client *client, struct acm_resolve_msg *msg) + mad = (struct ib_sa_mad *) sa_msg->data; + acm_init_path_query(mad); + +- memcpy(mad->data, &msg->data[0].info.path, sizeof(struct ibv_path_record)); +- mad->comp_mask = acm_path_comp_mask(&msg->data[0].info.path); ++ memcpy(mad->data, &msg->resolve_data[0].info.path, sizeof(struct ibv_path_record)); ++ mad->comp_mask = acm_path_comp_mask(&msg->resolve_data[0].info.path); + + atomic_inc(&counter[ACM_CNTR_ROUTE_QUERY]); + acm_post_send(&ep->sa_queue, sa_msg); +@@ -1980,7 +1976,7 @@ out: + * and we'll resolve a source address later. + */ + static uint8_t +-acm_svr_verify_resolve(struct acm_resolve_msg *msg, ++acm_svr_verify_resolve(struct acm_msg *msg, + struct acm_ep_addr_data **saddr, struct acm_ep_addr_data **daddr) + { + struct acm_ep_addr_data *src = NULL, *dst = NULL; +@@ -1993,27 +1989,29 @@ acm_svr_verify_resolve(struct acm_resolve_msg *msg, + + cnt = (msg->hdr.length - ACM_MSG_HDR_LENGTH) / ACM_MSG_EP_LENGTH; + for (i = 0; i < cnt; i++) { +- if (msg->data[i].flags & ACM_EP_FLAG_SOURCE) { ++ if (msg->resolve_data[i].flags & ACM_EP_FLAG_SOURCE) { + if (src) { + acm_log(0, "ERROR - multiple sources specified\n"); + return ACM_STATUS_ESRCADDR; + } +- if (!msg->data[i].type || (msg->data[i].type >= ACM_ADDRESS_RESERVED)) { ++ if (!msg->resolve_data[i].type || ++ (msg->resolve_data[i].type >= ACM_ADDRESS_RESERVED)) { + acm_log(0, "ERROR - unsupported source address type\n"); + return ACM_STATUS_ESRCTYPE; + } +- src = &msg->data[i]; ++ src = &msg->resolve_data[i]; + } +- if (msg->data[i].flags & ACM_EP_FLAG_DEST) { ++ if (msg->resolve_data[i].flags & ACM_EP_FLAG_DEST) { + if (dst) { + acm_log(0, "ERROR - multiple destinations specified\n"); + return ACM_STATUS_EDESTADDR; + } +- if (!msg->data[i].type || (msg->data[i].type >= ACM_ADDRESS_RESERVED)) { ++ if (!msg->resolve_data[i].type || ++ (msg->resolve_data[i].type >= ACM_ADDRESS_RESERVED)) { + acm_log(0, "ERROR - unsupported destination address type\n"); + return ACM_STATUS_EDESTTYPE; + } +- dst = &msg->data[i]; ++ dst = &msg->resolve_data[i]; + } + } + +@@ -2024,7 +2022,7 @@ acm_svr_verify_resolve(struct acm_resolve_msg *msg, + + if (!src) { + msg->hdr.src_out = i; +- src = &msg->data[i]; ++ src = &msg->resolve_data[i]; + memset(src, 0, sizeof *src); + } + *saddr = src; +@@ -2035,7 +2033,7 @@ acm_svr_verify_resolve(struct acm_resolve_msg *msg, + /* Caller must hold dest lock */ + static uint8_t + acm_svr_queue_req(struct acm_dest *dest, struct acm_client *client, +- struct acm_resolve_msg *msg) ++ struct acm_msg *msg) + { + struct acm_request *req; + +@@ -2050,7 +2048,7 @@ acm_svr_queue_req(struct acm_dest *dest, struct acm_client *client, + } + + static int +-acm_svr_resolve_dest(struct acm_client *client, struct acm_resolve_msg *msg) ++acm_svr_resolve_dest(struct acm_client *client, struct acm_msg *msg) + { + struct acm_ep *ep; + struct acm_dest *dest; +@@ -2141,7 +2139,7 @@ put: + * lookup the destination by either LID or GID. + */ + static int +-acm_svr_resolve_path(struct acm_client *client, struct acm_resolve_msg *msg) ++acm_svr_resolve_path(struct acm_client *client, struct acm_msg *msg) + { + struct acm_ep *ep; + struct acm_dest *dest; +@@ -2156,22 +2154,22 @@ acm_svr_resolve_path(struct acm_client *client, struct acm_resolve_msg *msg) + return acm_client_resolve_resp(client, msg, NULL, ACM_STATUS_EINVAL); + } + +- path = &msg->data[0].info.path; ++ path = &msg->resolve_data[0].info.path; + if (!path->dlid && ib_any_gid(&path->dgid)) { + acm_log(0, "notice - no destination specified\n"); + return acm_client_resolve_resp(client, msg, NULL, ACM_STATUS_EDESTADDR); + } + + acm_format_name(2, log_data, sizeof log_data, +- ACM_EP_INFO_PATH, msg->data[0].info.addr, sizeof *path); ++ ACM_EP_INFO_PATH, msg->resolve_data[0].info.addr, sizeof *path); + acm_log(2, "path %s\n", log_data); +- ep = acm_get_ep(&msg->data[0]); ++ ep = acm_get_ep(&msg->resolve_data[0]); + if (!ep) { + acm_log(0, "notice - unknown local end point\n"); + return acm_client_resolve_resp(client, msg, NULL, ACM_STATUS_ESRCADDR); + } + +- addr = msg->data[1].info.addr; ++ addr = msg->resolve_data[1].info.addr; + memset(addr, 0, ACM_MAX_ADDRESS); + if (path->dlid) { + * ((uint16_t *) addr) = path->dlid; +@@ -2204,7 +2202,7 @@ acm_svr_resolve_path(struct acm_client *client, struct acm_resolve_msg *msg) + } + /* fall through */ + default: +- if (msg->data[0].flags & ACM_FLAGS_NODELAY) { ++ if (msg->resolve_data[0].flags & ACM_FLAGS_NODELAY) { + acm_log(2, "lookup initiated, but client wants no delay\n"); + status = ACM_STATUS_ENODATA; + break; +@@ -2224,10 +2222,10 @@ put: + return ret; + } + +-static int acm_svr_resolve(struct acm_client *client, struct acm_resolve_msg *msg) ++static int acm_svr_resolve(struct acm_client *client, struct acm_msg *msg) + { +- if (msg->data[0].type == ACM_EP_INFO_PATH) { +- if (msg->data[0].flags & ACM_FLAGS_QUERY_SA) { ++ if (msg->resolve_data[0].type == ACM_EP_INFO_PATH) { ++ if (msg->resolve_data[0].flags & ACM_FLAGS_QUERY_SA) { + return acm_svr_query_path(client, msg); + } else { + return acm_svr_resolve_path(client, msg); +@@ -2237,7 +2235,7 @@ static int acm_svr_resolve(struct acm_client *client, struct acm_resolve_msg *ms + } + } + +-static int acm_svr_perf_query(struct acm_client *client, struct acm_perf_msg *msg) ++static int acm_svr_perf_query(struct acm_client *client, struct acm_msg *msg) + { + int ret, i; + +@@ -2250,7 +2248,7 @@ static int acm_svr_perf_query(struct acm_client *client, struct acm_perf_msg *ms + msg->hdr.length = ACM_MSG_HDR_LENGTH + (ACM_MAX_COUNTER * sizeof(uint64_t)); + + for (i = 0; i < ACM_MAX_COUNTER; i++) +- msg->data[i] = (uint64_t) atomic_get(&counter[i]); ++ msg->perf_data[i] = (uint64_t) atomic_get(&counter[i]); + + ret = send(client->sock, (char *) msg, msg->hdr.length, 0); + if (ret != msg->hdr.length) +@@ -2282,10 +2280,10 @@ static void acm_svr_receive(struct acm_client *client) + switch (msg.hdr.opcode & ACM_OP_MASK) { + case ACM_OP_RESOLVE: + atomic_inc(&counter[ACM_CNTR_RESOLVE]); +- ret = acm_svr_resolve(client, (struct acm_resolve_msg *) &msg); ++ ret = acm_svr_resolve(client, &msg); + break; + case ACM_OP_PERF_QUERY: +- ret = acm_svr_perf_query(client, (struct acm_perf_msg *) &msg); ++ ret = acm_svr_perf_query(client, &msg); + break; + default: + acm_log(0, "ERROR - unknown opcode 0x%x\n", msg.hdr.opcode); -- 2.46.0