summaryrefslogtreecommitdiff
path: root/tools/virtio/Makefile
diff options
context:
space:
mode:
authorRashmica Gupta <rashmica.g@gmail.com>2018-08-10 13:38:36 +1000
committerStephen Rothwell <sfr@canb.auug.org.au>2018-08-15 18:16:55 +1000
commitc7c01e575d75a722edf8f33bac6c61eca3ab3086 (patch)
treebc3cdd4883b9dd97a2df937a5818c45b92b487fa /tools/virtio/Makefile
parentbe51039216fdd84cf6a623df985c06a02f7c020c (diff)
downloadlinux-next-c7c01e575d75a722edf8f33bac6c61eca3ab3086.tar.gz
resource: merge resources on a node when hot-adding memory
When hot-removing memory release_mem_region_adjustable() splits iomem resources if they are not the exact size of the memory being hot-deleted. Adding this memory back to the kernel adds a new resource. Eg a node has memory 0x0 - 0xfffffffff. Offlining and hot-removing 1GB from 0xf40000000 results in the single resource 0x0-0xfffffffff being split into two resources: 0x0-0xf3fffffff and 0xf80000000-0xfffffffff. When we hot-add the memory back we now have three resources: 0x0-0xf3fffffff, 0xf40000000-0xf7fffffff, and 0xf80000000-0xfffffffff. Now if we try to remove some memory that overlaps these resources, like 2GB from 0xf40000000, release_mem_region_adjustable() fails as it expects the chunk of memory to be within the boundaries of a single resource. This patch adds a function request_resource_and_merge(). This is called instead of request_resource_conflict() when registering a resource in add_memory(). It calls request_resource_conflict() and if hot-removing is enabled (if it isn't we won't get resource fragmentation) we attempt to merge contiguous resources on the node. Link: http://lkml.kernel.org/r/20180809025409.31552-1-rashmica.g@gmail.com Signed-off-by: Rashmica Gupta <rashmica.g@gmail.com> Acked-by: Vlastimil Babka <vbabka@suse.cz> Reviewed-by: Mike Rapoport <rppt@linux.vnet.ibm.com> Cc: Toshi Kani <toshi.kani@hpe.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Borislav Petkov <bp@suse.de> Cc: Brijesh Singh <brijesh.singh@amd.com> Cc: Tom Lendacky <thomas.lendacky@amd.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Yaowei Bai <baiyaowei@cmss.chinamobile.com> Cc: Michal Hocko <mhocko@suse.com> Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com> Cc: Mathieu Malaterre <malat@debian.org> Cc: Bjorn Helgaas <bhelgaas@google.com> Cc: <yasu.isimatu@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Diffstat (limited to 'tools/virtio/Makefile')
0 files changed, 0 insertions, 0 deletions