All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jun Nie <jun.nie@linaro.org>
To: Heesub Shin <heesub.shin@samsung.com>,
	Arnd Bergmann <arnd@arndb.de>,
	Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Shawn Guo <shawn.guo@linaro.org>,
	"mark.brown@linaro.org; \"wan.zhijun\"" <wan.zhijun@zte.com.cn>,
	linux-arm-kernel@lists.infradead.org, linux-mm@kvack.org,
	sunae.seo@samsung.com, cmlaika.kim@samsung.com
Subject: Re: CMA related memory questions
Date: Fri, 30 Jan 2015 11:43:00 +0800	[thread overview]
Message-ID: <54CAFDC4.5070408@linaro.org> (raw)
In-Reply-To: <54CAF9A4.1040606@samsung.com>

On 2015a1'01ae??30ae?JPY 11:25, Heesub Shin wrote:
>
>
> On 01/30/2015 11:57 AM, Jun Nie wrote:
>> On 2015a1'01ae??30ae?JPY 10:36, Jun Nie wrote:
>>> Hi Marek & Arnd,
>>>
>>> Did you ever know issue that free CMA memory is high, but system is
>>> hungry for memory and page cache is very low? I am enabling CMA in
>>> Android on my board with 512MB memory and see FreeMem in /proc/meminfo
>>> increase a lot with CMA comparing the reservation solution on boot. But
>>> I find system is not borrowing memory from CMA pool when running 3dmark
>>> (high webkit workload at start). Because the FreeMem size is high, but
>>> cache size decreasing significantly to several MB during benchmark run,
>>> I suppose system is trying to reclaim memory from pagecache for new
>>> allocation. My question is that what API that page cache and webkit
>>> related functionality are using to allocate memory. Maybe page cache
>>> require memory that is not movable/reclaimable memory, where we may have
>>> optimization to go thru dma_alloc_xxx to borrow CMA memory? I suppose
>>> app level memory allocation shall be movable/reclaimable memory and can
>>> borrow from CMA pool, but not sure whether the flag match the
>>> movable/reclaimable memory and go thru the right path.
>>>
>>> Could you help share your experience/thoughts on this? Thanks!
>
> CC'ed linux-mm@kvack.org
>
> __zone_watermark_ok() assumes that free pages from CMA pageblock are not
> free when ALLOC_CMA is not set on alloc_flags. The main goal was to
> force core mm to keep some non-CMA always free and thus let kernel to
> allocate a few unmovable pages from any context (including atomic, irq,
> etc.). However, this behavior may cause excessive page reclamation as it
> is sometimes very hard to satisfy the high wmark + balance_gap with only
> non-CMA pages and reclaiming CMA pages does not help at all.
Seems it is tricky to tune it. Could you help share some experience on 
this, how to change the parameters, what's pro/con? Thanks!
>
> It is observed that page cache pages are excessively reclaimed and
> entire system falls into thrashing even though the amount of free pages
> are much higer than the high wmark. In this case, majority of the free
> pages were from CMA page block (and about 30% pages in highmem zone were
> from CMA pageblock). Therefore, kswapd kept running and reclaiming too
> many pages. Although it is relatively rare and only observed on a
> specific workload, the device gets in an unresponsive state for a while
> (up to 10 secs), once it happens.
>
I am in this situation. kswapd is busy and most FreeMem is from CMA 
because I have 192MB CMA memblock and most of them are free.
> regards,
> heesub
>
>>>
>>>
>>> B.R.
>>> Jun
>>
>> Add more people.
>>
>> _______________________________________________
>> linux-arm-kernel mailing list
>> linux-arm-kernel@lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

WARNING: multiple messages have this Message-ID (diff)
From: jun.nie@linaro.org (Jun Nie)
To: linux-arm-kernel@lists.infradead.org
Subject: CMA related memory questions
Date: Fri, 30 Jan 2015 11:43:00 +0800	[thread overview]
Message-ID: <54CAFDC4.5070408@linaro.org> (raw)
In-Reply-To: <54CAF9A4.1040606@samsung.com>

