double m_speedScale; /*< Percentage of CPU available according to the trace, in [O,1] */
simgrid::Host* m_host = nullptr;
+ simgrid::Host* getHost() { return m_host; }
+
/* Note (hypervisor): */
lmm_constraint_t *p_constraintCore=NULL;
void **p_constraintCoreId=NULL;
void getParams(vm_params_t params);
/** @brief Sets the params of that VM/PM */
void setParams(vm_params_t params);
+ simgrid::Host* getHost() { return p_host; }
private:
s_vm_params_t p_params;
};
double *flops_amount = xbt_new0(double, 1);
double *bytes_amount = xbt_new0(double, 1);
- host_list[0] = sg_host_by_name(getName());
+ host_list[0] = getHost();
flops_amount[0] = size;
return static_cast<CpuL07Model*>(getModel())
{
const char* id = host->getName();
XBT_DEBUG("NS3_ADD_HOST '%s'", id);
- simgrid::Host::by_name_or_create(id)->set_facet(NS3_HOST_LEVEL, ns3_add_host(id));
+ host->getHost()->set_facet(NS3_HOST_LEVEL, ns3_add_host(id));
}
static void parse_ns3_add_link(sg_platf_link_cbarg_t link)
}
void surf_vm_destroy(sg_host_t resource){
- /* Before clearing the entries in host_lib, we have to pick up resources. */
- const char* name = resource->id().c_str();
/* We deregister objects from host_lib, without invoking the freeing callback
* of each level.
*
*/
sg_host_surfcpu_destroy(resource);
sg_host_edge_destroy(resource,1);
- // TODO, use backlink from simgrid::surf::Host to simgrid::Host
- simgrid::Host::by_name_or_null(name)->set_facet((simgrid::surf::Host*)nullptr);
+ resource->set_facet<simgrid::surf::Host>(nullptr);
/* TODO: comment out when VM storage is implemented. */
// host->set_facet(SURF_STORAGE_LEVEL, nullptr);
SURF_NETWORK_ELEMENT_HOST,
current_routing);
routingEdge->setId(current_routing->parsePU(routingEdge));
- sg_host_edge_set(sg_host_by_name_or_create(host->id), routingEdge);
+ sg_host_t h = sg_host_by_name_or_create(host->id);
+ sg_host_edge_set(h, routingEdge);
XBT_DEBUG("Having set name '%s' id '%d'", host->id, routingEdge->getId());
simgrid::surf::routingEdgeCreatedCallbacks(routingEdge);
}
xbt_dynar_shrink(ctn, 0);
xbt_dynar_free(&ctn_str);
- simgrid::Host::by_name_or_create(host->id)->set_facet(COORD_HOST_LEVEL, (void *) ctn);
+ h->set_facet(COORD_HOST_LEVEL, (void *) ctn);
XBT_DEBUG("Having set host coordinates for '%s'",host->id);
}
**/
sg_host_t VirtualMachine::getPm()
{
- return simgrid::Host::by_name_or_null(p_subWs->getName());
+ return p_subWs->getHost();
}
/**********
**/
sg_host_t VMHL13::getPm()
{
- // TODO, store pointer to the PM?
- return simgrid::Host::by_name_or_null(p_subWs->getName());
+ return p_subWs->getHost();
}
/* Adding a task to a VM updates the VCPU task on its physical machine. */