public inbox for linux-doc@vger.kernel.org
 help / color / mirror / Atom feed
From: Alison Schofield <alison.schofield@intel.com>
To: John Groves <john@jagalactic.com>
Cc: John Groves <John@groves.net>, Miklos Szeredi <miklos@szeredi.hu>,
	"Dan Williams" <dan.j.williams@intel.com>,
	Bernd Schubert <bschubert@ddn.com>,
	"John Groves" <jgroves@micron.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Vishal Verma <vishal.l.verma@intel.com>,
	"Dave Jiang" <dave.jiang@intel.com>,
	Matthew Wilcox <willy@infradead.org>, Jan Kara <jack@suse.cz>,
	Alexander Viro <viro@zeniv.linux.org.uk>,
	David Hildenbrand <david@kernel.org>,
	Christian Brauner <brauner@kernel.org>,
	"Darrick J . Wong" <djwong@kernel.org>,
	Randy Dunlap <rdunlap@infradead.org>,
	Jeff Layton <jlayton@kernel.org>,
	Amir Goldstein <amir73il@gmail.com>,
	Jonathan Cameron <Jonathan.Cameron@huawei.com>,
	Stefan Hajnoczi <shajnocz@redhat.com>,
	"Joanne Koong" <joannelkoong@gmail.com>,
	Josef Bacik <josef@toxicpanda.com>,
	"Bagas Sanjaya" <bagasdotme@gmail.com>,
	Chen Linxuan <chenlinxuan@uniontech.com>,
	James Morse <james.morse@arm.com>, Fuad Tabba <tabba@google.com>,
	"Sean Christopherson" <seanjc@google.com>,
	Shivank Garg <shivankg@amd.com>,
	"Ackerley Tng" <ackerleytng@google.com>,
	Gregory Price <gourry@gourry.net>,
	"Aravind Ramesh" <arramesh@micron.com>,
	Ajay Joshi <ajayjoshi@micron.com>,
	"venkataravis@micron.com" <venkataravis@micron.com>,
	"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"nvdimm@lists.linux.dev" <nvdimm@lists.linux.dev>,
	"linux-cxl@vger.kernel.org" <linux-cxl@vger.kernel.org>,
	"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>
Subject: Re: [PATCH V10 0/8] dax: prepare for famfs
Date: Mon, 13 Apr 2026 15:41:36 -0700	[thread overview]
Message-ID: <ad1xIOhiX30NrmbD@aschofie-mobl2.lan> (raw)
In-Reply-To: <acrpbBt5UsWEiEbm@aschofie-mobl2.lan>

