All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dave Chinner <david@fromorbit.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Jan Kara <jack@suse.cz>,
	Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <mawilcox@microsoft.com>,
	"linux-nvdimm@lists.01.org" <linux-nvdimm@lists.01.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Christoph Hellwig <hch@lst.de>, linux-mm <linux-mm@kvack.org>,
	Ingo Molnar <mingo@redhat.com>, Al Viro <viro@zeniv.linux.org.uk>,
	linux-fsdevel <linux-fsdevel@vger.kernel.org>,
	"linux-ext4@vger.kernel.org" <linux-ext4@vger.kernel.org>
Subject: Re: [PATCH 3/6] dax: add tracepoint infrastructure, PMD tracing
Date: Mon, 28 Nov 2016 20:09:23 +1100	[thread overview]
Message-ID: <20161128090923.GB31101@dastard> (raw)
In-Reply-To: <CA+55aFwmCVZECoMszXZkJ8tSpG5+Ynt-5EKxKqDepNtjUv5vkg@mail.gmail.com>

On Sun, Nov 27, 2016 at 04:58:43PM -0800, Linus Torvalds wrote:
> On Sun, Nov 27, 2016 at 2:42 PM, Dave Chinner <david@fromorbit.com> wrote:
> >
> > And that's exactly why we need a method of marking tracepoints as
> > stable. How else are we going to know whether a specific tracepoint
> > is stable if the kernel code doesn't document that it's stable?
> 
> You are living in some unrealistic dream-world where you think you can
> get the right tracepoint on the first try.

No, I'm  under no illusions that we'd get stable tracepoints right
the first go. I don't care about how we stabilise stable
tracepoints, because nothing I maintain will use stable tracepoints.
However, I will point out that we have /already solved these ABI
development problems/.

$ ls Documentation/ABI/
obsolete  README  removed  stable  testing
$

Expands this to include stable tracepoints, not just sysfs files.
New stable stuff gets classified as "testing" meaning it is supposed
to be stable but may change before being declared officially stable.
"stable" is obvious, are "obsolete" and "removed".


> So there is no way in hell I would ever mark any tracepoint "stable"
> until it has had a fair amount of use, and there are useful tools that
> actually make use of it, and it has shown itself to be the right
> trace-point.
> 
> And once that actually happens, what's the advantage of marking it
> stable? None. It's a catch-22. Before it has uses and has been tested
> and found to be good, it's not stable. And after, it's pointless.

And that "catch-22" is *precisely the problem we need to solve*.

Pointing out that there's a catch-22 doesn't help anyone - all the
developers that are telling you that they really need a way to mark
stable tracepoints already understand this catch-22 and they want a
way to avoid it.  Being able to either say "this is stable and we'll
support it forever" or "this will never be stable so use at your own
risk" is a simple way of avoiding the catch-22. If an unstable
tracepoint is useful to applications *and it can be implemented in a
maintainable, stable form* then it can go through the process of
being made stable and documented in Documentation/ABI/stable.

Problem is solved, catch-22 is gone.

All we want is some method of making a clear, unambiguous statement
about the nature of a specific tracepoint and a process for
transitioning a tracepoint to a stable, maintainable form. We do it
for other ABI interfaces, so why can't we do this for tracepoints?

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com
_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm

WARNING: multiple messages have this Message-ID (diff)
From: Dave Chinner <david@fromorbit.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Al Viro <viro@zeniv.linux.org.uk>,
	Ross Zwisler <ross.zwisler@linux.intel.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Christoph Hellwig <hch@lst.de>,
	Dan Williams <dan.j.williams@intel.com>,
	Ingo Molnar <mingo@redhat.com>, Jan Kara <jack@suse.cz>,
	Matthew Wilcox <mawilcox@microsoft.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	"linux-ext4@vger.kernel.org" <linux-ext4@vger.kernel.org>,
	linux-fsdevel <linux-fsdevel@vger.kernel.org>,
	linux-mm <linux-mm@kvack.org>,
	"linux-nvdimm@lists.01.org" <linux-nvdimm@ml01.01.org>
Subject: Re: [PATCH 3/6] dax: add tracepoint infrastructure, PMD tracing
Date: Mon, 28 Nov 2016 20:09:23 +1100	[thread overview]
Message-ID: <20161128090923.GB31101@dastard> (raw)
In-Reply-To: <CA+55aFwmCVZECoMszXZkJ8tSpG5+Ynt-5EKxKqDepNtjUv5vkg@mail.gmail.com>

