X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/38fad1a54be8df52b153c7f9ca4c40ced5dba8c9..30a95d9c54b09486dad30be824b354fb570078b1:/src/msg/host.c diff --git a/src/msg/host.c b/src/msg/host.c index 8e2fd41cdf..ecc5b47adf 100644 --- a/src/msg/host.c +++ b/src/msg/host.c @@ -11,6 +11,10 @@ /** \defgroup m_host_management Management functions of Hosts * \brief This section describes the host structure of MSG + */ + +/** \addtogroup m_host_management + * \htmlonly \endhtmlonly * (#m_host_t) and the functions for managing it. * * A location (or host) is any possible place where @@ -45,7 +49,7 @@ m_host_t __MSG_host_create(const char *name, simdata->process_list = xbt_fifo_new(); /* Update global variables */ - xbt_fifo_push(msg_global->host, host); + xbt_fifo_unshift(msg_global->host, host); PAJE_HOST_NEW(host); @@ -175,7 +179,7 @@ int MSG_get_host_msgload(m_host_t h) } /** \ingroup m_host_management - * \brief Return the speed of the processor (in Mflop/s), regardless of + * \brief Return the speed of the processor (in flop/s), regardless of the current load on the machine. */ double MSG_get_host_speed(m_host_t h) @@ -185,3 +189,22 @@ double MSG_get_host_speed(m_host_t h) return(surf_workstation_resource-> extension_public->get_speed(h->simdata->host,1.0)); } + +/** \ingroup msg_gos_functions + * \brief Determine if a host is available. + * + * \param h host to test + */ +int MSG_host_is_avail (m_host_t h) +{ + e_surf_cpu_state_t cpustate; + xbt_assert0((h!= NULL), "Invalid parameters"); + + cpustate = + surf_workstation_resource->extension_public->get_state(h->simdata->host); + + xbt_assert0((cpustate == SURF_CPU_ON || cpustate == SURF_CPU_OFF), + "Invalid cpu state"); + + return (cpustate==SURF_CPU_ON); +}