From: Dave Chinner <david@fromorbit.com>
To: Dan Williams <dan.j.williams@intel.com>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>,
Jan Kara <jack@suse.cz>, Eryu Guan <eguan@redhat.com>,
"linux-nvdimm@lists.01.org" <linux-nvdimm@lists.01.org>,
"Darrick J. Wong" <darrick.wong@oracle.com>,
fstests@vger.kernel.org, linux-xfs@vger.kernel.org,
Christoph Hellwig <hch@lst.de>
Subject: Re: [PATCH] xfs: add regression test for DAX mount option usage
Date: Thu, 14 Sep 2017 09:34:38 +1000 [thread overview]
Message-ID: <20170913233438.GY10621@dastard> (raw)
In-Reply-To: <CAPcyv4hGSLQS1GmTYtzMCBDDNNuK1nLRKme6e-Vpx8_pyaJwrg@mail.gmail.com>
On Wed, Sep 13, 2017 at 03:23:39PM -0700, Dan Williams wrote:
> On Wed, Sep 13, 2017 at 3:01 PM, Dave Chinner <david@fromorbit.com> wrote:
> > On Wed, Sep 13, 2017 at 08:42:15AM -0600, Ross Zwisler wrote:
> >> On Wed, Sep 13, 2017 at 09:47:29AM +1000, Dave Chinner wrote:
> >>
> >> <>
> >>
> >> > I think similar concerns exist with using perf, too....
> >>
> >> I though that using perf addressed both concerns?
> >>
> >> > > > So what happens when the user is already tracing the test to
> >> > > > find a bug and the test turns all their tracing off?
> >>
> >> By using perf we isolate our tracing from whatever other tracing is happening
> >> in the system. So, unlike the case where we were messing with a system-wide
> >> ftrace knob, we run perf on our executable, and someone else can run perf on
> >> their executable, and they don't collide.
> >
> > Yes, you've addressed the "gets inteh way of other tracing concern,
> > but it's doesn't address the "it's an ugly way to determine a
> > feature is active" concerns. It also creates an implicit stable
> > tracepoint out of whatever you are looking at. i.e. that tracepoint
> > can't go away, nor can it change functionality once a userspace app
> > depends on it's current semantics to function correctly.
> >
> > And....
> >
> >> > > > Regardless of this screwing up developer bug triage, do we really
> >> > > > want to add a dependency on kernel tracing into the test harness?
> >>
> >> Yep, you're right that this adds a dependency on perf. But unfortunately,
> >> without using either perf or ftrace, I don't know of a way to detect whether
> >> or not DAX is actually being used. Can you think of another way?
> >
> > ... if there isn't a programmatic interface to tell applications
> > that DAX is in use, then perhaps we're missing a formal userspace
> > API that we should have, yes?
> >
> >> I tried to do this correctly and just skip the test with _notrun
> >> if perf isn't available on the host system. This is the same
> >> thing that happens if you are missing other dependencies for a
> >> test (some other command (chacl, getfattr, setfattr) not present,
> >> quota tools not installed, required users not present, etc).
> >
> > Sure, but if we have user configurable functionality, then using
> > something like ftrace/perf to discover if it's turned is indicative
> > of a bigger problem. i.e. that the user can't tell if the
> > functionality they turned on/off is actually active or not.
> >
> > That's a bug that needs fixing, not working around with
> > ftrace/perf in xfstests...
> >
>
> Yes, we need a way to determine that DAX is enabled, but certainly not
> a VM_DAX flag as that was NAKd by you here:
>
> https://lkml.org/lkml/2016/9/16/13
Yeah, the on disk flag doesn't tell you if DAX is actually in use or
not.
> I think one consideration is to just build this into MAP_SYNC.
> MAP_SYNC can only succeed if DAX is enabled and that it is a reliable
> way for userspace to assume DAX. There is some consensus for this
> proposal here:
>
> https://lists.01.org/pipermail/linux-nvdimm/2017-August/012086.html
That'll probe that it can be used, not that it is currently being
used.
/me shrugs
I just don't like the concept of using tracepoints to as a
definitive diagnostic test for something working because it'll break
when the kernel implementation and tracepoints change. So while we
can probe for perf being present, we can't probe whether the
tracepoint we need behaves as the test expects it to...
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
next prev parent reply other threads:[~2017-09-13 23:34 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-07 21:08 [PATCH 0/2] xfs: some DAX fixes Ross Zwisler
2017-09-07 21:08 ` [PATCH 1/2] xfs: always use DAX if mount option is used Ross Zwisler
2017-09-08 7:20 ` Christoph Hellwig
2017-09-08 15:28 ` Ross Zwisler
2017-09-08 21:21 ` [PATCH] xfs: add regression test for DAX mount option usage Ross Zwisler
2017-09-11 15:16 ` Ross Zwisler
2017-09-11 15:37 ` Dan Williams
2017-09-11 20:01 ` [fstests PATCH v2] " Ross Zwisler
2017-09-14 6:57 ` Eryu Guan
2017-09-15 22:42 ` Ross Zwisler
2017-09-16 22:26 ` Dave Chinner
2017-09-12 6:44 ` [PATCH] " Dave Chinner
2017-09-12 15:38 ` Ross Zwisler
2017-09-12 23:47 ` Dave Chinner
2017-09-13 14:42 ` Ross Zwisler
2017-09-13 22:01 ` Dave Chinner
2017-09-13 22:23 ` Dan Williams
2017-09-13 23:34 ` Dave Chinner [this message]
2017-09-14 0:28 ` Dan Williams
2017-09-14 0:40 ` Dave Chinner
2017-09-14 1:24 ` Dan Williams
2017-09-14 12:19 ` Jeff Moyer
2017-09-14 13:16 ` Johannes Thumshirn
2017-09-14 14:10 ` Dan Williams
2017-09-15 9:18 ` Johannes Thumshirn
2017-09-15 17:39 ` Dan Williams
2017-09-18 7:47 ` Johannes Thumshirn
2017-09-07 21:08 ` [PATCH 2/2] xfs: validate bdev support for DAX inode flag Ross Zwisler
2017-09-08 7:21 ` Christoph Hellwig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170913233438.GY10621@dastard \
--to=david@fromorbit.com \
--cc=dan.j.williams@intel.com \
--cc=darrick.wong@oracle.com \
--cc=eguan@redhat.com \
--cc=fstests@vger.kernel.org \
--cc=hch@lst.de \
--cc=jack@suse.cz \
--cc=linux-nvdimm@lists.01.org \
--cc=linux-xfs@vger.kernel.org \
--cc=ross.zwisler@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).