From: Vlastimil Babka <vbabka@suse.cz>
To: Li Wang <liwang@redhat.com>,
Mel Gorman <mgorman@techsingularity.net>,
Minchan Kim <minchan@kernel.org>
Cc: linux-mm <linux-mm@kvack.org>
Subject: Re: v5.1-rc5 s390x WARNING
Date: Wed, 17 Apr 2019 10:54:38 +0200 [thread overview]
Message-ID: <73fbe83d-97d8-c05f-38fa-5e1a0eec3c10@suse.cz> (raw)
In-Reply-To: <CAEemH2fh2goOS7WuRUaVBEN2SSBX0LOv=+LGZwkpjAebS6MFuQ@mail.gmail.com>
On 4/17/19 10:35 AM, Li Wang wrote:
> Hi there,
>
> I catched this warning on v5.1-rc5(s390x). It was trggiered in fork & malloc & memset stress test, but the reproduced rate is very low. I'm working on find a stable reproducer for it.
>
> Anyone can have a look first?
>
> [ 1422.124060] WARNING: CPU: 0 PID: 9783 at mm/page_alloc.c:3777 __alloc_pages_irect_compact+0x182/0x190
This means compaction was either skipped or deferred, yet it captured a
page. We have some registers with value 1 and 2, which is
COMPACT_SKIPPED and COMPACT_DEFERRED, so it could be one of those.
Probably COMPACT_SKIPPED. I think a race is possible:
- compact_zone_order() sets up current->capture_control
- compact_zone() calls compaction_suitable() which returns
COMPACT_SKIPPED, so it also returns
- interrupt comes and its processing happens to free a page that forms
high-order page, since 'current' isn't changed during interrupt (IIRC?)
the capture_control is still active and the page is captured
- compact_zone_order() does *capture = capc.page
What do you think, Mel, does it look plausible? Not sure whether we want
to try avoiding this scenario, or just remove the warning and be
grateful for the successful capture :)
> [ 1422.124065] Modules linked in: rpcsec_gss_krb5 auth_rpcgss nfsv4 dns_resolver
> nfs lockd grace fscache sunrpc pkey ghash_s390 prng xts aes_s390 des_s390 des_g
> eneric sha512_s390 zcrypt_cex4 zcrypt vmur binfmt_misc ip_tables xfs libcrc32c d
> asd_fba_mod qeth_l2 dasd_eckd_mod dasd_mod qeth qdio lcs ctcm ccwgroup fsm dm_mi
> rror dm_region_hash dm_log dm_mod
> [ 1422.124086] CPU: 0 PID: 9783 Comm: copy.sh Kdump: loaded Not tainted 5.1.0-rc 5 #1
> [ 1422.124089] Hardware name: IBM 2827 H43 400 (z/VM 6.4.0)
> [ 1422.124092] Krnl PSW : 0704e00180000000 00000000002779ba (__alloc_pages_direct_compact+0x182/0x190)
> [ 1422.124096] R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:3 CC:2 PM:0 RI: 0 EA:3
> [ 1422.124100] Krnl GPRS: 0000000000000000 000003e00226fc24 000003d081bdf200 000 0000000000001
> [ 1422.124103] 000000000027789a 0000000000000000 0000000000000001 000 000000006ee03
> [ 1422.124107] 000003e00226fc28 0000000000000cc0 0000000000000240 000 0000000000002
> [ 1422.124156] 0000000000400000 0000000000753cb0 000000000027789a 000 003e00226fa28
> [ 1422.124163] Krnl Code: 00000000002779ac: e320f0a80002 ltg %r2,168( %r15)
> [ 1422.124163] 00000000002779b2: a784fff4 brc 8,27799a
> [ 1422.124163] #00000000002779b6: a7f40001 brc 15,2779b 8
> [ 1422.124163] >00000000002779ba: a7290000 lghi %r2,0
> [ 1422.124163] 00000000002779be: a7f4fff0 brc 15,27799 e
> [ 1422.124163] 00000000002779c2: 0707 bcr 0,%r7
> [ 1422.124163] 00000000002779c4: 0707 bcr 0,%r7
> [ 1422.124163] 00000000002779c6: 0707 bcr 0,%r7
> [ 1422.124194] Call Trace:
> [ 1422.124196] ([<000000000027789a>] __alloc_pages_direct_compact+0x62/0x190)
> [ 1422.124198] [<0000000000278618>] __alloc_pages_nodemask+0x728/0x1148
> [ 1422.124201] [<0000000000126bb2>] crst_table_alloc+0x32/0x68
> [ 1422.124203] [<0000000000135888>] mm_init+0x118/0x308
> [ 1422.124204] [<0000000000137e60>] copy_process.part.49+0x1820/0x1d90
> [ 1422.124205] [<000000000013865c>] _do_fork+0x114/0x3b8
> [ 1422.124206] [<0000000000138aa4>] __s390x_sys_clone+0x44/0x58
> [ 1422.124210] [<0000000000739a90>] system_call+0x288/0x2a8
> [ 1422.124210] Last Breaking-Event-Address:
> [ 1422.124212] [<00000000002779b6>] __alloc_pages_direct_compact+0x17e/0x190
> [ 1422.124213] ---[ end trace 36649eaa36968eaa ]---
>
> --
> Regards,
> Li Wang
next prev parent reply other threads:[~2019-04-17 8:58 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-17 8:35 Li Wang
2019-04-17 8:54 ` Vlastimil Babka [this message]
2019-04-18 13:54 ` Mel Gorman
2019-04-18 14:37 ` Matthew Wilcox
2019-04-18 15:25 ` Mel Gorman
2019-04-19 12:53 ` Vlastimil Babka
2019-04-19 8:41 ` Li Wang
2019-04-19 8:52 ` Mel Gorman
2019-04-19 12:51 ` Vlastimil Babka
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=73fbe83d-97d8-c05f-38fa-5e1a0eec3c10@suse.cz \
--to=vbabka@suse.cz \
--cc=linux-mm@kvack.org \
--cc=liwang@redhat.com \
--cc=mgorman@techsingularity.net \
--cc=minchan@kernel.org \
/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