Re: [PATCH] mm/cma: fix the bitmap status to show failed allocation reason

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

 



On Wed, 20 Mar 2019 15:12:45 -0700
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:

> On Wed, 20 Mar 2019 14:08:29 +0800 Yue Hu <zbestahu@xxxxxxxxx> wrote:
> 
> > Currently one bit in cma bitmap represents number of pages rather than
> > one page, cma->count means cma size in pages. So to find available pages
> > via find_next_zero_bit()/find_next_bit() we should use cma size not in
> > pages but in bits although current free pages number is correct due to
> > zero value of order_per_bit. Once order_per_bit is changed the bitmap
> > status will be incorrect.  
> 
> When fixing a bug, please always describe the end-user visible runtime
> effects of that bug?
> 

Hi Andrew,

>From perspective of bitmap function, the size input is not correct. It will
affect the available pages at some position to debug the failure issue.

This is an example with order_per_bit = 1

Before this change:
[    4.120060] cma: number of available pages: 1@93+4@108+7@121+7@137+7@153+7@169+7@185+7@201+3@213+3@221+3@229+3@237+3@245+3@253+3@261+3@269+3@277+3@285+3@293+3@301+3@309+3@317+3@325+19@333+15@369+512@512=> 638 free of 1024 total pages

After this change:
[    4.143234] cma: number of available pages: 2@93+8@108+14@121+14@137+14@153+14@169+14@185+14@201+6@213+6@221+6@229+6@237+6@245+6@253+6@261+6@269+6@277+6@285+6@293+6@301+6@309+6@317+6@325+38@333+30@369=> 252 free of 1024 total pages

Obviously the bitmap status before is incorrect, i can add this effect describtion
in v2, but seems the patch has been merged?

Thx.





[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