linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Brice Goglin <Brice.Goglin@inria.fr>
To: Dave Hansen <dave.hansen@linux.intel.com>, linux-kernel@vger.kernel.org
Cc: thomas.lendacky@amd.com, mhocko@suse.com,
	linux-nvdimm@lists.01.org, tiwai@suse.de, ying.huang@intel.com,
	linux-mm@kvack.org, jglisse@redhat.com, bp@suse.de,
	baiyaowei@cmss.chinamobile.com, zwisler@kernel.org,
	bhelgaas@google.com, fengguang.wu@intel.com,
	akpm@linux-foundation.org
Subject: Re: [PATCH 5/5] dax: "Hotplug" persistent memory for use like normal RAM
Date: Sat, 9 Feb 2019 12:00:05 +0100	[thread overview]
Message-ID: <c4c6aca8-6ee8-be10-65ae-4cbe0aa03bfb@inria.fr> (raw)
In-Reply-To: <20190124231448.E102D18E@viggo.jf.intel.com>

[-- Attachment #1: Type: text/plain, Size: 2755 bytes --]

Le 25/01/2019 à 00:14, Dave Hansen a écrit :
> From: Dave Hansen <dave.hansen@linux.intel.com>
>
> This is intended for use with NVDIMMs that are physically persistent
> (physically like flash) so that they can be used as a cost-effective
> RAM replacement.  Intel Optane DC persistent memory is one
> implementation of this kind of NVDIMM.
>
> Currently, a persistent memory region is "owned" by a device driver,
> either the "Direct DAX" or "Filesystem DAX" drivers.  These drivers
> allow applications to explicitly use persistent memory, generally
> by being modified to use special, new libraries. (DIMM-based
> persistent memory hardware/software is described in great detail
> here: Documentation/nvdimm/nvdimm.txt).
>
> However, this limits persistent memory use to applications which
> *have* been modified.  To make it more broadly usable, this driver
> "hotplugs" memory into the kernel, to be managed and used just like
> normal RAM would be.
>
> To make this work, management software must remove the device from
> being controlled by the "Device DAX" infrastructure:
>
> 	echo -n dax0.0 > /sys/bus/dax/drivers/device_dax/remove_id
> 	echo -n dax0.0 > /sys/bus/dax/drivers/device_dax/unbind


Hello Dave

I am trying to use these patches (on top on Dan's nvdimm-pending branch
with Keith's HMAT patches). Writing to remove_id just hangs. echo never
returns, it uses 100% CPU and I can't kill it.

[ 5468.744898] bash            R  running task        0 21419  21416 0x00000080
[ 5468.744899] Call Trace:
[ 5468.744902]  ? vsnprintf+0x372/0x4e0
[ 5468.744904]  ? klist_next+0x79/0xe0
[ 5468.744905]  ? sprintf+0x56/0x80
[ 5468.744907]  ? bus_for_each_dev+0x8a/0xc0
[ 5468.744911]  ? do_id_store+0xe8/0x1e0
[ 5468.744914]  ? _cond_resched+0x15/0x30
[ 5468.744915]  ? __kmalloc+0x17f/0x200
[ 5468.744918]  ? kernfs_fop_write+0x83/0x190
[ 5468.744918]  ? __vfs_write+0x36/0x1b0
[ 5468.744919]  ? selinux_file_permission+0xe1/0x130
[ 5468.744921]  ? security_file_permission+0x36/0x100
[ 5468.744922]  ? vfs_write+0xad/0x1b0
[ 5468.744922]  ? ksys_write+0x52/0xc0
[ 5468.744924]  ? do_syscall_64+0x5b/0x180
[ 5468.744927]  ? entry_SYSCALL_64_after_hwframe+0x44/0xa9

CONFIG_NVDIMM_DAX=y
CONFIG_DAX_DRIVER=y
CONFIG_DAX=y
CONFIG_DEV_DAX=m
CONFIG_DEV_DAX_PMEM=m
CONFIG_DEV_DAX_KMEM=m
CONFIG_DEV_DAX_PMEM_COMPAT=m
CONFIG_FS_DAX=y
CONFIG_FS_DAX_PMD=y

  {
    "dev":"namespace0.0",
    "mode":"devdax",
    "map":"dev",
    "size":1598128390144,
    "uuid":"7046a749-477f-4690-9b3c-a640a1aa44f1",
    "chardev":"dax0.0"
  }


I've used your patches on fake hardware (memmap=xx!yy) with an older
nvdimm-pending branch (without Keith's patches). It worked fine. This
time I am running on real Intel hardware. Any idea where to look ?

Thanks

Brice



[-- Attachment #2: Type: text/html, Size: 3306 bytes --]

  parent reply	other threads:[~2019-02-09 11:00 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-24 23:14 [PATCH 0/5] [v4] Allow persistent memory to be used like normal RAM Dave Hansen
2019-01-24 23:14 ` Dave Hansen
2019-01-24 23:14 ` [PATCH 1/5] mm/resource: return real error codes from walk failures Dave Hansen
2019-01-24 23:14   ` Dave Hansen
2019-01-25 21:02   ` Bjorn Helgaas
2019-01-25 21:02     ` Bjorn Helgaas
2019-01-25 21:09     ` Dave Hansen
2019-01-25 21:19       ` Bjorn Helgaas
2019-01-25 21:19         ` Bjorn Helgaas
2019-01-29  1:18       ` Michael Ellerman
2019-01-24 23:14 ` [PATCH 2/5] mm/resource: move HMM pr_debug() deeper into resource code Dave Hansen
2019-01-24 23:14   ` Dave Hansen
2019-01-25 19:07   ` Jerome Glisse
2019-01-25 21:18   ` Bjorn Helgaas
2019-01-25 21:18     ` Bjorn Helgaas
2019-01-25 21:24     ` Dave Hansen
2019-01-29  1:34       ` Michael Ellerman
2019-01-24 23:14 ` [PATCH 3/5] mm/memory-hotplug: allow memory resources to be children Dave Hansen
2019-01-24 23:14   ` Dave Hansen
2019-01-24 23:14 ` [PATCH 4/5] dax/kmem: let walk_system_ram_range() search child resources Dave Hansen
2019-01-24 23:14   ` Dave Hansen
2019-01-24 23:14 ` [PATCH 5/5] dax: "Hotplug" persistent memory for use like normal RAM Dave Hansen
2019-01-24 23:14   ` Dave Hansen
2019-01-25  6:13   ` Jane Chu
2019-01-25  6:27     ` Dan Williams
2019-01-25  6:27       ` Dan Williams
2019-01-25  8:20       ` Du, Fan
2019-01-25 17:18         ` Dan Williams
2019-01-25 18:20           ` Verma, Vishal L
2019-01-25 19:10             ` Jane Chu
2019-01-25 19:15               ` Dan Williams
2019-01-25 19:15                 ` Dan Williams
2019-01-25 23:30                 ` Jane Chu
2019-01-28  9:25                 ` Michal Hocko
2019-01-28 16:34                   ` Dan Williams
2019-01-28 16:34                     ` Dan Williams
2019-02-09 11:00   ` Brice Goglin [this message]
2019-02-11 16:22     ` Dave Hansen
2019-02-12 19:59       ` Brice Goglin
2019-02-13  0:30         ` Dan Williams
2019-02-13  8:12           ` Brice Goglin
2019-02-13  8:24             ` Dan Williams
2019-02-13  8:43               ` Brice Goglin
2019-02-13 13:06                 ` Brice Goglin
2019-02-13 16:19                   ` Dan Williams
2019-01-25 19:08 ` [PATCH 0/5] [v4] Allow persistent memory to be used " Jerome Glisse
2019-01-28 11:09 ` Balbir Singh
2019-01-28 16:50   ` Dave Hansen
2019-01-28 16:50     ` Dave Hansen
  -- strict thread matches above, loose matches on Subject: below --
2019-02-25 18:57 [PATCH 0/5] [v5] " Dave Hansen
2019-02-25 18:57 ` [PATCH 5/5] dax: "Hotplug" persistent memory for use " Dave Hansen
2019-02-25 22:56   ` Verma, Vishal L

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=c4c6aca8-6ee8-be10-65ae-4cbe0aa03bfb@inria.fr \
    --to=brice.goglin@inria.fr \
    --cc=akpm@linux-foundation.org \
    --cc=baiyaowei@cmss.chinamobile.com \
    --cc=bhelgaas@google.com \
    --cc=bp@suse.de \
    --cc=dave.hansen@linux.intel.com \
    --cc=fengguang.wu@intel.com \
    --cc=jglisse@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-nvdimm@lists.01.org \
    --cc=mhocko@suse.com \
    --cc=thomas.lendacky@amd.com \
    --cc=tiwai@suse.de \
    --cc=ying.huang@intel.com \
    --cc=zwisler@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;
as well as URLs for NNTP newsgroup(s).