[libvirt] [PATCH] util: Error out if the numa nodeset is out of range

Osier Yang jyang at redhat.com
Wed Apr 24 08:38:25 UTC 2013


ping.

On 22/04/13 15:14, Osier Yang wrote:
> Instead of a silent warning, it's better to error out if the
> numa nodeset is out of range. Just like for numa node larger
> than NUMA_NUM_NODES.
> ---
>   src/util/virnuma.c | 12 ++++--------
>   1 file changed, 4 insertions(+), 8 deletions(-)
>
> diff --git a/src/util/virnuma.c b/src/util/virnuma.c
> index bace06f..902ed43 100644
> --- a/src/util/virnuma.c
> +++ b/src/util/virnuma.c
> @@ -89,7 +89,6 @@ virNumaSetupMemoryPolicy(virNumaTuneDef numatune,
>       int ret = -1;
>       int i = 0;
>       int maxnode = 0;
> -    bool warned = false;
>       virBitmapPtr tmp_nodemask = NULL;
>   
>       if (numatune.memory.placement_mode ==
> @@ -113,20 +112,17 @@ virNumaSetupMemoryPolicy(virNumaTuneDef numatune,
>       }
>   
>       maxnode = numa_max_node() + 1;
> +
>       /* Convert nodemask to NUMA bitmask. */
>       nodemask_zero(&mask);
>       i = -1;
>       while ((i = virBitmapNextSetBit(tmp_nodemask, i)) >= 0) {
> -        if (i > NUMA_NUM_NODES) {
> +        if (i > maxnode || i > NUMA_NUM_NODES) {
>               virReportError(VIR_ERR_INTERNAL_ERROR,
> -                           _("Host cannot support NUMA node %d"), i);
> +                           _("Nodeset is out of range, host cannot support "
> +                             "NUMA node bigger than %d"), i);
>               return -1;
>           }
> -        if (i > maxnode && !warned) {
> -            VIR_WARN("nodeset is out of range, there is only %d NUMA "
> -                     "nodes on host", maxnode);
> -            warned = true;
> -        }
>           nodemask_set(&mask, i);
>       }
>   




More information about the libvir-list mailing list