Thread (49 messages) 49 messages, 8 authors, 2013-02-26

Re: [RFC] [PATCH 0/18] xfstests: move tests out of top level

From: Dave Chinner <david@fromorbit.com>
Date: 2012-08-24 04:06:43

On Thu, Aug 23, 2012 at 12:00:25PM -0500, Ben Myers wrote:
On Thu, Aug 23, 2012 at 09:42:19AM +1000, Dave Chinner wrote:
quoted
On Wed, Aug 22, 2012 at 02:16:42PM -0500, Ben Myers wrote:
quoted
On Wed, Aug 22, 2012 at 08:09:26AM +1000, Dave Chinner wrote:
quoted
quoted
quoted
For it to be useful in an automated test environment, it would need
to be re-implemented from scratch with reliable recording of results
and the ability to determine if a result is unusual or not. None of
this exists - it's just a framework to run a couple of benchmarks
and dump some output to stdout using the xfstests machine config
files....

I have tried integrating other benchmarks into xfstests a while back
(e.g. compile bench, fsmark, etc) and using the results for some
kind of meaningful performance regression test. I rapidly came to
the conclusion that the infrastructure was not up to scratch and
that my simple handwritten standalone test scripts to iterate
through benchmarks and capture results was much easier to use and
modify than to jump through the weird bench infrastructure hoops.

So, no, I don't think it's worth keeping at all.
You've already made it clear that you feel the current bench implementation is
not worth keeping.  Once a suitable replacement for the bench infrastructure
has been implemented we can remove the old one.  Until then we prefer to keep
what we have in the tree.
That's not how the process works 
That is exactly how the process works.  You posted an RFC and Mark and the XFS
team at SGI walked through your patch set.  Mark subsequently posted the
commentary in reply to your RFC.  Cruft or not, the removal of a feature goes
through the same review process as everything else.
Sure, but you need to justify your arguments for keeping something
with evidence and logic - handwaving about wanting something is, and
always has been, insufficient justification. That's the part of the
process I'm talking about - that statements of need require
evidence, especially when you agreed to the removal at LSF in San
Fransisco a few months ago. My arguments at the time were:

	a) nobody is actually using it,
	b) it has effectively been unmaintained since 2003
	c) it has no regression analysis or detection capability
	d) it shares *very little* of xfstests
	e) it gets in the way of cleaning up xfstests
	f) there are far better workload generators that are being
	actively maintained.

And AFAIA, nothing has changed in the past few months.
"In this case, SGI would like to keep the benchmark capability in xfstests in
order have a better chance of catching performance regressions."  There has
been a been performance regression in the past few months (and there will be
more in the future), we have had performance regressions internally too, and
this has brought the value of having benchmarks in xfstests into sharp focus.
I heard you the first time - it didn't answer the first questions I
asked, Repeating it doesn't answer the second set of questions,
either, which could be answered with "yes" or "no". That is: are you
using bench *right now* for perforamnce regression testing?

The information I'm after is whether removing it breaks your current
test environment. Given you are suggesting moving it out of the way
rather than removal, I think the answer is "no" but I'd like a yes
or no confirming that.
quoted
OK, so moving it to revision history will be just fine until patches
are written some time in the future to make it work again in a
subdirectory.

But before anything major gets done with bench, there needs to be a
coherent development plan produced.
Doesn't removing bench fall in to the category 'major'?
Not really, because it's all of 5 minutes work in a larger project.
But for the sake of argument, let's say that it is and so I need to
communicate and develop a plan....
Did you develop a
coherent development plan on how to replace it with something better?
Yes, I communicated and developed a plan, and got agreement on it,
too. The plan was to remove it as there are other benchmark/test
suites better suited to performance regression testing than
xfstests. We discussed this and a consensus was reached on this at
LSF. Everything in the patchset is in my notes from the LSF
discussion....
quoted
Then, once we have an idea of what is going to be done, the white
elephant can then be addressed: is xfstests the right place for this
functionality?
I think it is the perfect place.  xfstests already has a wide following with
linux filesystems folks, so if we get bench cleaned up everyone will have
access to the same suite automatically.  I'd really like the focus to stay on
improving xfstests as opposed to some other suite, and I prefer not to be doing
SGI internal-only test suites for benchmarking and testing where possible.
There's no reason why a new performance regression suite would have
to be SGI internal. If you want it to be part of xfstests so the
work is put into a public GPL project, then I think your motivation
for using/keeping bench is all wrong....

Anyway, let's leave it there. Gather requirements (e.g. put out a
request for discussion on linux-fsdevel), research existing tools
that can do the job, develop a plan, then we can discuss how best ot
proceed.
quoted
FWIW, this is the sort of reporting that a performance regression
test suite should produce:

http://lists.linux.hp.com/~enw/ext4/3.2/
Yeah, that's really nice.  Do you happen to know what tool created it?
IIRC, a relatively simple set of scripts around the outside of ffsb,
lockstat, oprofile and gnuplot. You should probably ask Eric if he
can share them...
quoted
Indeed, why start with bench when you can start with something far
more advanced....
I understand that bench is bitrotted, but it still has some value even today.
Phil has agreed to take this on as a project so the bitrot will be addressed.
You have good points about needing a better plan in this area.  But we should
come up with a plan before taking the major step of removing benchmarking from
xfstests entirely.  That's not handwaving, it's good sense.  ;)

Lets stay focused on improving xfstests...
Yep, I'm trying to do that by removing peripheral, non-core
functionality. ;)

Really, it makes no difference to me whether I remove bench or move
it to a sub-directory in a broken state.  If you are really that set
on it being useful, I'll move it to another directory (say
"broken-bench-do-not-sit-down-here" :) and leave it in a
busted state. If it hasn't been fixed 6 months later, I'll post
patches to remove it again....

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help