mm/memblock.c: trivial code refine in memblock_is_region_memory()
authorWei Yang <richard.weiyang@gmail.com>
Wed, 22 Feb 2017 23:45:04 +0000 (15:45 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 23 Feb 2017 00:41:29 +0000 (16:41 -0800)
memblock_is_region_memory() invoke memblock_search() to see whether the
base address is in the memory region.  If it fails, idx would be -1.
Then, it returns 0.

If the memblock_search() returns a valid index, it means the base
address is guaranteed to be in the range memblock.memory.regions[idx].
Because of this, it is not necessary to check the base again.

This patch removes the check on "base".

Link: http://lkml.kernel.org/r/1482363033-24754-2-git-send-email-richard.weiyang@gmail.com
Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/memblock.c

index a476d28e0733aba1b0862b65ee67d5615dbd2f3d..90171d508b09f0e5e4f32e56a25fff1c79a5a0bc 100644 (file)
@@ -1640,8 +1640,7 @@ int __init_memblock memblock_is_region_memory(phys_addr_t base, phys_addr_t size
 
        if (idx == -1)
                return 0;
-       return memblock.memory.regions[idx].base <= base &&
-               (memblock.memory.regions[idx].base +
+       return (memblock.memory.regions[idx].base +
                 memblock.memory.regions[idx].size) >= end;
 }