Slow boot initialization on machines with Intel Optane DC Memory causing auto-mount to fail
This document (7023909) is provided subject to the disclaimer at the end of this document.
Environment
SUSE Linux Enterprise Server 12
Situation
/dev/pmem0 /mnt/pmem0 xfs dax 0 0/dev/pmem1 /mnt/pmem1 xfs dax 0 0
Namespaces need to be created individually. That means, you need to execute the following command for each namespace you want to create:
ndctl create-namespace --mode=fsdax --map=dev
- Both SLES12 SP4 and SLES15 emit a WARNING with stack trace, which is quite visible in dmesg.
--- cut here ---[ 577.289407] Device driver nd_pmem initialization / probe took 542228 ms to complete, report this[ 577.289418] ------------[ cut here ]------------[ 577.289428] WARNING: CPU: 4 PID: 1950 at ../kernel/module.c:3879 load_module+0x1a19/0x2190--- cut here ---This tells us that the module took 542s to initialize and that is considered long enough to trigger a generic warning in the modules loader. This conditional is not fatal in itself but userspace triggering a message the module load might have its own thresholds and failure modes.
- Both SLES12 SP4 and SLES15 will create a NMI warning message when changing and destroying a large "fsdax" or "devdax" namespace.
--- cut here ---NMI watchdog: BUG: soft lockup - CPU#<CPU-ID> stuck for 23s! [ndctl:<PID>]--- cut here ---
- SLES12 SP4 boot procedure stops at emergency shell without any change to /etc/fstab and the default systemd timeout value of 90 sec.
- SLES15 boot procedure stops at emergency shell if user modifies /etc/fstab to have entries to mount pmem devices (without nofail) while the default systemd timeout value remains 90 sec.
Resolution
--- cut here ---
[Service]TimeoutSec=1200sExecStart=/usr/bin/udevadm settle -t 300--- cut here ---
In earlier versions of this TID and SLES release notes, it was recommended to mount persistent memory with the nofail option in /etc/fstab. This frequently required a manual mount of pmem devices on reboot. To automatically mount pmem file systems after reboot, It is strongly recommend that the nofail option not be used and instead, modify the timeout value as described above.
Cause
Disclaimer
This Support Knowledgebase provides a valuable tool for SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.
- Document ID:7023909
- Creation Date: 03-Jun-2019
- Modified Date:09-Mar-2025
-
- SUSE Linux Enterprise Server
For questions or concerns with the SUSE Knowledgebase please contact: tidfeedback[at]suse.com