On Thu, Jun 27, 2019 at 9:06 AM Dan Williams <dan.j.williams(a)intel.com> wrote:
On Thu, Jun 27, 2019 at 5:34 AM Matthew Wilcox <willy(a)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