Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1447734
| From | Mel Gorman <mgorman@techsingularity.net> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH 0/5] Candidate fixes for premature OOM kills with node-lru v1 |
| Date | 2016-07-21 11:20 +0200 |
| Message-ID | <rXij8-5uu-35@gated-at.bofh.it> (permalink) |
| References | <rX1BD-39C-7@gated-at.bofh.it> <rXgAG-4nr-17@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Thu, Jul 21, 2016 at 04:31:56PM +0900, Joonsoo Kim wrote:
> On Wed, Jul 20, 2016 at 04:21:46PM +0100, Mel Gorman wrote:
> > Both Joonsoo Kim and Minchan Kim have reported premature OOM kills on
> > a 32-bit platform. The common element is a zone-constrained high-order
> > allocation failing. Two factors appear to be at fault -- pgdat being
> > considered unreclaimable prematurely and insufficient rotation of the
> > active list.
> >
> > Unfortunately to date I have been unable to reproduce this with a variety
> > of stress workloads on a 2G 32-bit KVM instance. It's not clear why as
> > the steps are similar to what was described. It means I've been unable to
> > determine if this series addresses the problem or not. I'm hoping they can
> > test and report back before these are merged to mmotm. What I have checked
> > is that a basic parallel DD workload completed successfully on the same
> > machine I used for the node-lru performance tests. I'll leave the other
> > tests running just in case anything interesting falls out.
>
> Hello, Mel.
>
> I tested this series and it doesn't solve my problem. But, with this
> series and one change below, my problem is solved.
>
> diff --git a/mm/vmscan.c b/mm/vmscan.c
> index f5ab357..d451c29 100644
> --- a/mm/vmscan.c
> +++ b/mm/vmscan.c
> @@ -1819,7 +1819,7 @@ static void move_active_pages_to_lru(struct lruvec *lruvec,
>
> nr_pages = hpage_nr_pages(page);
> update_lru_size(lruvec, lru, page_zonenum(page), nr_pages);
> - list_move(&page->lru, &lruvec->lists[lru]);
> + list_move_tail(&page->lru, &lruvec->lists[lru]);
> pgmoved += nr_pages;
>
> if (put_page_testzero(page)) {
>
> It is brain-dead work-around so it is better you to find a better solution.
>
This wrecks LRU ordering.
> I guess that, in my test, file reference happens very quickly. So, if there are
> many skip candidates, reclaimable pages on lower zone cannot be reclaimed easily
> due to re-reference. If I apply above work-around, the test is finally passed.
>
I think by scaling skipped pages as partial scan that it may address the
issue.
> One more note that, in my test, 1/5 patch have a negative impact. Sometime,
> system lock-up happens and elapsed time is also worse than the test without it.
>
> Anyway, it'd be good to post my test script and program.
>
> setup: 64 bit 2000 MB (500 MB DMA32 and 1500 MB MOVABLE)
>
Thanks. I partially replicated this with a 32-bit machine and minor
modifications. It triggered an OOM within 5 minutes. I'll test the revised
series shortly and when/if it's successful I'll post a V2 of the series.
--
Mel Gorman
SUSE Labs
Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread
[PATCH 0/5] Candidate fixes for premature OOM kills with node-lru v1 Mel Gorman <mgorman@techsingularity.net> - 2016-07-20 17:30 +0200
[PATCH 2/5] mm: add per-zone lru list stat Mel Gorman <mgorman@techsingularity.net> - 2016-07-20 17:30 +0200
Re: [PATCH 2/5] mm: add per-zone lru list stat Joonsoo Kim <iamjoonsoo.kim@lge.com> - 2016-07-21 09:10 +0200
Re: [PATCH 2/5] mm: add per-zone lru list stat Fengguang Wu <fengguang.wu@intel.com> - 2016-07-23 02:50 +0200
Re: [PATCH 2/5] mm: add per-zone lru list stat Minchan Kim <minchan@kernel.org> - 2016-07-23 03:30 +0200
[PATCH 3/5] mm, vmscan: Remove highmem_file_pages Mel Gorman <mgorman@techsingularity.net> - 2016-07-20 17:30 +0200
[PATCH 1/5] mm, vmscan: Do not account skipped pages as scanned Mel Gorman <mgorman@techsingularity.net> - 2016-07-20 17:30 +0200
Re: [PATCH 1/5] mm, vmscan: Do not account skipped pages as scanned Minchan Kim <minchan@kernel.org> - 2016-07-21 07:20 +0200
Re: [PATCH 1/5] mm, vmscan: Do not account skipped pages as scanned Mel Gorman <mgorman@techsingularity.net> - 2016-07-21 10:20 +0200
Re: [PATCH 1/5] mm, vmscan: Do not account skipped pages as scanned Minchan Kim <minchan@kernel.org> - 2016-07-21 10:40 +0200
Re: [PATCH 1/5] mm, vmscan: Do not account skipped pages as scanned Minchan Kim <minchan@kernel.org> - 2016-07-25 10:10 +0200
Re: [PATCH 1/5] mm, vmscan: Do not account skipped pages as scanned Mel Gorman <mgorman@techsingularity.net> - 2016-07-25 11:30 +0200
[PATCH 4/5] mm: Remove reclaim and compaction retry approximations Mel Gorman <mgorman@techsingularity.net> - 2016-07-20 17:30 +0200
Re: [PATCH 0/5] Candidate fixes for premature OOM kills with node-lru v1 Minchan Kim <minchan@kernel.org> - 2016-07-21 09:10 +0200
Re: [PATCH 0/5] Candidate fixes for premature OOM kills with node-lru v1 Mel Gorman <mgorman@techsingularity.net> - 2016-07-21 11:20 +0200
Re: [PATCH 0/5] Candidate fixes for premature OOM kills with node-lru v1 Joonsoo Kim <iamjoonsoo.kim@lge.com> - 2016-07-21 09:30 +0200
Re: [PATCH 0/5] Candidate fixes for premature OOM kills with node-lru v1 Minchan Kim <minchan@kernel.org> - 2016-07-21 10:40 +0200
Re: [PATCH 0/5] Candidate fixes for premature OOM kills with node-lru v1 Mel Gorman <mgorman@techsingularity.net> - 2016-07-21 11:20 +0200
csiph-web