Re: revamp vmem_altmap / dev_pagemap handling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2017-12-07 at 07:08 -0800, Christoph Hellwig wrote:
+AD4- Hi all,
+AD4- 
+AD4- this series started with two patches from Logan that now are in the
+AD4- middle of the series to kill the memremap-internal pgmap structure
+AD4- and to redo the dev+AF8-memreamp+AF8-pages interface to be better suitable
+AD4- for future PCI P2P uses.+AKAAoA-I reviewed them and noticed that there
+AD4- isn't really any good reason to keep struct vmem+AF8-altmap either,
+AD4- and that a lot of these alternative device page map access should
+AD4- be better abstracted out instead of being sprinkled all over the
+AD4- mm code.
+AD4- 
+AD4- Please review carefully, this has only been tested with my legacy
+AD4- e820 NVDIMM system.

I get this lockdep report booting it on my test-VM. I'll take a closer
look next week... the fsdax-vs-hole-punch-vs-dma fix is on the top of
my queue.

+AFs-    7.631431+AF0- +AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQ-
+AFs-    7.632668+AF0- WARNING: suspicious RCU usage
+AFs-    7.633494+AF0- 4.15.0-rc2+- +ACM-942 Tainted: G           O    
+AFs-    7.635262+AF0- -----------------------------
+AFs-    7.636764+AF0- ./include/linux/rcupdate.h:302 Illegal context switch in RCU read-side critical section+ACE-
+AFs-    7.640139+AF0- 
+AFs-    7.640139+AF0- other info that might help us debug this:
+AFs-    7.640139+AF0- 
+AFs-    7.643382+AF0- 
+AFs-    7.643382+AF0- rcu+AF8-scheduler+AF8-active +AD0- 2, debug+AF8-locks +AD0- 1
+AFs-    7.645814+AF0- 5 locks held by systemd-udevd/835:
+AFs-    7.647546+AF0-  +ACM-0:  (+ACY-dev-+AD4-mutex)+AHs-....+AH0-, at: +AFsAPA-0000000064217991+AD4AXQ- +AF8AXw-driver+AF8-attach+-0x58/0xe0
+AFs-    7.650171+AF0-  +ACM-1:  (+ACY-dev-+AD4-mutex)+AHs-....+AH0-, at: +AFsAPA-00000000527f6e1a+AD4AXQ- +AF8AXw-driver+AF8-attach+-0x66/0xe0
+AFs-    7.652779+AF0-  +ACM-2:  (cpu+AF8-hotplug+AF8-lock.rw+AF8-sem)+AHsAKwArACsAKwB9-, at: +AFsAPA-00000000a8b47692+AD4AXQ- mem+AF8-hotplug+AF8-begin+-0xa/0x20
+AFs-    7.655677+AF0-  +ACM-3:  (mem+AF8-hotplug+AF8-lock.rw+AF8-sem)+AHsAKwArACsAKwB9-, at: +AFsAPA-000000003d83cb2a+AD4AXQ- percpu+AF8-down+AF8-write+-0x27/0x120
+AFs-    7.658649+AF0-  +ACM-4:  (rcu+AF8-read+AF8-lock)+AHs-....+AH0-, at: +AFsAPA-00000000bcd32a45+AD4AXQ- vmemmap+AF8-populate+-0x0/0x373
+AFs-    7.661133+AF0- 
+AFs-    7.661133+AF0- stack backtrace:
+AFs-    7.662650+AF0- CPU: 22 PID: 835 Comm: systemd-udevd Tainted: G           O     4.15.0-rc2+- +ACM-942
+AFs-    7.665264+AF0- Hardware name: QEMU Standard PC (i440FX +- PIIX, 1996), BIOS rel-1.9.3-0-ge2fc41e-prebuilt.qemu-project.org 04/01/2014
+AFs-    7.668873+AF0- Call Trace:
+AFs-    7.668879+AF0-  dump+AF8-stack+-0x7d/0xbe
+AFs-    7.668885+AF0-  +AF8AXwBf-might+AF8-sleep+-0xe2/0x250
+AFs-    7.668890+AF0-  +AF8AXw-alloc+AF8-pages+AF8-nodemask+-0x107/0x3b0
+AFs-    7.668901+AF0-  vmemmap+AF8-alloc+AF8-block+-0x5a/0xc1
+AFs-    7.668904+AF0-  vmemmap+AF8-populate+-0x16c/0x373
+AFs-    7.668915+AF0-  sparse+AF8-mem+AF8-map+AF8-populate+-0x23/0x33
+AFs-    7.668917+AF0-  sparse+AF8-add+AF8-one+AF8-section+-0x45/0x179
+AFs-    7.668924+AF0-  +AF8AXw-add+AF8-pages+-0xc4/0x1f0
+AFs-    7.668935+AF0-  add+AF8-pages+-0x15/0x70
+AFs-    7.668939+AF0-  devm+AF8-memremap+AF8-pages+-0x293/0x440
+AFs-    7.668954+AF0-  pmem+AF8-attach+AF8-disk+-0x4f4/0x620 +AFs-nd+AF8-pmem+AF0-
+AFs-    7.668966+AF0-  ? nd+AF8-dax+AF8-probe+-0x105/0x140 +AFs-libnvdimm+AF0-
+AFs-    7.668971+AF0-  ? nd+AF8-dax+AF8-probe+-0x105/0x140 +AFs-libnvdimm+AF0-
+AFs-    7.668981+AF0-  nvdimm+AF8-bus+AF8-probe+-0x63/0x100 +AFs-libnvdimm+AF0-
+AFs-    7.668988+AF0-  driver+AF8-probe+AF8-device+-0x2a8/0x490
+AFs-    7.668993+AF0-  +AF8AXw-driver+AF8-attach+-0xde/0xe0
+AFs-    7.668997+AF0-  ? driver+AF8-probe+AF8-device+-0x490/0x490
+AFs-    7.668998+AF0-  bus+AF8-for+AF8-each+AF8-dev+-0x6a/0xb0
+AFs-    7.669002+AF0-  bus+AF8-add+AF8-driver+-0x16d/0x260
+AFs-    7.669005+AF0-  driver+AF8-register+-0x57/0xc0
+AFs-    7.669007+AF0-  ? 0xffffffffa0083000
+AFs-    7.669009+AF0-  do+AF8-one+AF8-initcall+-0x4e/0x18f
+AFs-    7.669012+AF0-  ? rcu+AF8-read+AF8-lock+AF8-sched+AF8-held+-0x3f/0x70
+AFs-    7.669014+AF0-  ? kmem+AF8-cache+AF8-alloc+AF8-trace+-0x2a0/0x310
+AFs-    7.669020+AF0-  do+AF8-init+AF8-module+-0x5b/0x213
+AFs-    7.669023+AF0-  load+AF8-module+-0x1873/0x1f10
+AFs-    7.669029+AF0-  ? show+AF8-coresize+-0x30/0x30
+AFs-    7.669035+AF0-  ? vfs+AF8-read+-0x131/0x150
+AFs-    7.669052+AF0-  ? SYSC+AF8-finit+AF8-module+-0xd2/0x100
+AFs-    7.669053+AF0-  SYSC+AF8-finit+AF8-module+-0xd2/0x100
+AFs-    7.669067+AF0-  do+AF8-syscall+AF8-64+-0x66/0x230
+AFs-    7.669070+AF0-  entry+AF8-SYSCALL64+AF8-slow+AF8-path+-0x25/0x25
+AFs-    7.669072+AF0- RIP: 0033:0x7fc493dd8229
+AFs-    7.669073+AF0- RSP: 002b:00007ffcaab453d8 EFLAGS: 00000246 ORIG+AF8-RAX: 0000000000000139
+AFs-    7.669074+AF0- RAX: ffffffffffffffda RBX: 00005643cb407bb0 RCX: 00007fc493dd8229
+AFs-    7.669075+AF0- RDX: 0000000000000000 RSI: 00007fc4949189c5 RDI: 000000000000000f
+AFs-    7.669076+AF0- RBP: 00007fc4949189c5 R08: 0000000000000000 R09: 00007ffcaab454f0
+AFs-    7.669076+AF0- R10: 000000000000000f R11: 0000000000000246 R12: 0000000000000000
+AFs-    7.669077+AF0- R13: 00005643cb408010 R14: 0000000000020000 R15: 00005643c97c8dec
+AFs-    7.669112+AF0- BUG: sleeping function called from invalid context at mm/page+AF8-alloc.c:4174
+AFs-    7.669113+AF0- in+AF8-atomic(): 1, irqs+AF8-disabled(): 0, pid: 835, name: systemd-udevd
+AFs-    7.669115+AF0- 5 locks held by systemd-udevd/835:
+AFs-    7.669115+AF0-  +ACM-0:  (+ACY-dev-+AD4-mutex)+AHs-....+AH0-, at: +AFsAPA-0000000064217991+AD4AXQ- +AF8AXw-driver+AF8-attach+-0x58/0xe0
+AFs-    7.669120+AF0-  +ACM-1:  (+ACY-dev-+AD4-mutex)+AHs-....+AH0-, at: +AFsAPA-00000000527f6e1a+AD4AXQ- +AF8AXw-driver+AF8-attach+-0x66/0xe0
+AFs-    7.669123+AF0-  +ACM-2:  (cpu+AF8-hotplug+AF8-lock.rw+AF8-sem)+AHsAKwArACsAKwB9-, at: +AFsAPA-00000000a8b47692+AD4AXQ- mem+AF8-hotplug+AF8-begin+-0xa/0x20
+AFs-    7.669126+AF0-  +ACM-3:  (mem+AF8-hotplug+AF8-lock.rw+AF8-sem)+AHsAKwArACsAKwB9-, at: +AFsAPA-000000003d83cb2a+AD4AXQ- percpu+AF8-down+AF8-write+-0x27/0x120
+AFs-    7.669130+AF0-  +ACM-4:  (rcu+AF8-read+AF8-lock)+AHs-....+AH0-, at: +AFsAPA-00000000bcd32a45+AD4AXQ- vmemmap+AF8-populate+-0x0/0x373
+AFs-    7.669135+AF0- CPU: 22 PID: 835 Comm: systemd-udevd Tainted: G           O     4.15.0-rc2+- +ACM-942
+AFs-    7.669136+AF0- Hardware name: QEMU Standard PC (i440FX +- PIIX, 1996), BIOS rel-1.9.3-0-ge2fc41e-prebuilt.qemu-project.org 04/01/2014
+AFs-    7.669136+AF0- Call Trace:
+AFs-    7.669139+AF0-  dump+AF8-stack+-0x7d/0xbe
+AFs-    7.669142+AF0-  +AF8AXwBf-might+AF8-sleep+-0x21e/0x250
+AFs-    7.669146+AF0-  +AF8AXw-alloc+AF8-pages+AF8-nodemask+-0x107/0x3b0
+AFs-    7.669154+AF0-  vmemmap+AF8-alloc+AF8-block+-0x5a/0xc1
+AFs-    7.669157+AF0-  vmemmap+AF8-populate+-0x16c/0x373
+AFs-    7.669167+AF0-  sparse+AF8-mem+AF8-map+AF8-populate+-0x23/0x33
+AFs-    7.669170+AF0-  sparse+AF8-add+AF8-one+AF8-section+-0x45/0x179
+AFs-    7.669176+AF0-  +AF8AXw-add+AF8-pages+-0xc4/0x1f0
+AFs-    7.669187+AF0-  add+AF8-pages+-0x15/0x70
+AFs-    7.669189+AF0-  devm+AF8-memremap+AF8-pages+-0x293/0x440
+AFs-    7.669199+AF0-  pmem+AF8-attach+AF8-disk+-0x4f4/0x620 +AFs-nd+AF8-pmem+AF0-
+AFs-    7.669210+AF0-  ? nd+AF8-dax+AF8-probe+-0x105/0x140 +AFs-libnvdimm+AF0-
+AFs-    7.669215+AF0-  ? nd+AF8-dax+AF8-probe+-0x105/0x140 +AFs-libnvdimm+AF0-
+AFs-    7.669226+AF0-  nvdimm+AF8-bus+AF8-probe+-0x63/0x100 +AFs-libnvdimm+AF0-
+AFs-    7.669232+AF0-  driver+AF8-probe+AF8-device+-0x2a8/0x490
+AFs-    7.669237+AF0-  +AF8AXw-driver+AF8-attach+-0xde/0xe0
+AFs-    7.669240+AF0-  ? driver+AF8-probe+AF8-device+-0x490/0x490
+AFs-    7.669242+AF0-  bus+AF8-for+AF8-each+AF8-dev+-0x6a/0xb0
+AFs-    7.669247+AF0-  bus+AF8-add+AF8-driver+-0x16d/0x260
+AFs-    7.669251+AF0-  driver+AF8-register+-0x57/0xc0
+AFs-    7.669253+AF0-  ? 0xffffffffa0083000
+AFs-    7.669255+AF0-  do+AF8-one+AF8-initcall+-0x4e/0x18f
+AFs-    7.669257+AF0-  ? rcu+AF8-read+AF8-lock+AF8-sched+AF8-held+-0x3f/0x70
+AFs-    7.669259+AF0-  ? kmem+AF8-cache+AF8-alloc+AF8-trace+-0x2a0/0x310
+AFs-    7.669267+AF0-  do+AF8-init+AF8-module+-0x5b/0x213
+AFs-    7.669271+AF0-  load+AF8-module+-0x1873/0x1f10
+AFs-    7.669276+AF0-  ? show+AF8-coresize+-0x30/0x30
+AFs-    7.669283+AF0-  ? vfs+AF8-read+-0x131/0x150
+AFs-    7.669309+AF0-  ? SYSC+AF8-finit+AF8-module+-0xd2/0x100
+AFs-    7.669312+AF0-  SYSC+AF8-finit+AF8-module+-0xd2/0x100
+AFs-    7.669332+AF0-  do+AF8-syscall+AF8-64+-0x66/0x230
+AFs-    7.669336+AF0-  entry+AF8-SYSCALL64+AF8-slow+AF8-path+-0x25/0x25
+AFs-    7.669337+AF0- RIP: 0033:0x7fc493dd8229
+AFs-    7.669338+AF0- RSP: 002b:00007ffcaab453d8 EFLAGS: 00000246 ORIG+AF8-RAX: 0000000000000139
+AFs-    7.669340+AF0- RAX: ffffffffffffffda RBX: 00005643cb407bb0 RCX: 00007fc493dd8229
+AFs-    7.669341+AF0- RDX: 0000000000000000 RSI: 00007fc4949189c5 RDI: 000000000000000f
+AFs-    7.669342+AF0- RBP: 00007fc4949189c5 R08: 0000000000000000 R09: 00007ffcaab454f0
+AFs-    7.669344+AF0- R10: 000000000000000f R11: 0000000000000246 R12: 0000000000000000
+AFs-    7.669345+AF0- R13: 00005643cb408010 R14: 0000000000020000 R15: 00005643c97c8dec
+AFs-    7.680772+AF0- pmem2: detected capacity change from 0 to 33285996544
+AFs-    7.834748+AF0- pmem0: detected capacity change from 0 to 4294967296
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]
  Powered by Linux