linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Joonsoo Kim <iamjoonsoo.kim@lge.com>
To: Hui Zhu <zhuhui@xiaomi.com>
Cc: rjw@rjwysocki.net, len.brown@intel.com, pavel@ucw.cz,
	m.szyprowski@samsung.com, akpm@linux-foundation.org,
	mina86@mina86.com, aneesh.kumar@linux.vnet.ibm.com,
	hannes@cmpxchg.org, riel@redhat.com, mgorman@suse.de,
	minchan@kernel.org, nasa4836@gmail.com, ddstreet@ieee.org,
	hughd@google.com, mingo@kernel.org, rientjes@google.com,
	peterz@infradead.org, keescook@chromium.org, atomlin@redhat.com,
	raistlin@linux.it, axboe@fb.com, paulmck@linux.vnet.ibm.com,
	kirill.shutemov@linux.intel.com, n-horiguchi@ah.jp.nec.com,
	k.khlebnikov@samsung.com, msalter@redhat.com, deller@gmx.de,
	tangchen@cn.fujitsu.com, ben@decadent.org.uk,
	akinobu.mita@gmail.com, lauraa@codeaurora.org, vbabka@suse.cz,
	sasha.levin@oracle.com, vdavydov@parallels.com,
	suleiman@google.com, linux-kernel@vger.kernel.org,
	linux-pm@vger.kernel.org, linux-mm@kvack.org
Subject: Re: [PATCH 4/4] (CMA_AGGRESSIVE) Update page alloc function
Date: Fri, 24 Oct 2014 14:28:50 +0900	[thread overview]
Message-ID: <20141024052849.GF15243@js1304-P5Q-DELUXE> (raw)
In-Reply-To: <1413430551-22392-5-git-send-email-zhuhui@xiaomi.com>

On Thu, Oct 16, 2014 at 11:35:51AM +0800, Hui Zhu wrote:
> If page alloc function __rmqueue try to get pages from MIGRATE_MOVABLE and
> conditions (cma_alloc_counter, cma_aggressive_free_min, cma_alloc_counter)
> allow, MIGRATE_CMA will be allocated as MIGRATE_MOVABLE first.
> 
> Signed-off-by: Hui Zhu <zhuhui@xiaomi.com>
> ---
>  mm/page_alloc.c | 42 +++++++++++++++++++++++++++++++-----------
>  1 file changed, 31 insertions(+), 11 deletions(-)
> 
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index 736d8e1..87bc326 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -65,6 +65,10 @@
>  #include <asm/div64.h>
>  #include "internal.h"
>  
> +#ifdef CONFIG_CMA_AGGRESSIVE
> +#include <linux/cma.h>
> +#endif
> +
>  /* prevent >1 _updater_ of zone percpu pageset ->high and ->batch fields */
>  static DEFINE_MUTEX(pcp_batch_high_lock);
>  #define MIN_PERCPU_PAGELIST_FRACTION	(8)
> @@ -1189,20 +1193,36 @@ static struct page *__rmqueue(struct zone *zone, unsigned int order,
>  {
>  	struct page *page;
>  
> -retry_reserve:
> +#ifdef CONFIG_CMA_AGGRESSIVE
> +	if (cma_aggressive_switch
> +	    && migratetype == MIGRATE_MOVABLE
> +	    && atomic_read(&cma_alloc_counter) == 0
> +	    && global_page_state(NR_FREE_CMA_PAGES) > cma_aggressive_free_min
> +							+ (1 << order))
> +		migratetype = MIGRATE_CMA;
> +#endif
> +retry:

I don't get it why cma_alloc_counter should be tested.
When cma alloc is progress, pageblock is isolated so that pages on that
pageblock cannot be allocated. Why should we prevent aggressive
allocation in this case?

Thanks.

--
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>

  reply	other threads:[~2014-10-24  5:28 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-16  3:35 [PATCH 0/4] (CMA_AGGRESSIVE) Make CMA memory be more aggressive about allocation Hui Zhu
2014-10-16  3:35 ` [PATCH 1/4] (CMA_AGGRESSIVE) Add CMA_AGGRESSIVE to Kconfig Hui Zhu
2014-10-18 22:15   ` Pavel Machek
     [not found]   ` <201410220126.s9M1Qita026502@spam.xiaomi.com>
2014-10-22  5:44     ` 朱辉
2014-10-16  3:35 ` [PATCH 2/4] (CMA_AGGRESSIVE) Add argument hibernation to function shrink_all_memory Hui Zhu
2014-10-16  8:45   ` Rafael J. Wysocki
2014-10-17  6:18     ` 朱辉
2014-10-17  9:28     ` [PATCH v2 2/4] (CMA_AGGRESSIVE) Add new function shrink_all_memory_for_cma Hui Zhu
2014-10-18  4:50       ` PINTU KUMAR
2014-10-16  3:35 ` [PATCH 3/4] (CMA_AGGRESSIVE) Update reserve custom contiguous area code Hui Zhu
2014-10-17  9:30   ` [PATCH v2 " Hui Zhu
2014-10-16  3:35 ` [PATCH 4/4] (CMA_AGGRESSIVE) Update page alloc function Hui Zhu
2014-10-24  5:28   ` Joonsoo Kim [this message]
2014-11-28  3:45     ` Hui Zhu
2014-10-16  5:13 ` [PATCH 0/4] (CMA_AGGRESSIVE) Make CMA memory be more aggressive about allocation Weijie Yang
2014-10-16  8:55 ` Laura Abbott
2014-10-17  7:44   ` 朱辉
2014-10-22 12:01   ` Peter Hurley
2014-10-23  0:40     ` 朱辉
2014-10-29 14:43   ` Vlastimil Babka
2014-11-03  8:46     ` Hui Zhu
2014-11-04  7:53     ` Minchan Kim
2014-11-04  8:59       ` Hui Zhu
2014-11-04  9:29       ` Vlastimil Babka
2014-11-07  7:06         ` Minchan Kim
2014-10-24  5:25 ` Joonsoo Kim
2014-11-03  7:28   ` Hui Zhu
2014-11-03  8:05     ` Joonsoo Kim
2014-11-04  2:31       ` 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=20141024052849.GF15243@js1304-P5Q-DELUXE \
    --to=iamjoonsoo.kim@lge.com \
    --cc=akinobu.mita@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=aneesh.kumar@linux.vnet.ibm.com \
    --cc=atomlin@redhat.com \
    --cc=axboe@fb.com \
    --cc=ben@decadent.org.uk \
    --cc=ddstreet@ieee.org \
    --cc=deller@gmx.de \
    --cc=hannes@cmpxchg.org \
    --cc=hughd@google.com \
    --cc=k.khlebnikov@samsung.com \
    --cc=keescook@chromium.org \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=lauraa@codeaurora.org \
    --cc=len.brown@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    --cc=mgorman@suse.de \
    --cc=mina86@mina86.com \
    --cc=minchan@kernel.org \
    --cc=mingo@kernel.org \
    --cc=msalter@redhat.com \
    --cc=n-horiguchi@ah.jp.nec.com \
    --cc=nasa4836@gmail.com \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=pavel@ucw.cz \
    --cc=peterz@infradead.org \
    --cc=raistlin@linux.it \
    --cc=riel@redhat.com \
    --cc=rientjes@google.com \
    --cc=rjw@rjwysocki.net \
    --cc=sasha.levin@oracle.com \
    --cc=suleiman@google.com \
    --cc=tangchen@cn.fujitsu.com \
    --cc=vbabka@suse.cz \
    --cc=vdavydov@parallels.com \
    --cc=zhuhui@xiaomi.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).