On 07/17/2013 08:31 PM, Eric Blake wrote: > On 07/17/2013 03:29 AM, Wanlong Gao wrote: >> The memory policy setting format is like: >> policy={membind|interleave|preferred},host-node=[+|!]{all|N-N} >> And we are adding this setting as a suboption of "-numa mem,", >> the memory policy then can be set like following: >> -numa node,nodeid=0,cpus=0 \ >> -numa node,nodeid=1,cpus=1 \ >> -numa mem,nodeid=0,size=1G,policy=membind,host-nodes=0-1 \ >> -numa mem,nodeid=1,size=1G,policy=interleave,host-nodes=!1 >> >> Reviewed-by: Bandan Das <b...@redhat.com> >> Signed-off-by: Andre Przywara <andre.przyw...@amd.com> >> Signed-off-by: Wanlong Gao <gaowanl...@cn.fujitsu.com> >> --- > >> +++ b/qapi-schema.json >> @@ -3717,9 +3717,15 @@ >> # >> # @size: #optional memory size of this node >> # >> +# @policy: #optional memory policy of this node >> +# >> +# @host-nodes: #optional host nodes for its memory policy >> +# >> # Since 1.6 >> ## >> { 'type': 'NumaMemOptions', >> 'data': { >> '*nodeid': 'int', >> - '*size': 'size' }} >> + '*size': 'size', >> + '*policy': 'str', > > What are the valid values for 'policy'? If it is a finite set, please > make an 'enum' type that lists the valid values, and make this > '*policy':'NumaMemPolicy' rather than a free-form 'str'.
OK, will follow this. Luiz also suggested like this. > >> + '*host-nodes': 'str' }} > > Missing documentation on how this 'str' is formatted, and same concerns > as in 1/12 about whether it is the right JSON representation, or whether > you have crammed too much information into a single string that now > requires post-processing. Why is an array not a better choice? Will try to use array here, thank you for your suggestion. Thanks, Wanlong Gao >