From: Arnaud Giersch Date: Tue, 18 Feb 2014 16:13:03 +0000 (+0100) Subject: Fix some overflows in msg_vm on 32bits archs. X-Git-Tag: v3_11_beta~17 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/fb331c1b87db5b62f64c6d92e1822a67288d04bf?ds=sidebyside Fix some overflows in msg_vm on 32bits archs. --- diff --git a/include/simgrid/datatypes.h b/include/simgrid/datatypes.h index 94e1d6e4c7..006da0af5c 100644 --- a/include/simgrid/datatypes.h +++ b/include/simgrid/datatypes.h @@ -14,7 +14,7 @@ typedef struct ws_params { /* The size of other states than memory pages, which is out-of-scope of dirty * page tracking. */ - long devsize; + sg_size_t devsize; int skip_stage1; int skip_stage2; double max_downtime; diff --git a/src/msg/msg_vm.c b/src/msg/msg_vm.c index cfdd9471ef..a4d0401c28 100644 --- a/src/msg/msg_vm.c +++ b/src/msg/msg_vm.c @@ -184,14 +184,14 @@ msg_vm_t MSG_vm_create(msg_host_t ind_pm, const char *name, msg_vm_t vm = MSG_vm_create_core(ind_pm, name); s_ws_params_t params; memset(¶ms, 0, sizeof(params)); - params.ramsize = 1L * 1024 * 1024 * ramsize; + params.ramsize = (sg_size_t)ramsize * 1024 * 1024; //params.overcommit = 0; params.devsize = 0; params.skip_stage2 = 0; params.max_downtime = 0.03; - params.dp_rate = (update_speed * 1L * 1024 * 1024 ) / host_speed; + params.dp_rate = (update_speed * 1024 * 1024) / host_speed; params.dp_cap = params.ramsize / 0.9; // working set memory is 90% - params.mig_speed = 1L * 1024 * 1024 * mig_netspeed; // mig_speed + params.mig_speed = (double)mig_netspeed * 1024 * 1024; // mig_speed //XBT_INFO("dp rate %f migspeed : %f intensity mem : %d, updatespeed %f, hostspeed %f",params.dp_rate, params.mig_speed, dp_intensity, update_speed, host_speed); simcall_host_set_params(vm, ¶ms); @@ -926,7 +926,7 @@ static int migration_tx_fun(int argc, char *argv[]) s_ws_params_t params; simcall_host_get_params(vm, ¶ms); const sg_size_t ramsize = params.ramsize; - const long devsize = params.devsize; + const sg_size_t devsize = params.devsize; const int skip_stage1 = params.skip_stage1; const int skip_stage2 = params.skip_stage2; const double dp_rate = params.dp_rate;