On Mon, Mar 30, 2026 at 02:21:48PM -0700, Alison Schofield wrote:
> On Fri, Mar 27, 2026 at 09:03:26PM +0000, John Groves wrote:
> > From: John Groves <john@groves.net>
> > 
> > This patch series along with the bundled patches to fuse are available
> > as a git tag at [0].
> > 
> > Dropped the "bundle" thread. If this submission goes smoothly, I'll update
> > the fuse patches to v10 (very little change there as yet).
> > 
> > Changes v9 -> v10
> > - Minor modernizations per comments from (mostly) Jonathan
> > - Minor Kconfig simplification
> > - bus.c:dax_match_type(): don't make fsdev_dax eligible for automatic binding
> >   where devdax would otherwise bind
> > - dax-private.h: add missing kerneldoc comment for field cached_size in
> >   struct dev_dax_range (thanks Dave)
> > - fsdev_write_dax(): s/pmem_addr/addr/ (thanks Dave)
> > - include/linux/dax.h: remove a spuriously-added declaration of inode_dax()
> >   (thanks Jonathan)
> > 
> > Description:
> > 
> > This patch series introduces the required dax support for famfs.
> > Previous versions of the famfs series included both dax and fuse patches.
> > This series separates them into separate patch series' (and the fuse
> > series dependends on this dax series).
> > 
> > The famfs user space code can be found at [1]
> > 
> > Dax Overview:
> > 
> > This series introduces a new "famfs mode" of devdax, whose driver is
> > drivers/dax/fsdev.c. This driver supports dax_iomap_rw() and
> > dax_iomap_fault() calls against a character dax instance. A dax device
> > now can be converted among three modes: 'system-ram', 'devdax' and
> > 'famfs' via daxctl or sysfs (e.g. unbind devdax and bind famfs instead).
> > 
> > In famfs mode, a dax device initializes its pages consistent with the
> > fsdaxmode of pmem. Raw read/write/mmap are not supported in this mode,
> > but famfs is happy in this mode - using dax_iomap_rw() for read/write and
> > dax_iomap_fault() for mmap faults.
> > 
> 
> Here's what I found:
> 
> famfs-v10 on 7.0-rc5 + ndctl v84:
> 	dax suite all pass 13/13, so no regression appears
> 
> famfs-v10 on 7.0-rc5 +
> (ndctl v84 w https://github.com/jagalactic/ndctl/tree/famfs
> top 3 patches + edit daxctl-famfs.sh to use cxl-test:
> 
> 	existing dax suite keeps passing
> 	daxctl-famfs.sh oops w the new test at # Restore original mode"
> 	seems easy to repoduce, maybe cannot go back to system-ram???

My stack trace differed from Ira's.  I hit:

[   88.991865] probe of dax0.0 returned 0 after 2371506 usecs
[   88.996717] page: refcount:0 mapcount:1 mapping:0000000000000000 index:0x0 pfn:0x3ff028000
[   88.997592] BUG: unable to handle page fault for address: ffffc9000f4c8033
[   88.998256] #PF: supervisor read access in kernel mode
[   88.998728] #PF: error_code(0x0000) - not-present page
[   88.999254] PGD 80a067 P4D 80a067 PUD 193e067 PMD 79baf067 PTE 0
[   88.999799] Oops: Oops: 0000 [#1] SMP NOPTI
[   89.000253] CPU: 5 UID: 0 PID: 1476 Comm: daxctl Tainted: G           O        7.0.0-rc5+ #182 PREEMPT(full) 
[   89.001092] Tainted: [O]=OOT_MODULE
[   89.001630] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015
[   89.002345] RIP: 0010:is_free_buddy_page+0x39/0x60
[   89.002816] Code: 00 00 00 48 c1 fe 06 eb 0a 48 83 c1 01 48 83 f9 0b 74 30 44 89 c0 48 89 fa d3 e0 83 e8 01 48 98 48 21 f0 48 c1 e0 06 48 29 c2 <80> 7a 33 f0 75 d9 48 8b 42 28 48 39 c8 72 d0 b8 01 00 00 00 e9 ce
[   89.004504] RSP: 0018:ffffc9000f4cf828 EFLAGS: 00010286
[   89.005039] RAX: 0000000000007a80 RBX: ffffc9000f4cf8a0 RCX: 0000000000000009
[   89.005674] RDX: ffffc9000f4c8000 RSI: ffffff7c003d33ea RDI: ffffc9000f4cfa80
[   89.006350] RBP: ffffc9000f4cf838 R08: 0000000000000001 R09: 00000000ffefffff
[   89.007000] R10: ffffc9000f4cfa38 R11: ffff888376ffe000 R12: ffffc9000f4cfa80
[   89.007673] R13: ffffc9000f4cf9a0 R14: 0000000000000006 R15: 0000000000000001
[   89.008395] FS:  00007f3fbca2e7c0(0000) GS:ffff8881fa75f000(0000) knlGS:0000000000000000
[   89.009156] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   89.009715] CR2: ffffc9000f4c8033 CR3: 000000012f638003 CR4: 0000000000370ef0
[   89.010447] Call Trace:
[   89.010767]  <TASK>
[   89.011083]  ? set_ps_flags.constprop.0+0x3c/0x70
[   89.011559]  snapshot_page+0x2ca/0x330
[   89.011974]  __dump_page+0x2e/0x380
[   89.012362]  ? up+0x5a/0x90
[   89.012704]  dump_page+0x16/0x50
[   89.013108]  ? dump_page+0x16/0x50
[   89.013489]  __get_pfnblock_flags_mask+0x6f/0xd0
[   89.013958]  get_pfnblock_migratetype+0xe/0x30
[   89.014412]  __dump_page+0x15b/0x380
[   89.014816]  dump_page+0x16/0x50
[   89.015210]  ? dump_page+0x16/0x50
[   89.015587]  __set_pfnblock_flags_mask.constprop.0+0x6f/0xf0
[   89.016195]  init_pageblock_migratetype+0x39/0x60
[   89.016692]  memmap_init_range+0x165/0x290
[   89.017205]  move_pfn_range_to_zone+0xed/0x200
[   89.017688]  mhp_init_memmap_on_memory+0x23/0xb0
[   89.018223]  memory_subsys_online+0x127/0x1a0
[   89.018693]  device_online+0x4d/0x90
[   89.019149]  state_store+0x96/0xa0
[   89.019552]  dev_attr_store+0x12/0x30
[   89.019975]  sysfs_kf_write+0x48/0x70
[   89.020381]  kernfs_fop_write_iter+0x160/0x210
[   89.020876]  vfs_write+0x261/0x500
[   89.021311]  ksys_write+0x5c/0xf0
[   89.021701]  __x64_sys_write+0x14/0x20
[   89.022180]  x64_sys_call+0x1cb7/0x2010
[   89.022640]  do_syscall_64+0xb1/0x560
[   89.023096]  entry_SYSCALL_64_after_hwframe+0x71/0x79
[   89.023615] RIP: 0033:0x7f3fbc901c37
[   89.024050] Code: 0f 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b7 0f 1f 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 51 c3 48 83 ec 28 48 89 54 24 18 48 89 74 24
[   89.025768] RSP: 002b:00007ffdbdf63c68 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
[   89.026517] RAX: ffffffffffffffda RBX: 00007ffdbdf64228 RCX: 00007f3fbc901c37
[   89.027280] RDX: 000000000000000f RSI: 00007f3fbcb554de RDI: 0000000000000004
[   89.027934] RBP: 00007ffdbdf63ca0 R08: 0000000000000000 R09: 0000000000000073
[   89.028610] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
[   89.029337] R13: 00007ffdbdf64260 R14: 0000000000414da0 R15: 00007f3fbcb9b000
[   89.030051]  </TASK>
[   89.030364] Modules linked in: cxl_test(O) cxl_acpi(O) cxl_pmem(O) device_dax(O) fsdev_dax kmem dax_pmem(O) nd_pmem(O) dax_cxl nd_btt(O) nd_e820(O) nfit(O) cxl_mock_mem(O) cxl_mem(O) cxl_port(O) cxl_mock(O) libnvdimm(O) nfit_test_iomap(O) cxl_core(O) fwctl [last unloaded: cxl_pmem(O)]
[   89.032575] CR2: ffffc9000f4c8033
[   89.032960] ---[ end trace 0000000000000000 ]---
[   89.033460] RIP: 0010:is_free_buddy_page+0x39/0x60
[   89.033948] Code: 00 00 00 48 c1 fe 06 eb 0a 48 83 c1 01 48 83 f9 0b 74 30 44 89 c0 48 89 fa d3 e0 83 e8 01 48 98 48 21 f0 48 c1 e0 06 48 29 c2 <80> 7a 33 f0 75 d9 48 8b 42 28 48 39 c8 72 d0 b8 01 00 00 00 e9 ce
[   89.035645] RSP: 0018:ffffc9000f4cf828 EFLAGS: 00010286
[   89.036235] RAX: 0000000000007a80 RBX: ffffc9000f4cf8a0 RCX: 0000000000000009
[   89.036910] RDX: ffffc9000f4c8000 RSI: ffffff7c003d33ea RDI: ffffc9000f4cfa80
[   89.037588] RBP: ffffc9000f4cf838 R08: 0000000000000001 R09: 00000000ffefffff
[   89.038310] R10: ffffc9000f4cfa38 R11: ffff888376ffe000 R12: ffffc9000f4cfa80
[   89.039008] R13: ffffc9000f4cf9a0 R14: 0000000000000006 R15: 0000000000000001
[   89.039710] FS:  00007f3fbca2e7c0(0000) GS:ffff8881fa75f000(0000) knlGS:0000000000000000
[   89.040506] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   89.041129] CR2: ffffc9000f4c8033 CR3: 000000012f638003 CR4: 0000000000370ef0
[   89.041836] note: daxctl[1476] exited with irqs disabled
 


