On Thu, Jun 27, 2019 at 9:06 AM Dan Williams dan.j.williams@intel.com wrote:
On Thu, Jun 27, 2019 at 5:34 AM Matthew Wilcox willy@infradead.org wrote:
On Wed, Jun 26, 2019 at 05:15:45PM -0700, Dan Williams wrote:
Ever since the conversion of DAX to the Xarray a RocksDB benchmark has been encountering intermittent lockups. The backtraces always include the filesystem-DAX PMD path, multi-order entries have been a source of bugs in the past, and disabling the PMD path allows a test that fails in minutes to run for an hour.
On May 4th, I asked you:
Since this is provoked by a fatal signal, it must have something to do with a killable or interruptible sleep. There's only one of those in the DAX code; fatal_signal_pending() in dax_iomap_actor(). Does rocksdb do I/O with write() or through a writable mmap()? I'd like to know before I chase too far down this fault tree analysis.
RocksDB in this case is using write() for writes and mmap() for reads.
It's not clear to me that a fatal signal is a component of the failure as much as it's the way to detect that the benchmark has indeed locked up.