All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kevin Wolf <kwolf@redhat.com>
To: Christoph Hellwig <hch@lst.de>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] the qemu-iotests test suite is now available
Date: Tue, 07 Jul 2009 09:30:47 +0200	[thread overview]
Message-ID: <4A52F9A7.5020009@redhat.com> (raw)
In-Reply-To: <20090706173606.GA2379@lst.de>

Christoph Hellwig schrieb:
> On Mon, Jul 06, 2009 at 01:18:04PM +0200, Kevin Wolf wrote:
>> I started to implement this, too. I'm attaching the current state of my
>> version. It's not as complete (converts only io_test() and doesn't even
>> enable different cluster sizes in the tests), but it's a pure 1:1
>> conversion and it remains compatible with the old test results which is
>> a hint that it's right at least for 4k clusters.
>>
>> I haven't reviewed your patch in much detail, but I think my patch is
>> more correct at least for the "spanning multiple L2 tables" case where
>> you still use the old hard coded numbers. With 4k clusters an L2 table
>> spans 2 MB, whereas with 64k clusters it spans 512 MB.
> 
> You're right.
> 
>> So maybe you just compare the two versions and take for each line
>> whatever looks better suited for dynamic cluster sizes.
> 
> Done.  Below is a version of my original patch with you l2 cluster size
> changes incorporate.  The problem is that I really uses up tons of disk
> space for the last test in io_test() for 64k clusters, in fact more than
> I can make available on the laptop I'm travelling with currently..

I agree, we shouldn't do it this way. 512 MB is a lot and I've heard
some people thinking about increasing the cluster size even more... So
this doesn't only take too much disk space but also a huge amount of
time for a simple test (crossing the L2 table border).

So I think what we should do is to calculate the end of the current L2
table, go back a bit and write a small amount of data, just enough to
cross the L2 border. Does that make sense?

>      # Spanning multiple L2 tables
>      # L2 table size: 512 clusters of 4k = 2M
> -    io $op $((offset + 2048)) 4194304 4999680 8
> -    offset=$((offset + 8 * 4999680))
> -
> -    if false; then
> -        true
> -    fi

offset=$(( ((offset + l2_size - 1) & ~(l2_size - 1)) - (3 * half_cluster) ))

> +    io $op $((offset + $half_cluster)) $((2 * l2_size)) 4999680 8
> +    offset=$((offset + 8 * (2 * l2_size + 512 * 1573)))
>  }

And then write 6 * half_cluster or something like that instead of 2 *
l2_size. I guess you also should change 4999680 to something like
l2_size + half_cluster, so we always hit an L2 border and test a few
different cases.

Completely untested, but I think it should work this way.

Kevin

  reply	other threads:[~2009-07-07  7:32 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-22 21:05 [Qemu-devel] the qemu-iotests test suite is now available Christoph Hellwig
2009-06-23  9:16 ` Kevin Wolf
2009-06-23 14:31   ` Christoph Hellwig
2009-06-23 14:36     ` Kevin Wolf
2009-06-23 16:41       ` Christoph Hellwig
2009-06-24  7:35         ` Kevin Wolf
2009-07-06 11:18         ` Kevin Wolf
2009-07-06 17:36           ` Christoph Hellwig
2009-07-07  7:30             ` Kevin Wolf [this message]
2009-09-11 14:04             ` Kevin Wolf
2009-09-11 18:40               ` Christoph Hellwig
2009-09-14  8:03                 ` Kevin Wolf
2009-06-23 16:03 ` Anthony Liguori
2009-06-23 16:36   ` Christoph Hellwig
2009-06-24  9:12     ` Kevin Wolf

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=4A52F9A7.5020009@redhat.com \
    --to=kwolf@redhat.com \
    --cc=hch@lst.de \
    --cc=qemu-devel@nongnu.org \
    /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.