• Boqun Feng's avatar
    Drivers: hv: balloon: Disable balloon and hot-add accordingly · be580279
    Boqun Feng authored
    Currently there are known potential issues for balloon and hot-add on
    ARM64:
    
    *	Unballoon requests from Hyper-V should only unballoon ranges
    	that are guest page size aligned, otherwise guests cannot handle
    	because it's impossible to partially free a page. This is a
    	problem when guest page size > 4096 bytes.
    
    *	Memory hot-add requests from Hyper-V should provide the NUMA
    	node id of the added ranges or ARM64 should have a functional
    	memory_add_physaddr_to_nid(), otherwise the node id is missing
    	for add_memory().
    
    These issues require discussions on design and implementation. In the
    meanwhile, post_status() is working and essential to guest monitoring.
    Therefore instead of disabling the entire hv_balloon driver, the
    ballooning (when page size > 4096 bytes) and hot-add are disabled
    accordingly for now. Once the issues are fixed, they can be re-enable in
    these cases.
    Signed-off-by: default avatarBoqun Feng <boqun.feng@gmail.com>
    Reviewed-by: default avatarMichael Kelley <mikelley@microsoft.com>
    Link: https://lore.kernel.org/r/20220325023212.1570049-3-boqun.feng@gmail.comSigned-off-by: default avatarWei Liu <wei.liu@kernel.org>
    be580279
hv_balloon.c 48.9 KB