Re: [PATCH v2 2/3] resource: Add release_mem_region_adjustable()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2013-04-09 at 23:16 -0700, David Rientjes wrote:
> On Mon, 8 Apr 2013, Toshi Kani wrote:
> 
> > Added release_mem_region_adjustable(), which releases a requested
> > region from a currently busy memory resource.  This interface
> > adjusts the matched memory resource accordingly even if the
> > requested region does not match exactly but still fits into.
> > 
> > This new interface is intended for memory hot-delete.  During
> > bootup, memory resources are inserted from the boot descriptor
> > table, such as EFI Memory Table and e820.  Each memory resource
> > entry usually covers the whole contigous memory range.  Memory
> > hot-delete request, on the other hand, may target to a particular
> > range of memory resource, and its size can be much smaller than
> > the whole contiguous memory.  Since the existing release interfaces
> > like __release_region() require a requested region to be exactly
> > matched to a resource entry, they do not allow a partial resource
> > to be released.
> > 
> > There is no change to the existing interfaces since their restriction
> > is valid for I/O resources.
> > 
> > Signed-off-by: Toshi Kani <toshi.kani@xxxxxx>
> > Reviewed-by: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx>
> 
> Should this emit a warning for attempting to free a non-existant region 
> like __release_region() does?

Since __release_region() is a void function, it needs to emit a warning
within the func.  I made release_mem_region_adjustable() as an int
function so that the caller can receive an error and decide what to do
based on its operation.  I changed the caller __remove_pages() to emit a
warning message in PATCH 3/3 in this case.

> I think it would be better to base this off my patch and surround it with 
> #ifdef CONFIG_MEMORY_HOTREMOVE as suggested by Andrew.  There shouldn't be 
> any conflicts.

Yes, I realized that CONFIG_MEMORY_HOTREMOVE was a better choice, but I
had to use CONFIG_MEMORY_HOTPLUG at this time.  So, thanks for doing the
cleanup!

Since it's already rc6, I will keep my patchset independent for now.  I
will make minor change to update CONFIG_MEMORY_HOTPLUG to
CONFIG_MEMORY_HOTREMOVE after your patch gets accepted -- either by
sending a separate patch (if my patchset is already accepted) or
updating my current patchset (if my patchset is not accepted yet).

Thanks!
-Toshi

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]