A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
plug a bunch of memleaks
[simgrid.git]
/
src
/
kernel
/
routing
/
DragonflyZone.cpp
diff --git
a/src/kernel/routing/DragonflyZone.cpp
b/src/kernel/routing/DragonflyZone.cpp
index
3e68e8e
..
0e11ac4
100644
(file)
--- a/
src/kernel/routing/DragonflyZone.cpp
+++ b/
src/kernel/routing/DragonflyZone.cpp
@@
-138,8
+138,7
@@
void DragonflyZone::createLink(char* id, int numlinks, surf::LinkImpl** linkup,
{
*linkup = nullptr;
*linkdown = nullptr;
- s_sg_platf_link_cbarg_t linkTemplate;
- memset(&linkTemplate, 0, sizeof(linkTemplate));
+ LinkCreationArgs linkTemplate;
linkTemplate.bandwidth = this->cluster_->bw * numlinks;
linkTemplate.latency = this->cluster_->lat;
linkTemplate.policy = this->cluster_->sharing_policy; // sthg to do with that ?
@@
-165,7
+164,6
@@
void DragonflyZone::createLink(char* id, int numlinks, surf::LinkImpl** linkup,
void DragonflyZone::generateLinks()
{
static int uniqueId = 0;
- char* id = nullptr;
surf::LinkImpl* linkup;
surf::LinkImpl* linkdown;
@@
-185,8
+183,9
@@
void DragonflyZone::generateLinks()
static_cast<surf::LinkImpl**>(xbt_malloc0(this->numChassisPerGroup_ * sizeof(surf::LinkImpl*)));
for (unsigned int j = 0; j < numLinksperLink_ * this->numNodesPerBlade_; j += numLinksperLink_) {
- id = bprintf("local_link_from_router_%d_to_node_%d_%d", i, j / numLinksperLink_, uniqueId);
+
char*
id = bprintf("local_link_from_router_%d_to_node_%d_%d", i, j / numLinksperLink_, uniqueId);
this->createLink(id, 1, &linkup, &linkdown);
+ xbt_free(id);
if (this->cluster_->sharing_policy == SURF_LINK_FULLDUPLEX) {
this->routers_[i]->myNodes_[j] = linkup;
this->routers_[i]->myNodes_[j + 1] = linkdown;
@@
-201,8
+200,9
@@
void DragonflyZone::generateLinks()
for (unsigned int i = 0; i < this->numGroups_ * this->numChassisPerGroup_; i++) {
for (unsigned int j = 0; j < this->numBladesPerChassis_; j++) {
for (unsigned int k = j + 1; k < this->numBladesPerChassis_; k++) {
- id = bprintf("green_link_in_chassis_%d_between_routers_%d_and_%d_%d", i % numChassisPerGroup_, j, k, uniqueId);
+
char*
id = bprintf("green_link_in_chassis_%d_between_routers_%d_and_%d_%d", i % numChassisPerGroup_, j, k, uniqueId);
this->createLink(id, this->numLinksGreen_, &linkup, &linkdown);
+ xbt_free(id);
this->routers_[i * numBladesPerChassis_ + j]->greenLinks_[k] = linkup;
this->routers_[i * numBladesPerChassis_ + k]->greenLinks_[j] = linkdown;
uniqueId++;
@@
-215,8
+215,9
@@
void DragonflyZone::generateLinks()
for (unsigned int j = 0; j < this->numChassisPerGroup_; j++) {
for (unsigned int k = j + 1; k < this->numChassisPerGroup_; k++) {
for (unsigned int l = 0; l < this->numBladesPerChassis_; l++) {
- id = bprintf("black_link_in_group_%d_between_chassis_%d_and_%d_blade_%d_%d", i, j, k, l, uniqueId);
+
char*
id = bprintf("black_link_in_group_%d_between_chassis_%d_and_%d_blade_%d_%d", i, j, k, l, uniqueId);
this->createLink(id, this->numLinksBlack_, &linkup, &linkdown);
+ xbt_free(id);
this->routers_[i * numBladesPerChassis_ * numChassisPerGroup_ + j * numBladesPerChassis_ + l]
->blackLinks_[k] = linkup;
this->routers_[i * numBladesPerChassis_ * numChassisPerGroup_ + k * numBladesPerChassis_ + l]
@@
-236,8
+237,9
@@
void DragonflyZone::generateLinks()
unsigned int routernumj = j * numBladesPerChassis_ * numChassisPerGroup_ + i;
this->routers_[routernumi]->blueLinks_ = static_cast<surf::LinkImpl**>(xbt_malloc0(sizeof(surf::LinkImpl*)));
this->routers_[routernumj]->blueLinks_ = static_cast<surf::LinkImpl**>(xbt_malloc0(sizeof(surf::LinkImpl*)));
- id = bprintf("blue_link_between_group_%d_and_%d_routers_%d_and_%d_%d", i, j, routernumi, routernumj, uniqueId);
+
char*
id = bprintf("blue_link_between_group_%d_and_%d_routers_%d_and_%d_%d", i, j, routernumi, routernumj, uniqueId);
this->createLink(id, this->numLinksBlue_, &linkup, &linkdown);
+ xbt_free(id);
this->routers_[routernumi]->blueLinks_[0] = linkup;
this->routers_[routernumj]->blueLinks_[0] = linkdown;
uniqueId++;