The problem is fairly easy to reproduce in as little as 10 minutes.
Do the following in parallel, like in separate terminals. Example...
in term #1, #3, #5, type
while [1]; do ndctl create-namespace -m devdax -s 48G done
in term #2, #4, #6, type
while [1]; do ndctl destroy-namespace all -f done
Even simple invocation will eventually lead to a panic, it can take hours though. Example...
in term #1 run the script
#/bin/bash
while /bin/true
do
ndctl destroy-namespace -f all
date
for R in ndctl list -R | jq -r ".[] | .dev"
do
for i in {1..10}
do
ndctl create-namespace -r $R -s 8g -m devdax
done
done
done
in term #2 type
while /bin/true; do ndctl list done
Run that same terminal #1 script in 2 separate terminals, thereby creating 2 separate threads that will destroy/create will usually result in a panic within an hour.
Description:
Patch: fix patch in the libnvdimm pending tree. /lists. 01.org/ pipermail/ linux-nvdimm/ 2019-June/ 021847. html /git.kernel. org/pub/ scm/linux/ kernel/ git/djbw/ nvdimm. git/log/ ?h=libnvdimm- pending
Proposed fixes here: https:/
and pushed out to libnvdimm-pending: https:/
Upstream Bug link: https:/ /github. com/pmem/ ndctl/issues/ 96
The problem is fairly easy to reproduce in as little as 10 minutes.
Do the following in parallel, like in separate terminals. Example...
in term #1, #3, #5, type
while [1]; do ndctl create-namespace -m devdax -s 48G done
in term #2, #4, #6, type
while [1]; do ndctl destroy-namespace all -f done
Even simple invocation will eventually lead to a panic, it can take hours though. Example...
in term #1 run the script
#/bin/bash
while /bin/true
do
ndctl destroy-namespace -f all
date
for R in ndctl list -R | jq -r ".[] | .dev"
do
for i in {1..10}
do
ndctl create-namespace -r $R -s 8g -m devdax
done
done
done
in term #2 type
while /bin/true; do ndctl list done
Run that same terminal #1 script in 2 separate terminals, thereby creating 2 separate threads that will destroy/create will usually result in a panic within an hour.
Target Kernel: 5.2
Target Release: 19.10