Re: [PATCH] mm, page_alloc: cleanup usemap_size() when SPARSEMEM is not set

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

 



On Tue, Jan 22, 2019 at 04:16:28PM +0100, Michal Hocko wrote:
>On Tue 22-01-19 15:07:17, Wei Yang wrote:
>> On Tue, Jan 22, 2019 at 09:55:24AM +0100, Michal Hocko wrote:
>> >On Sat 19-01-19 07:49:05, Wei Yang wrote:
>> >> Two cleanups in this patch:
>> >> 
>> >>   * since pageblock_nr_pages == (1 << pageblock_order), the roundup()
>> >>     and right shift pageblock_order could be replaced with
>> >>     DIV_ROUND_UP()
>> >
>> >Why is this change worth it?
>> >
>> 
>> To make it directly show usemapsize is number of times of
>> pageblock_nr_pages.
>
>Does this lead to a better code generation? Does it make the code easier
>to read/maintain?
>

I think the answer is yes.

  * it reduce the code from 6 lines to 3 lines, 50% off
  * by reducing calculation back and forth, it would be easier for
    audience to catch what it tries to do

>> >>   * use BITS_TO_LONGS() to get number of bytes for bitmap
>> >> 
>> >> This patch also fix one typo in comment.
>> >> 
>> >> Signed-off-by: Wei Yang <richard.weiyang@xxxxxxxxx>
>> >> ---
>> >>  mm/page_alloc.c | 9 +++------
>> >>  1 file changed, 3 insertions(+), 6 deletions(-)
>> >> 
>> >> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
>> >> index d295c9bc01a8..d7073cedd087 100644
>> >> --- a/mm/page_alloc.c
>> >> +++ b/mm/page_alloc.c
>> >> @@ -6352,7 +6352,7 @@ static void __init calculate_node_totalpages(struct pglist_data *pgdat,
>> >>  /*
>> >>   * Calculate the size of the zone->blockflags rounded to an unsigned long
>> >>   * Start by making sure zonesize is a multiple of pageblock_order by rounding
>> >> - * up. Then use 1 NR_PAGEBLOCK_BITS worth of bits per pageblock, finally
>> >> + * up. Then use 1 NR_PAGEBLOCK_BITS width of bits per pageblock, finally
>> >
>> >why do you change this?
>> >
>> 
>> Is the original comment not correct? Or I misunderstand the English
>> word?
>
>yes AFAICS

ok, maybe the first time to know this. So I guess they are the same
meaning? I searched in google, but no specific explanation on this.

>
>-- 
>Michal Hocko
>SUSE Labs

-- 
Wei Yang
Help you, Help me




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

  Powered by Linux