On Sun, Nov 27, 2016 at 04:58:43PM -0800, Linus Torvalds wrote:
> On Sun, Nov 27, 2016 at 2:42 PM, Dave Chinner <david@fromorbit.com> wrote:
> >
> > And that's exactly why we need a method of marking tracepoints as
> > stable. How else are we going to know whether a specific tracepoint
> > is stable if the kernel code doesn't document that it's stable?
> 
> You are living in some unrealistic dream-world where you think you can
> get the right tracepoint on the first try.

No, I'm  under no illusions that we'd get stable tracepoints right
the first go. I don't care about how we stabilise stable
tracepoints, because nothing I maintain will use stable tracepoints.
However, I will point out that we have /already solved these ABI
development problems/.

$ ls Documentation/ABI/
obsolete  README  removed  stable  testing
$

Expands this to include stable tracepoints, not just sysfs files.
New stable stuff gets classified as "testing" meaning it is supposed
to be stable but may change before being declared officially stable.
"stable" is obvious, are "obsolete" and "removed".


> So there is no way in hell I would ever mark any tracepoint "stable"
> until it has had a fair amount of use, and there are useful tools that
> actually make use of it, and it has shown itself to be the right
> trace-point.
> 
> And once that actually happens, what's the advantage of marking it
> stable? None. It's a catch-22. Before it has uses and has been tested
> and found to be good, it's not stable. And after, it's pointless.

And that "catch-22" is *precisely the problem we need to solve*.

Pointing out that there's a catch-22 doesn't help anyone - all the
developers that are telling you that they really need a way to mark
stable tracepoints already understand this catch-22 and they want a
way to avoid it.  Being able to either say "this is stable and we'll
support it forever" or "this will never be stable so use at your own
risk" is a simple way of avoiding the catch-22. If an unstable
tracepoint is useful to applications *and it can be implemented in a
maintainable, stable form* then it can go through the process of
being made stable and documented in Documentation/ABI/stable.

Problem is solved, catch-22 is gone.

All we want is some method of making a clear, unambiguous statement
about the nature of a specific tracepoint and a process for
transitioning a tracepoint to a stable, maintainable form. We do it
for other ABI interfaces, so why can't we do this for tracepoints?

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

WARNING: multiple messages have this Message-ID (diff)
From: Dave Chinner <david@fromorbit.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Al Viro <viro@zeniv.linux.org.uk>,
	Ross Zwisler <ross.zwisler@linux.intel.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Christoph Hellwig <hch@lst.de>,
	Dan Williams <dan.j.williams@intel.com>,
	Ingo Molnar <mingo@redhat.com>, Jan Kara <jack@suse.cz>,
	Matthew Wilcox <mawilcox@microsoft.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	"linux-ext4@vger.kernel.org" <linux-ext4@vger.kernel.org>,
	linux-fsdevel <linux-fsdevel@vger.kernel.org>,
	linux-mm <linux-mm@kvack.org>,
	"linux-nvdimm@lists.01.org" <linux-nvdimm@lists.01.org>
Subject: Re: [PATCH 3/6] dax: add tracepoint infrastructure, PMD tracing
Date: Mon, 28 Nov 2016 20:09:23 +1100	[thread overview]
Message-ID: <20161128090923.GB31101@dastard> (raw)
In-Reply-To: <CA+55aFwmCVZECoMszXZkJ8tSpG5+Ynt-5EKxKqDepNtjUv5vkg@mail.gmail.com>

On Sun, Nov 27, 2016 at 04:58:43PM -0800, Linus Torvalds wrote:
> On Sun, Nov 27, 2016 at 2:42 PM, Dave Chinner <david@fromorbit.com> wrote:
> >
> > And that's exactly why we need a method of marking tracepoints as
> > stable. How else are we going to know whether a specific tracepoint
> > is stable if the kernel code doesn't document that it's stable?
> 
> You are living in some unrealistic dream-world where you think you can
> get the right tracepoint on the first try.

No, I'm  under no illusions that we'd get stable tracepoints right
the first go. I don't care about how we stabilise stable
tracepoints, because nothing I maintain will use stable tracepoints.
However, I will point out that we have /already solved these ABI
development problems/.

$ ls Documentation/ABI/
obsolete  README  removed  stable  testing
$

Expands this to include stable tracepoints, not just sysfs files.
New stable stuff gets classified as "testing" meaning it is supposed
to be stable but may change before being declared officially stable.
"stable" is obvious, are "obsolete" and "removed".


