linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andy Lutomirski <luto@amacapital.net>
To: "Lukáš Czerner" <lczerner@redhat.com>
Cc: Theodore Ts'o <tytso@mit.edu>,
	xfs@oss.sgi.com, lsf@lists.linux-foundation.org,
	Linux FS Devel <linux-fsdevel@vger.kernel.org>,
	Sedat Dilek <sedat.dilek@gmail.com>,
	"linux-ext4@vger.kernel.org" <linux-ext4@vger.kernel.org>
Subject: Re: [Lsf] [PATCH] xfstests-bld: Simplify determination of number of CPUs in build-all
Date: Thu, 3 Apr 2014 10:05:26 -0700	[thread overview]
Message-ID: <CALCETrU=JWigDSv6ymepS2tjL+EkO98VDC03-RSPuhQVk3yvZA@mail.gmail.com> (raw)
In-Reply-To: <alpine.LFD.2.00.1404031102310.2124@localhost.localdomain>

On Thu, Apr 3, 2014 at 3:26 AM, Lukáš Czerner <lczerner@redhat.com> wrote:
> On Thu, 3 Apr 2014, Dave Chinner wrote:
>
>> Date: Thu, 3 Apr 2014 12:14:11 +1100
>> From: Dave Chinner <david@fromorbit.com>
>> To: Theodore Ts'o <tytso@mit.edu>
>> Cc: Sedat Dilek <sedat.dilek@gmail.com>, lsf@lists.linux-foundation.org,
>>     linux-ext4@vger.kernel.org, linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com
>> Subject: Re: [Lsf] [PATCH] xfstests-bld: Simplify determination of number of
>>     CPUs in build-all
>>
>> On Wed, Apr 02, 2014 at 10:26:20AM -0400, Theodore Ts'o wrote:
>> > On Wed, Apr 02, 2014 at 09:28:23AM +1100, Dave Chinner wrote:
>> > > > And of course, whether changes in the mainline kernel tree are
>> > > > manually propagated changes from the xfstests.git tree, or whether
>> > > > primary development happens in the kernel tree, is ultimately going to
>> > > > be up to you and the XFS developers who have stewardship of xfstests.
>> > > > I'm not sure I would be that excited about manual propagation of
>> > > > changes from one git tree to another, but that is of course, up to
>> > > > you.
>> > >
>> > > And this is exactly my point, Ted. Again, you are presuming that the
>> > > implementation is going to require syncing commits across disparate
>> > > git trees and other such games will be needed to maintain separate
>> > > packages. Nothing could be further from the truth: we already have
>> > > this problem with the shared XFS kernel/userspace code and it's a
>> > > royal PITA keeping them in sync. Hence introducing the same
>> > > maintenance problem with new code and infrastructure is highly
>> > > undesirable and something we'll try to avoid at all costs.
>> >
>> > Actually, I was presuming that the thing that makes the most sense was
>> > to move all or most of the tests in xfstests into the kernel tests
>> > tree.  And then you complained that I was making a presumption that
>> > this was the only sane thing to do.  That's why I said, "if you want
>> > to do something insane, be my guest".
>>
>> So, you think there's only one "sane" solution. That's a massive
>> assumption, and that's what I'm pointing out.
>>
>> It's perfectly sane to treat the kernel tree as just another
>> downstream consumer of xfstests, and simple add infrastructure to
>> the kernel tree to source and build xfstests from the upstream repo.
>
> That's what I think is the best approach as well. We'll still have
> separate tree for the xfstests which works for everyone and
> infrastructure in kernel tree which will simply use it.
>
> Looking at rcutorture tests in kernel tree, they are indeed using
> qemu and it looks like that they are running those tests directly
> from init script - we really need an image to boot from.
>
> We could use virtme
>
> https://git.kernel.org/cgit/utils/kernel/virtme/virtme.git/

virtme will eventually be able to use a separate OS image, probably in
the form of a directory with appropriate xattrs set.  I could support
images on a block device too, but that's boring :)

>
> which seems like a best option. Alternatively we could allow users
> passing their own image as well.
>
> Then we would need init script which would download and build
> xfstests, xfsprogs and possible other dependencies (such as fio)
> and finally run xfstests itself. Colnsole output from the qemu can
> be redirected to the file in the host, so that's ok, but we still
> need a way to retrieve 'retults' directory from the test.
>
> We'd also need a devices to test on (at least TEST_DEV and
> SCRATCH_DEV). Those could be files a of set size exported to qemu as
> block devices.

I just pushed a pair of sample scripts that invokes xfstests inside
virtme.  They're a total of 42 lines, including comments and
instructions.  You can now do:

PATH=.:$PATH samples/xfstests test.img scratch.img ~/apps/xfstests/

from inside a virtme checkout.  You'll have to compile xfstests first, though.

They will be considerably more useful once I add read-write host
windows to virtme.

If anyone wants to use virtme for something other than
experimentation, let me know and we can talk about interface
stability.

Some xfstests thoughts:

 - There's an undocumented way to write results outside the source
tree called RESULT_BASE.  It would be great if it were documented and
spelled consistently.

 - xfstests does not appreciate using symlinks to device nodes.

 - SCRATCH_MNT needs to be in /etc/fstab.  I think that this should be
changed or documented.  If the latter, then SCRATCH_DEV seems
redundant.

Some virtme thoughts:

- --script-sh is awkward.  Suggestions for a better interface are welcome.

 -  It would be great if the virtconsole driver were less buggy.  Even
the virtualized ttyS0 is slow enough to account for a significant
fraction of boot time.  It would also be great if the connection
between virtio ports and hvc devices were exposed in sysfs and through
/dev symlinks.

 - earlyprintk=virtconsole would be awesome.  This might need help
from qemu, though.  Or maybe there's a way to get the debug port to
work for that.

 - I should probably add simple way to use forcibly cached disks.

--Andy

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

  reply	other threads:[~2014-04-03 17:05 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-28  9:03 [PATCH] xfstests-bld: Simplify determination of number of CPUs in build-all Sedat Dilek
2014-03-28 16:18 ` tytso
2014-03-29 10:04   ` Sedat Dilek
2014-03-29 14:04     ` Theodore Ts'o
2014-03-31  2:51   ` [Lsf] " Dave Chinner
2014-04-01  2:37     ` Theodore Ts'o
2014-04-01 22:28       ` Dave Chinner
2014-04-02 14:26         ` Theodore Ts'o
2014-04-03  1:14           ` Dave Chinner
2014-04-03 10:26             ` Lukáš Czerner
2014-04-03 17:05               ` Andy Lutomirski [this message]
2014-04-03 17:35                 ` Theodore Ts'o
2014-04-03 17:42                   ` Andy Lutomirski
2014-04-03 19:06                   ` Eric Sandeen
2014-04-03 19:21                     ` Andy Lutomirski
2014-04-03 21:46                       ` Eric Sandeen
2014-04-03 19:30                     ` Theodore Ts'o
2014-04-03 21:20                       ` Dave Chinner
2014-04-03 13:16           ` Mel Gorman

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='CALCETrU=JWigDSv6ymepS2tjL+EkO98VDC03-RSPuhQVk3yvZA@mail.gmail.com' \
    --to=luto@amacapital.net \
    --cc=lczerner@redhat.com \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=lsf@lists.linux-foundation.org \
    --cc=sedat.dilek@gmail.com \
    --cc=tytso@mit.edu \
    --cc=xfs@oss.sgi.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).