From: Minchan Kim <minchan@kernel.org>
To: Vlastimil Babka <vbabka@suse.cz>
Cc: Laura Abbott <lauraa@codeaurora.org>, Hui Zhu <zhuhui@xiaomi.com>,
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,
iamjoonsoo.kim@lge.com, hannes@cmpxchg.org, riel@redhat.com,
mgorman@suse.de, 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, 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 0/4] (CMA_AGGRESSIVE) Make CMA memory be more aggressive about allocation
Date: Tue, 4 Nov 2014 16:53:30 +0900 [thread overview]
Message-ID: <20141104075330.GB23102@bbox> (raw)
In-Reply-To: <5450FD15.4000708@suse.cz>
Hello,
On Wed, Oct 29, 2014 at 03:43:33PM +0100, Vlastimil Babka wrote:
> On 10/16/2014 10:55 AM, Laura Abbott wrote:
> >On 10/15/2014 8:35 PM, Hui Zhu wrote:
> >
> >It's good to see another proposal to fix CMA utilization. Do you have
> >any data about the success rate of CMA contiguous allocation after
> >this patch series? I played around with a similar approach of using
> >CMA for MIGRATE_MOVABLE allocations and found that although utilization
> >did increase, contiguous allocations failed at a higher rate and were
> >much slower. I see what this series is trying to do with avoiding
> >allocation from CMA pages when a contiguous allocation is progress.
> >My concern is that there would still be problems with contiguous
> >allocation after all the MIGRATE_MOVABLE fallback has happened.
>
> Hi,
>
> did anyone try/suggest the following idea?
>
> - keep CMA as fallback to MOVABLE as is is now, i.e. non-agressive
> - when UNMOVABLE (RECLAIMABLE also?) allocation fails and CMA
> pageblocks have space, don't OOM immediately, but first try to
> migrate some MOVABLE pages to CMA pageblocks, to make space for the
> UNMOVABLE allocation in non-CMA pageblocks
> - this should keep CMA pageblocks free as long as possible and
> useful for CMA allocations, but without restricting the non-MOVABLE
> allocations even though there is free memory (but in CMA pageblocks)
> - the fact that a MOVABLE page could be successfully migrated to CMA
> pageblock, means it was not pinned or otherwise non-migratable, so
> there's a good chance it can be migrated back again if CMA
> pageblocks need to be used by CMA allocation
I suggested exactly same idea long time ago.
> - it's more complex, but I guess we have most of the necessary
> infrastructure in compaction already :)
I agree but still, it doesn't solve reclaim problem(ie, VM doesn't
need to reclaim CMA pages when memory pressure of unmovable pages
happens). Of course, we could make VM be aware of that via introducing
new flag of __isolate_lru_page.
However, I'd like to think CMA design from the beginning.
It made page allocation logic complicated, even very fragile as we
had recently and now we need to add new logics to migrate like you said.
As well, we need to fix reclaim path, too.
It makes mm complicated day by day even though it doesn't do the role
enough well(ie, big latency and frequent allocation failure) so I really
want to stop making the mess bloated.
Long time ago, when I saw Joonsoo's CMA agressive allocation patchset
(ie, roundrobin allocation between CMA and normal movable pages)
it was good to me at a first glance but it needs tweak of allocation
path and doesn't solve reclaim path, either. Yes, reclaim path could
be solved by another patch but I want to solve it altogether.
At that time, I suggested big surgery to Joonsoo in offline that
let's move CMA allocation with movable zone allocation. With it,
we could make allocation/reclaim path simple but thing is we should
make VM be aware of overlapping MOVABLE zone which means some of pages
in the zone could be part of another zones but I think we already have
logics to handle it when I read comment in isolate_freepages so I think
the design should work.
A thing you guys might worry is bigger CMA latency because it makes
CMA memory usage ratio higher than the approach you mentioned but
anyone couldn't guarantee it once memory is fully utilized.
In addition, we have used fair zone allocator policy so it makes
round robin allocation automatically so I believe it should be way
to go.
>
> Thoughts?
> Vlastimil
>
> >Thanks,
> >Laura
> >
>
> --
> 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>
--
Kind regards,
Minchan Kim
--
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>
next prev parent reply other threads:[~2014-11-04 7:52 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
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 [this message]
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=20141104075330.GB23102@bbox \
--to=minchan@kernel.org \
--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=iamjoonsoo.kim@lge.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=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).