X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/e082f5068bf34dbe8b917be567bcf5f4b6776f8f..14dbe48f4f9623cf72fc207b7c2041b9f611972a:/src/surf/host_interface.cpp diff --git a/src/surf/host_interface.cpp b/src/surf/host_interface.cpp index 34db01bf0f..bda8a185db 100644 --- a/src/surf/host_interface.cpp +++ b/src/surf/host_interface.cpp @@ -52,11 +52,9 @@ void HostModel::adjustWeightOfDummyCpuActions() iter != VMModel::ws_vms.end(); ++iter) { VirtualMachine *ws_vm = &*iter; - CpuCas01 *cpu_cas01 = static_cast(ws_vm->p_cpu); - xbt_assert(cpu_cas01, "cpu-less host"); + Cpu *cpu = ws_vm->p_cpu; - int is_active = lmm_constraint_used(cpu_cas01->getModel()->getMaxminSystem(), cpu_cas01->getConstraint()); - // int is_active_old = constraint_is_active(cpu_cas01); + int is_active = lmm_constraint_used(cpu->getModel()->getMaxminSystem(), cpu->getConstraint()); if (is_active) { /* some tasks exist on this VM */ @@ -84,7 +82,7 @@ Action *HostModel::executeParallelTask(int host_nb, Action *action =NULL; if ((host_nb == 1) && (cost_or_zero(bytes_amount, 0) == 0.0)){ - action = host_list[0]->pimpl_cpu->execute(flops_amount[0]); + action = host_list[0]->pimpl_cpu->execution_start(flops_amount[0]); } else if ((host_nb == 1) && (cost_or_zero(flops_amount, 0) == 0.0)) { action = surf_network_model->communicate(host_list[0]->pimpl_netcard, @@ -127,7 +125,7 @@ void Host::classInit() } Host::Host(simgrid::surf::HostModel *model, const char *name, xbt_dict_t props, - xbt_dynar_t storage, Cpu *cpu) + xbt_dynar_t storage, Cpu *cpu) : Resource(model, name) , PropertyHolder(props) , p_storage(storage), p_cpu(cpu) @@ -136,7 +134,7 @@ Host::Host(simgrid::surf::HostModel *model, const char *name, xbt_dict_t props, } Host::Host(simgrid::surf::HostModel *model, const char *name, xbt_dict_t props, lmm_constraint_t constraint, - xbt_dynar_t storage, Cpu *cpu) + xbt_dynar_t storage, Cpu *cpu) : Resource(model, name, constraint) , PropertyHolder(props) , p_storage(storage), p_cpu(cpu) @@ -217,11 +215,11 @@ xbt_dynar_t Host::getAttachedStorageList() xbt_dynar_t result = xbt_dynar_new(sizeof(void*), NULL); xbt_lib_foreach(storage_lib, cursor, key, data) { if(xbt_lib_get_level(xbt_lib_get_elm_or_null(storage_lib, key), SURF_STORAGE_LEVEL) != NULL) { - simgrid::surf::Storage *storage = static_cast(xbt_lib_get_level(xbt_lib_get_elm_or_null(storage_lib, key), SURF_STORAGE_LEVEL)); - if(!strcmp((const char*)storage->p_attach,this->getName())){ - xbt_dynar_push_as(result, void *, (void*)storage->getName()); - } - } + simgrid::surf::Storage *storage = static_cast(xbt_lib_get_level(xbt_lib_get_elm_or_null(storage_lib, key), SURF_STORAGE_LEVEL)); + if(!strcmp((const char*)storage->p_attach,this->getName())){ + xbt_dynar_push_as(result, void *, (void*)storage->getName()); + } + } } return result; } @@ -253,12 +251,12 @@ Action *Host::open(const char* fullpath) { } if(longest_prefix_length>0) { /* Mount point found, split fullpath into mount_name and path+filename*/ - path = (char *) xbt_malloc ((strlen(fullpath)-longest_prefix_length+1)); - mount_name = (char *) xbt_malloc ((longest_prefix_length+1)); - strncpy(mount_name, fullpath, longest_prefix_length+1); - strncpy(path, fullpath+longest_prefix_length, strlen(fullpath)-longest_prefix_length+1); - path[strlen(fullpath)-longest_prefix_length] = '\0'; - mount_name[longest_prefix_length] = '\0'; + path = (char *) xbt_malloc ((strlen(fullpath)-longest_prefix_length+1)); + mount_name = (char *) xbt_malloc ((longest_prefix_length+1)); + strncpy(mount_name, fullpath, longest_prefix_length+1); + strncpy(path, fullpath+longest_prefix_length, strlen(fullpath)-longest_prefix_length+1); + path[strlen(fullpath)-longest_prefix_length] = '\0'; + mount_name[longest_prefix_length] = '\0'; } else xbt_die("Can't find mount point for '%s' on '%s'", fullpath, getName());