X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/75587e6a0a5f0dd8356a90b67578a3be37d134de..b556a0d912f836b6a661d7d1e1617f9d949e9f98:/src/msg/msg_task.c diff --git a/src/msg/msg_task.c b/src/msg/msg_task.c index d751912436..f995d10d64 100644 --- a/src/msg/msg_task.c +++ b/src/msg/msg_task.c @@ -475,7 +475,34 @@ void MSG_task_set_bound(msg_task_t task, double bound) * * \param task a target task * \param host the host having a multi-core CPU - * \param mask the value specifying the CPU affinity setting of the task + * \param mask the bit mask of a new CPU affinity setting for the task + * + * + * Usage: + * 0. Define a host with multiple cores. + * + * + * 1. Pin a given task to the first CPU core of a host. + * MSG_task_set_affinity(task, pm0, 0x01); + * + * 2. Pin a given task to the third CPU core of a host. Turn on the third bit of the mask. + * MSG_task_set_affinity(task, pm0, 0x04); // 0x04 == 100B + * + * 3. Pin a given VM to the first CPU core of a host. + * MSG_vm_set_affinity(vm, pm0, 0x01); + * + * See examples/msg/cloud/multicore.c for more information. + * + * + * Note: + * 1. The current code does not allow an affinity of a task to multiple cores. + * The mask value 0x03 (i.e., a given task will be executed on the first core + * or the second core) is not allowed. The mask value 0x01 or 0x02 works. See + * cpu_cas01.c for details. + * + * 2. It is recommended to first compare simulation results in both the Lazy + * and Full calculation modes (using --cfg=cpu/optim:Full or not). Fix + * cpu_cas01.c if you find wrong results in the Lazy mode. * */ void MSG_task_set_affinity(msg_task_t task, msg_host_t host, unsigned long mask)