summaryrefslogtreecommitdiffstats
path: root/mm/sparse.c
diff options
context:
space:
mode:
authorWei Yang <richard.weiyang@gmail.com>2017-05-03 23:53:51 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2017-05-04 00:52:09 +0200
commit60a7a88dbb9fc9adcca78a10a3ecf36966b5a45c (patch)
tree67bc60057a09cbe1082c83cbd85ba4b9d9a27f11 /mm/sparse.c
parentmm: page_alloc: __GFP_NOWARN shouldn't suppress stall warnings (diff)
downloadlinux-60a7a88dbb9fc9adcca78a10a3ecf36966b5a45c.tar.xz
linux-60a7a88dbb9fc9adcca78a10a3ecf36966b5a45c.zip
mm/sparse: refine usemap_size() a little
The current implementation calculates usemap_size in two steps: * calculate number of bytes to cover these bits * calculate number of "unsigned long" to cover these bytes It would be more clear by: * calculate number of "unsigned long" to cover these bits * multiple it with sizeof(unsigned long) This patch refine usemap_size() a little to make it more easy to understand. Link: http://lkml.kernel.org/r/20170310043713.96871-1-richard.weiyang@gmail.com Signed-off-by: Wei Yang <richard.weiyang@gmail.com> Cc: Tejun Heo <tj@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/sparse.c')
-rw-r--r--mm/sparse.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/mm/sparse.c b/mm/sparse.c
index db6bf3c97ea2..6903c8fc3085 100644
--- a/mm/sparse.c
+++ b/mm/sparse.c
@@ -248,10 +248,7 @@ static int __meminit sparse_init_one_section(struct mem_section *ms,
unsigned long usemap_size(void)
{
- unsigned long size_bytes;
- size_bytes = roundup(SECTION_BLOCKFLAGS_BITS, 8) / 8;
- size_bytes = roundup(size_bytes, sizeof(unsigned long));
- return size_bytes;
+ return BITS_TO_LONGS(SECTION_BLOCKFLAGS_BITS) * sizeof(unsigned long);
}
#ifdef CONFIG_MEMORY_HOTPLUG