diff options
author | Wei Yang <richard.weiyang@gmail.com> | 2017-05-03 23:53:51 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-05-04 00:52:09 +0200 |
commit | 60a7a88dbb9fc9adcca78a10a3ecf36966b5a45c (patch) | |
tree | 67bc60057a09cbe1082c83cbd85ba4b9d9a27f11 /mm/sparse.c | |
parent | mm: page_alloc: __GFP_NOWARN shouldn't suppress stall warnings (diff) | |
download | linux-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 '')
-rw-r--r-- | mm/sparse.c | 5 |
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 |