From: Ross Zwisler <zwisler@kernel.org>
To: pasha.tatashin@oracle.com, linux-nvdimm@lists.01.org
Cc: osalvador@techadventures.net, bhe@redhat.com,
Dave Hansen <dave.hansen@linux.intel.com>,
LKML <linux-kernel@vger.kernel.org>,
Linux MM <linux-mm@kvack.org>, Michal Hocko <mhocko@suse.com>,
Vlastimil Babka <vbabka@suse.cz>,
Andrew Morton <akpm@linux-foundation.org>,
"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
osalvador@suse.de
Subject: Re: [PATCH] mm/sparse: Make sparse_init_one_section void and remove check
Date: Fri, 6 Jul 2018 12:23:28 -0600 [thread overview]
Message-ID: <CAOxpaSVkLh23jN_=0GpZ77EhKdAYaiWKkppnxWwf_MRa5FvopA@mail.gmail.com> (raw)
In-Reply-To: <CAGM2reZz3=OM7W_VbCGgnAMumo+AiPaG7sGUaichG_QNngYKsg@mail.gmail.com>
On Mon, Jul 2, 2018 at 12:48 PM Pavel Tatashin
<pasha.tatashin@oracle.com> wrote:
>
> On Mon, Jul 2, 2018 at 11:43 AM <osalvador@techadventures.net> wrote:
> >
> > From: Oscar Salvador <osalvador@suse.de>
> >
> > sparse_init_one_section() is being called from two sites:
> > sparse_init() and sparse_add_one_section().
> > The former calls it from a for_each_present_section_nr() loop,
> > and the latter marks the section as present before calling it.
> > This means that when sparse_init_one_section() gets called, we already know
> > that the section is present.
> > So there is no point to double check that in the function.
> >
> > This removes the check and makes the function void.
> >
> > Signed-off-by: Oscar Salvador <osalvador@suse.de>
>
> Thank you Oscar.
>
> Reviewed-by: Pavel Tatashin <pasha.tatashin@oracle.com>
It looks like this change breaks "fsdax" mode namespaces in
next-20180705. The offending commit is:
commit 054620849110 ("mm/sparse.c: make sparse_init_one_section void
and remove check")
Here is the stack trace I get when converting a raw mode namespace to
fsdax mode, and from then on during each reboot as the namespace is
being initialized:
[ 6.067166] BUG: unable to handle kernel paging request at ffffea0005000080
[ 6.068084] PGD 13ffdd067 P4D 13ffdd067 PUD 13ffdc067 PMD 0
[ 6.068771] Oops: 0002 [#1] PREEMPT SMP PTI
[ 6.069262] CPU: 11 PID: 180 Comm: kworker/u24:2 Not tainted
4.18.0-rc3-00193-g054620849110 #1
[ 6.070440] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996),
BIOS rel-1.11.1-0-g0551a4be2c-prebuilt.qemu-project.org 04/01/2014
[ 6.071689] Workqueue: events_unbound async_run_entry_fn
[ 6.072261] RIP: 0010:memmap_init_zone+0x154/0x1cf
[ 6.072882] Code: 48 89 c3 48 c1 eb 0c e9 82 00 00 00 48 89 da 48
b8 00 00 00 00 00 ea ff ff b9 10 00 00 00 48 c1 e2 06 48 01 c2 31 c0
48 89 d7 <f3> ab 48 b8 ff ff ff ff ff ff 7f 00 48 23 45 c0 c7 42 34 01
00 00
[ 6.075396] RSP: 0018:ffffc900024bfa70 EFLAGS: 00010246
[ 6.076052] RAX: 0000000000000000 RBX: 0000000000140002 RCX: 0000000000000010
[ 6.076845] RDX: ffffea0005000080 RSI: 0000000000000000 RDI: ffffea0005000080
[ 6.077604] RBP: ffffc900024bfab0 R08: 0000000000000001 R09: ffff88010eb50d38
[ 6.078394] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
[ 6.079331] R13: 0000000000000004 R14: 0000000000000001 R15: 0000000000000000
[ 6.080274] FS: 0000000000000000(0000) GS:ffff880115a00000(0000)
knlGS:0000000000000000
[ 6.081337] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 6.082092] CR2: ffffea0005000080 CR3: 0000000002824000 CR4: 00000000000006e0
[ 6.083032] Call Trace:
[ 6.083371] move_pfn_range_to_zone+0x168/0x180
[ 6.083965] devm_memremap_pages+0x29b/0x480
[ 6.084550] pmem_attach_disk+0x1ae/0x6c0 [nd_pmem]
[ 6.085204] ? devm_memremap+0x79/0xb0
[ 6.085714] nd_pmem_probe+0x7e/0xa0 [nd_pmem]
[ 6.086320] nvdimm_bus_probe+0x6e/0x160 [libnvdimm]
[ 6.086977] driver_probe_device+0x310/0x480
[ 6.087543] __device_attach_driver+0x86/0x100
[ 6.088136] ? __driver_attach+0x110/0x110
[ 6.088681] bus_for_each_drv+0x6e/0xb0
[ 6.089190] __device_attach+0xe2/0x160
[ 6.089705] device_initial_probe+0x13/0x20
[ 6.090266] bus_probe_device+0xa6/0xc0
[ 6.090772] device_add+0x41b/0x660
[ 6.091249] ? lock_acquire+0xa3/0x210
[ 6.091743] nd_async_device_register+0x12/0x40 [libnvdimm]
[ 6.092398] async_run_entry_fn+0x3e/0x170
[ 6.092921] process_one_work+0x230/0x680
[ 6.093455] worker_thread+0x3f/0x3b0
[ 6.093930] kthread+0x12f/0x150
[ 6.094362] ? process_one_work+0x680/0x680
[ 6.094903] ? kthread_create_worker_on_cpu+0x70/0x70
[ 6.095574] ret_from_fork+0x3a/0x50
[ 6.096069] Modules linked in: nd_pmem nd_btt dax_pmem device_dax
nfit libnvdimm
[ 6.097179] CR2: ffffea0005000080
[ 6.097764] ---[ end trace a5b8bd6a5500b68c ]---
- Ross
_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm
next parent reply other threads:[~2018-07-06 18:23 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20180702154325.12196-1-osalvador@techadventures.net>
[not found] ` <CAGM2reZz3=OM7W_VbCGgnAMumo+AiPaG7sGUaichG_QNngYKsg@mail.gmail.com>
2018-07-06 18:23 ` Ross Zwisler [this message]
2018-07-06 19:06 ` [PATCH] mm/sparse.c: fix error path in sparse_add_one_section Ross Zwisler
2018-07-06 21:23 ` Oscar Salvador
2018-07-06 21:54 ` Ross Zwisler
2018-07-06 21:58 ` Andrew Morton
2018-07-06 21:32 ` Andrew Morton
2018-07-06 22:33 ` [PATCH v2] " Ross Zwisler
2018-07-07 6:01 ` Oscar Salvador
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='CAOxpaSVkLh23jN_=0GpZ77EhKdAYaiWKkppnxWwf_MRa5FvopA@mail.gmail.com' \
--to=zwisler@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=bhe@redhat.com \
--cc=dave.hansen@linux.intel.com \
--cc=kirill.shutemov@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-nvdimm@lists.01.org \
--cc=mhocko@suse.com \
--cc=osalvador@suse.de \
--cc=osalvador@techadventures.net \
--cc=pasha.tatashin@oracle.com \
--cc=vbabka@suse.cz \
/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).