On 2015?01?30? 11:25, Heesub Shin wrote:
>
>
> On 01/30/2015 11:57 AM, Jun Nie wrote:
>> On 2015?01?30? 10:36, Jun Nie wrote:
>>> Hi Marek & Arnd,
>>>
>>> Did you ever know issue that free CMA memory is high, but system is
>>> hungry for memory and page cache is very low? I am enabling CMA in
>>> Android on my board with 512MB memory and see FreeMem in /proc/meminfo
>>> increase a lot with CMA comparing the reservation solution on boot. But
>>> I find system is not borrowing memory from CMA pool when running 3dmark
>>> (high webkit workload at start). Because the FreeMem size is high, but
>>> cache size decreasing significantly to several MB during benchmark run,
>>> I suppose system is trying to reclaim memory from pagecache for new
>>> allocation. My question is that what API that page cache and webkit
>>> related functionality are using to allocate memory. Maybe page cache
>>> require memory that is not movable/reclaimable memory, where we may have
>>> optimization to go thru dma_alloc_xxx to borrow CMA memory? I suppose
>>> app level memory allocation shall be movable/reclaimable memory and can
>>> borrow from CMA pool, but not sure whether the flag match the
>>> movable/reclaimable memory and go thru the right path.
>>>
>>> Could you help share your experience/thoughts on this? Thanks!
>
> CC'ed linux-mm at kvack.org
>
> __zone_watermark_ok() assumes that free pages from CMA pageblock are not
> free when ALLOC_CMA is not set on alloc_flags. The main goal was to
> force core mm to keep some non-CMA always free and thus let kernel to
> allocate a few unmovable pages from any context (including atomic, irq,
> etc.). However, this behavior may cause excessive page reclamation as it
> is sometimes very hard to satisfy the high wmark + balance_gap with only
> non-CMA pages and reclaiming CMA pages does not help at all.
Seems it is tricky to tune it. Could you help share some experience on 
this, how to change the parameters, what's pro/con? Thanks!
>
> It is observed that page cache pages are excessively reclaimed and
> entire system falls into thrashing even though the amount of free pages
> are much higer than the high wmark. In this case, majority of the free
> pages were from CMA page block (and about 30% pages in highmem zone were
> from CMA pageblock). Therefore, kswapd kept running and reclaiming too
> many pages. Although it is relatively rare and only observed on a
> specific workload, the device gets in an unresponsive state for a while
> (up to 10 secs), once it happens.
>
I am in this situation. kswapd is busy and most FreeMem is from CMA 
because I have 192MB CMA memblock and most of them are free.
> regards,
> heesub
>
>>>
>>>
>>> B.R.
>>> Jun
>>
>> Add more people.
>>
>> _______________________________________________
>> linux-arm-kernel mailing list
>> linux-arm-kernel at lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2015-01-30  3:43 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CABymUCNMjM2KHXXB-LM=x+FTcJL6S5_jhG3GbP7VRi2vBoW49g@mail.gmail.com>
     [not found] ` <CABymUCO+xaify95bUqfbCLsEjkLzEC0yT_fgkhV+qzC36JNgoA@mail.gmail.com>
     [not found]   ` <CABymUCPgEh93QsBtRyg0S+FyE0FHwjAF75qk+NWh5TS8ehWuew@mail.gmail.com>
2015-01-30  2:57     ` CMA related memory questions Jun Nie
2015-01-30  3:25       ` Heesub Shin
2015-01-30  3:25         ` Heesub Shin
2015-01-30  3:43         ` Jun Nie [this message]
2015-01-30  3:43           ` Jun Nie
2015-01-30  5:14           ` Heesub Shin
2015-01-30  5:14             ` Heesub Shin
2015-01-30  8:54             ` Vlastimil Babka
2015-01-30  8:54               ` Vlastimil Babka
2015-01-30 10:06               ` Hui Zhu
2015-01-30 10:06                 ` Hui Zhu
2015-01-30 12:58         ` Joonsoo Kim
2015-01-30 12:58           ` Joonsoo Kim

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54CAFDC4.5070408@linaro.org \
    --to=jun.nie@linaro.org \
    --cc=arnd@arndb.de \
    --cc=cmlaika.kim@samsung.com \
    --cc=heesub.shin@samsung.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-mm@kvack.org \
    --cc=m.szyprowski@samsung.com \
    --cc=shawn.guo@linaro.org \
    --cc=sunae.seo@samsung.com \
    --cc=wan.zhijun@zte.com.cn \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.