• O
    util: Correct the NUMA node range checking · ae2860b4
    Osier Yang 提交于
    There are 2 issues here: First we shouldn't add "1" to the return
    value of numa_max_node(), since the semanteme of the error message
    was changed, it's not saying about the number of total NUMA nodes
    anymore.  Second, the value of "bit" is the position of the first
    bit which exceeds either numa_max_node() or NUMA_NUM_NODES, it can
    be any number in the range, so saying "bigger than $bit" is quite
    confused now. For example, assuming there is a NUMA machine which
    has 10 NUMA nodes, and one specifies the "nodeset" as "0,5,88",
    the error message will be like:
    
    Nodeset is out of range, host cannot support NUMA node bigger than 88
    
    It sounds like all NUMA node number less than 88 is fine, but
    actually the maximum NUMA node number the machine supports is 9.
    
    This patch fixes the issues by removing the addition with "1" and
    simplifies the error message as "NUMA node $bit is out of range".
    Also simplifies the comparision in the while loop by getting the
    smaller one of numa_max_node() and NUMA_NUM_NODES up front.
    ae2860b4
virnuma.c 9.9 KB