> 
> Let me know if you need more info.
> 
> -- Alison
> 
> 

      parent reply	other threads:[~2026-04-13 22:42 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20260327210311.79099-1-john@jagalactic.com>
2026-03-27 21:03 ` [PATCH V10 0/8] dax: prepare for famfs John Groves
2026-03-27 21:04   ` [PATCH V10 1/8] dax: move dax_pgoff_to_phys from [drivers/dax/] device.c to bus.c John Groves
2026-03-27 21:04   ` [PATCH V10 2/8] dax: Factor out dax_folio_reset_order() helper John Groves
2026-03-27 21:04   ` [PATCH V10 3/8] dax: add fsdev.c driver for fs-dax on character dax John Groves
2026-03-27 21:04   ` [PATCH V10 4/8] dax: Save the kva from memremap John Groves
2026-03-27 21:04   ` [PATCH V10 5/8] dax: Add dax_operations for use by fs-dax on fsdev dax John Groves
2026-03-27 21:05   ` [PATCH V10 6/8] dax: Add dax_set_ops() for setting dax_operations at bind time John Groves
2026-03-27 21:05   ` [PATCH V10 7/8] dax: Add fs_dax_get() func to prepare dax for fs-dax usage John Groves
2026-03-27 21:05   ` [PATCH V10 8/8] dax: export dax_dev_get() John Groves
2026-03-30 21:21   ` [PATCH V10 0/8] dax: prepare for famfs Alison Schofield
2026-04-13 20:51     ` Ira Weiny
2026-04-13 21:37       ` Ira Weiny
2026-04-13 21:40       ` Ira Weiny
2026-04-13 22:26         ` John Groves
2026-04-13 22:22       ` John Groves
2026-04-13 22:41     ` Alison Schofield [this message]

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=ad1xIOhiX30NrmbD@aschofie-mobl2.lan \
    --to=alison.schofield@intel.com \
    --cc=John@groves.net \
    --cc=Jonathan.Cameron@huawei.com \
    --cc=ackerleytng@google.com \
    --cc=ajayjoshi@micron.com \
    --cc=amir73il@gmail.com \
    --cc=arramesh@micron.com \
    --cc=bagasdotme@gmail.com \
    --cc=brauner@kernel.org \
    --cc=bschubert@ddn.com \
    --cc=chenlinxuan@uniontech.com \
    --cc=corbet@lwn.net \
    --cc=dan.j.williams@intel.com \
    --cc=dave.jiang@intel.com \
    --cc=david@kernel.org \
    --cc=djwong@kernel.org \
    --cc=gourry@gourry.net \
    --cc=jack@suse.cz \
    --cc=james.morse@arm.com \
    --cc=jgroves@micron.com \
    --cc=jlayton@kernel.org \
    --cc=joannelkoong@gmail.com \
    --cc=john@jagalactic.com \
    --cc=josef@toxicpanda.com \
    --cc=linux-cxl@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=miklos@szeredi.hu \
    --cc=nvdimm@lists.linux.dev \
    --cc=rdunlap@infradead.org \
    --cc=seanjc@google.com \
    --cc=shajnocz@redhat.com \
    --cc=shivankg@amd.com \
    --cc=skhan@linuxfoundation.org \
    --cc=tabba@google.com \
    --cc=venkataravis@micron.com \
    --cc=viro@zeniv.linux.org.uk \
    --cc=vishal.l.verma@intel.com \
    --cc=willy@infradead.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