Re: page order 0 allocation fail but free pages are enough

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

 



hi Michal

2016-05-23 22:47 GMT+08:00, Michal Hocko <mhocko@xxxxxxxxxx>:
> On Mon 23-05-16 14:47:51, yoma sophian wrote:
>> hi all:
>> I got something wired that
>> 1. in softirq, there is a page order 0 allocation request
>> 2. Normal/High zone are free enough for order 0 page.
>> 3. but somehow kernel return order 0 allocation fail.
>>
>> My kernel version is 3.10 and below is kernel log:
>> from memory info,
>
> Can you reproduce it with the current vanlilla tree?
I think it would be quite hard, since this allocation failuer comes
when a lot of program, such as Youtube, opera, etc. running on ARM
processor at the same time.
Or is there any patch in vanlilla tree I can used for checking?

>
> [...]
>> [   94.586588] ksoftirqd/0: page allocation failure: order:0, mode:0x20
> [...]
>> [   94.865776] Normal free:63768kB min:2000kB low:2500kB high:3000kB
> [...]
>> [ 8606.701343] CompositorTileW: page allocation failure: order:0,
>> mode:0x20
> [...]
>> [ 8606.703590] Normal free:60684kB min:2000kB low:2500kB high:3000kB
>
> This is a lot of free memory to block GFP_ATOMIC. One possible
> explanation would be that this is a race with somebody releasing a lot
I will try to add memory free at buffered_rmqueue like below xxx place
buffered_rmqueue -->
               if (likely(order == 0)) {
                ..................
                if (list_empty(list)) {
                        pcp->count += rmqueue_bulk(zone, 0,
                                        pcp->batch, list,
                                        migratetype, cold);
                        if (unlikely(list_empty(list)))
                                goto failed;    xxxxx ==>  to show
memory free info
                }


> of memory. The free memory is surprisingly similar in both cases.
Would you please give me any clue that free memory silimar hint the
race condition happen?

Many Appreciate your kind suggestion,

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>



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