• D
    mm/memory_hotplug: MEMHP_MERGE_RESOURCE to specify merging of System RAM resources · 9ca6551e
    David Hildenbrand 提交于
    Some add_memory*() users add memory in small, contiguous memory blocks.
    Examples include virtio-mem, hyper-v balloon, and the XEN balloon.
    
    This can quickly result in a lot of memory resources, whereby the actual
    resource boundaries are not of interest (e.g., it might be relevant for
    DIMMs, exposed via /proc/iomem to user space).  We really want to merge
    added resources in this scenario where possible.
    
    Let's provide a flag (MEMHP_MERGE_RESOURCE) to specify that a resource
    either created within add_memory*() or passed via add_memory_resource()
    shall be marked mergeable and merged with applicable siblings.
    
    To implement that, we need a kernel/resource interface to mark selected
    System RAM resources mergeable (IORESOURCE_SYSRAM_MERGEABLE) and trigger
    merging.
    
    Note: We really want to merge after the whole operation succeeded, not
    directly when adding a resource to the resource tree (it would break
    add_memory_resource() and require splitting resources again when the
    operation failed - e.g., due to -ENOMEM).
    Signed-off-by: NDavid Hildenbrand <david@redhat.com>
    Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
    Reviewed-by: NPankaj Gupta <pankaj.gupta.linux@gmail.com>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Dan Williams <dan.j.williams@intel.com>
    Cc: Jason Gunthorpe <jgg@ziepe.ca>
    Cc: Kees Cook <keescook@chromium.org>
    Cc: Ard Biesheuvel <ardb@kernel.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: "K. Y. Srinivasan" <kys@microsoft.com>
    Cc: Haiyang Zhang <haiyangz@microsoft.com>
    Cc: Stephen Hemminger <sthemmin@microsoft.com>
    Cc: Wei Liu <wei.liu@kernel.org>
    Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
    Cc: Juergen Gross <jgross@suse.com>
    Cc: Stefano Stabellini <sstabellini@kernel.org>
    Cc: Roger Pau Monné <roger.pau@citrix.com>
    Cc: Julien Grall <julien@xen.org>
    Cc: Baoquan He <bhe@redhat.com>
    Cc: Wei Yang <richardw.yang@linux.intel.com>
    Cc: Anton Blanchard <anton@ozlabs.org>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Christian Borntraeger <borntraeger@de.ibm.com>
    Cc: Dave Jiang <dave.jiang@intel.com>
    Cc: Eric Biederman <ebiederm@xmission.com>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: Heiko Carstens <hca@linux.ibm.com>
    Cc: Jason Wang <jasowang@redhat.com>
    Cc: Len Brown <lenb@kernel.org>
    Cc: Leonardo Bras <leobras.c@gmail.com>
    Cc: Libor Pechacek <lpechacek@suse.cz>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: "Michael S. Tsirkin" <mst@redhat.com>
    Cc: Nathan Lynch <nathanl@linux.ibm.com>
    Cc: "Oliver O'Halloran" <oohall@gmail.com>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Pingfan Liu <kernelfans@gmail.com>
    Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
    Cc: Vasily Gorbik <gor@linux.ibm.com>
    Cc: Vishal Verma <vishal.l.verma@intel.com>
    Link: https://lkml.kernel.org/r/20200911103459.10306-6-david@redhat.comSigned-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
    9ca6551e
ioport.h 11.6 KB