On Thu, Jun 27, 2019 at 9:06 AM Dan Williams <dan.j.williams@xxxxxxxxx> wrote: > > On Thu, Jun 27, 2019 at 5:34 AM Matthew Wilcox <willy@xxxxxxxxxxxxx> 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.