Re: memblock_is_region_memory() vs. memblock_is_region_reserved()

From: Tejun Heo
Date: Tue May 15 2012 - 11:15:19 EST


On Mon, May 14, 2012 at 06:11:20PM -0700, Stephen Boyd wrote:
> I was looking at memblock and noticed that memblock_is_region_memory()
> is implemented differently than memblock_is_region_reserved().
>
> memblock_is_region_memory() returns true only if the region you are
> testing is fully contained within the bounds of a memory block. If the
> region is half in and half out of a memory region (i.e. overlaps memory
> and a hole) it is not memory and returns false.
>
> memblock_is_region_reserved() is the opposite. If the region are you are
> testing is half in and half out of a reserved region (i.e. overlaps
> reserved memory) it returns true, otherwise it returns false.
>
> These functions sound like they do the same thing by testing to see if
> what you specify is either memory or reserved memory, but the semantics
> are a bit different in that the former doesn't allow overlap, and the
> latter accepts overlap. Should we rename memblock_is_region_reserved()
> to memblock_overlaps_reserved() to make it clearer what the intention
> is? Or perhaps rename memblock_is_region_memory() to
> memblock_is_region_within_memory()?

The difference is there because for a memory region to be available,
all of it should be while a memory region partially reserved should
still be treated as reserved.

> If anything, perhaps this patch will help clarify things?

Yeah, looks good to me. Can you please add patch description,
sign-off and send it to Ingo?

Thanks.

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/