-/* Copyright (c) 2010-2020. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2010-2021. The SimGrid Team. All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
// find common father
simgrid::instr::Container* father = lowestCommonAncestor(src, dst);
- if (not father) {
- xbt_die("common father unknown, this is a tracing problem");
- }
+ xbt_assert(father, "common father unknown, this is a tracing problem");
// check if we already register this pair (we only need one direction)
std::string aux1 = src->get_name() + dst->get_name();
static void on_host_creation(s4u::Host const& host)
{
+ if (Container::by_name_or_null(host.get_name())) // This host already exists, do nothing
+ return;
+
Container* container = new HostContainer(host, currentContainer.back());
const Container* root = Container::get_root();
double value = action.get_variable()->get_value() * action.get_variable()->get_constraint_weight(i);
/* Beware of composite actions: ptasks put links and cpus together. Extra pb: we cannot dynamic_cast from void* */
kernel::resource::Resource* resource = action.get_variable()->get_constraint(i)->get_id();
- const kernel::resource::Cpu* cpu = dynamic_cast<kernel::resource::Cpu*>(resource);
+ const kernel::resource::CpuImpl* cpu = dynamic_cast<kernel::resource::CpuImpl*>(resource);
if (cpu != nullptr)
resource_set_utilization("HOST", "speed_used", cpu->get_cname(), action.get_category(), value,