> So there is no way in hell I would ever mark any tracepoint "stable"
> until it has had a fair amount of use, and there are useful tools that
> actually make use of it, and it has shown itself to be the right
> trace-point.
> 
> And once that actually happens, what's the advantage of marking it
> stable? None. It's a catch-22. Before it has uses and has been tested
> and found to be good, it's not stable. And after, it's pointless.

And that "catch-22" is *precisely the problem we need to solve*.

Pointing out that there's a catch-22 doesn't help anyone - all the
developers that are telling you that they really need a way to mark
stable tracepoints already understand this catch-22 and they want a
way to avoid it.  Being able to either say "this is stable and we'll
support it forever" or "this will never be stable so use at your own
risk" is a simple way of avoiding the catch-22. If an unstable
tracepoint is useful to applications *and it can be implemented in a
maintainable, stable form* then it can go through the process of
being made stable and documented in Documentation/ABI/stable.

Problem is solved, catch-22 is gone.

All we want is some method of making a clear, unambiguous statement
about the nature of a specific tracepoint and a process for
transitioning a tracepoint to a stable, maintainable form. We do it
for other ABI interfaces, so why can't we do this for tracepoints?

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  parent reply	other threads:[~2016-11-28  9:09 UTC|newest]

Thread overview: 124+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-23 18:44 [PATCH 0/6] introduce DAX tracepoint support Ross Zwisler
2016-11-23 18:44 ` Ross Zwisler
2016-11-23 18:44 ` Ross Zwisler
2016-11-23 18:44 ` [PATCH 1/6] dax: fix build breakage with ext4, dax and !iomap Ross Zwisler
2016-11-23 18:44   ` Ross Zwisler
2016-11-23 18:44   ` Ross Zwisler
2016-11-24  9:02   ` Jan Kara
2016-11-24  9:02     ` Jan Kara
2016-11-24  9:02     ` Jan Kara
2016-11-24  9:02     ` Jan Kara
2016-11-28 19:15     ` Ross Zwisler
2016-11-28 19:15       ` Ross Zwisler
2016-11-28 19:15       ` Ross Zwisler
2016-11-29  8:53       ` Jan Kara
2016-11-29  8:53         ` Jan Kara
2016-11-29  8:53         ` Jan Kara
2016-11-29  8:53         ` Jan Kara
2016-11-30 19:04         ` Ross Zwisler
2016-11-30 19:04           ` Ross Zwisler
2016-11-30 19:04           ` Ross Zwisler
2016-11-30 19:04           ` Ross Zwisler
2016-12-01  7:53           ` Jan Kara
2016-12-01  7:53             ` Jan Kara
2016-12-01  7:53             ` Jan Kara
2016-12-01  7:53             ` Jan Kara
2016-11-23 18:44 ` [PATCH 2/6] dax: remove leading space from labels Ross Zwisler
2016-11-23 18:44   ` Ross Zwisler
2016-11-23 18:44   ` Ross Zwisler
2016-11-24  9:11   ` Jan Kara
2016-11-24  9:11     ` Jan Kara
2016-11-24  9:11     ` Jan Kara
2016-11-24 19:42     ` Dan Williams
2016-11-24 19:42       ` Dan Williams
2016-11-24 19:42       ` Dan Williams
2016-11-28 19:20       ` Ross Zwisler
2016-11-28 19:20         ` Ross Zwisler
2016-11-28 19:20         ` Ross Zwisler
2016-11-23 18:44 ` [PATCH 3/6] dax: add tracepoint infrastructure, PMD tracing Ross Zwisler
2016-11-23 18:44   ` Ross Zwisler
2016-11-23 18:44   ` Ross Zwisler
2016-11-23 18:44   ` Ross Zwisler
2016-11-24  9:16   ` Jan Kara
2016-11-24  9:16     ` Jan Kara
2016-11-24  9:16     ` Jan Kara
2016-11-24  9:16     ` Jan Kara
2016-11-24 17:32   ` Al Viro
2016-11-24 17:32     ` Al Viro
2016-11-24 17:32     ` Al Viro
2016-11-24 17:32     ` Al Viro
2016-11-25  2:49     ` Dave Chinner
2016-11-25  2:49       ` Dave Chinner
2016-11-25  2:49       ` Dave Chinner
2016-11-25  2:49       ` Dave Chinner
2016-11-25  4:14       ` Al Viro
2016-11-25  4:14         ` Al Viro
2016-11-25  4:14         ` Al Viro
2016-11-25  4:14         ` Al Viro
2016-11-25  7:06         ` Dave Chinner
2016-11-25  7:06           ` Dave Chinner
2016-11-25  7:06           ` Dave Chinner
2016-11-25  7:06           ` Dave Chinner
2016-11-25  7:37           ` Al Viro
2016-11-25  7:37             ` Al Viro
2016-11-25  7:37             ` Al Viro
2016-11-25  7:37             ` Al Viro
2016-11-25 19:51             ` Linus Torvalds
2016-11-25 19:51               ` Linus Torvalds
2016-11-25 19:51               ` Linus Torvalds
2016-11-25 20:36               ` Mike Marshall
2016-11-25 20:36                 ` Mike Marshall
2016-11-25 20:36                 ` Mike Marshall
2016-11-25 21:48               ` Theodore Ts'o
2016-11-25 21:48                 ` Theodore Ts'o
2016-11-25 21:48                 ` Theodore Ts'o
2016-11-25 23:38                 ` Linus Torvalds
2016-11-25 23:38                   ` Linus Torvalds
2016-11-25 23:38                   ` Linus Torvalds
2016-11-28  8:33                 ` Jan Kara
2016-11-28  8:33                   ` Jan Kara
2016-11-28  8:33                   ` Jan Kara
2016-11-27 22:42               ` Dave Chinner
2016-11-27 22:42                 ` Dave Chinner
2016-11-27 22:42                 ` Dave Chinner
2016-11-28  0:58                 ` Linus Torvalds
2016-11-28  0:58                   ` Linus Torvalds
2016-11-28  0:58                   ` Linus Torvalds
2016-11-28  1:45                   ` Al Viro
2016-11-28  1:45                     ` Al Viro
2016-11-28  9:09                   ` Dave Chinner [this message]
2016-11-28  9:09                     ` Dave Chinner
2016-11-28  9:09                     ` Dave Chinner
2016-11-25  3:00   ` Dave Chinner
2016-11-25  3:00     ` Dave Chinner
2016-11-25  3:00     ` Dave Chinner
2016-11-28 22:46     ` Ross Zwisler
2016-11-28 22:46       ` Ross Zwisler
2016-11-28 22:46       ` Ross Zwisler
2016-11-28 22:46       ` Ross Zwisler
2016-11-29  2:02       ` Dave Chinner
2016-11-29  2:02         ` Dave Chinner
2016-11-29  2:02         ` Dave Chinner
2017-03-08 22:05         ` Mike Marshall
2017-03-08 22:05           ` Mike Marshall
2017-03-08 22:05           ` Mike Marshall
2017-03-08 22:05           ` Mike Marshall
2016-11-23 18:44 ` [PATCH 4/6] dax: update MAINTAINERS entries for FS DAX Ross Zwisler
2016-11-23 18:44   ` Ross Zwisler
2016-11-23 18:44   ` Ross Zwisler
2016-11-23 18:44   ` Ross Zwisler
2016-11-23 18:44 ` [PATCH 5/6] dax: add tracepoints to dax_pmd_load_hole() Ross Zwisler
2016-11-23 18:44   ` Ross Zwisler
2016-11-23 18:44   ` Ross Zwisler
2016-11-23 18:44   ` Ross Zwisler
2016-11-24  9:20   ` Jan Kara
2016-11-24  9:20     ` Jan Kara
2016-11-24  9:20     ` Jan Kara
2016-11-23 18:44 ` [PATCH 6/6] dax: add tracepoints to dax_pmd_insert_mapping() Ross Zwisler
2016-11-23 18:44   ` Ross Zwisler
2016-11-23 18:44   ` Ross Zwisler
2016-11-23 18:44   ` Ross Zwisler
2016-11-24  9:22   ` Jan Kara
2016-11-24  9:22     ` Jan Kara
2016-11-24  9:22     ` Jan Kara
2016-11-24  9:22     ` Jan Kara

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=20161128090923.GB31101@dastard \
    --to=david@fromorbit.com \
    --cc=akpm@linux-foundation.org \
    --cc=hch@lst.de \
    --cc=jack@suse.cz \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-nvdimm@lists.01.org \
    --cc=mawilcox@microsoft.com \
    --cc=mingo@redhat.com \
    --cc=rostedt@goodmis.org \
    --cc=torvalds@linux-foundation.org \
    --cc=viro@zeniv.linux.org.uk \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.