From: "Alex Bennée" <alex.bennee@linaro.org>
To: Andrew Jones <drjones@redhat.com>
Cc: kvm@vger.kernel.org, mttcg@greensocs.com,
mark.burton@greensocs.com, fred.konrad@greensocs.com
Subject: Re: [PATCH] arm/run: don't enable KVM if system can't do it
Date: Thu, 02 Jul 2015 14:17:18 +0100 [thread overview]
Message-ID: <87r3oqsnq9.fsf@linaro.org> (raw)
In-Reply-To: <20150702115152.GD4243@hawk.localdomain>
Andrew Jones <drjones@redhat.com> writes:
> On Thu, Jul 02, 2015 at 12:05:31PM +0100, Alex Bennée wrote:
>> As ARM (and no doubt other systems) can also run tests in pure TCG mode
>> we might as well not bother enabling accel=kvm if we aren't on a real
>> ARM based system. This prevents us seeing ugly warning messages when
>> testing TCG.
>
> First,
> YAY! We're getting contributions to kvm-unit-tests/arm!
:-) well so far I've been noodling about looking at it for KVM Guest
Debug testing. I've a hideous branch on github that attempts to test
exercise the debug register trapping code. However that falls down as I
really need to find an easy way of attaching GDB to the qemu-gdb stub
while the test is running.
However with the TCG multi-thread work coming up I certainly see the
need to exercise QEMU in a way that the internal TCG test code might
have trouble with.
>
>>
>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>> ---
>> arm/run | 8 +++++++-
>> 1 file changed, 7 insertions(+), 1 deletion(-)
>>
>> diff --git a/arm/run b/arm/run
>> index 662a856..2bdb4be 100755
>> --- a/arm/run
>> +++ b/arm/run
>> @@ -33,7 +33,13 @@ if $qemu $M -chardev testdev,id=id -initrd . 2>&1 \
>> exit 2
>> fi
>>
>> -M='-machine virt,accel=kvm:tcg'
>> +host=`uname -m | sed -e 's/arm.*/arm/'`
>> +if [ "${host}" = "arm" ] || [ "${host}" = "aarch64" ]; then
>> + M='-machine virt,accel=kvm:tcg'
>> +else
>> + M='-machine virt,accel=tcg'
>> +fi
>
> I think this is a good idea, although I had actually left that warning
> on purpose. Originally, the plan was for these unit tests to be kvm
> specific. If they could be developed with the aid of tcg, and even used
> to test tcg, then fine, but running them on tcg should always complain,
> in order to make sure that the test output clearly showed that it had
> not been running on kvm. Developing unit tests for tcg is also a good
> idea though, and there's really no reason not to share this framework.
>
> So, for this patch I'd prefer we do a few things differently;
>
> 1) we should be able to integrate this new condition with the
> "arm64 must use '-cpu host' with kvm" condition that is lower down.
> And, let's just make this $HOST variable one that ./configure
> prepares, allowing that arm64 condition to s/$(arch)/$HOST/ and
> avoiding the need to duplicate the sed -e 's/arm.*/arm/'
Yeah makes sense.
>
> 2) we might as well do something like
>
> M='-machine virt'
> if using-kvm
> M+=',accel=kvm'
> else
> M+=',accel=tcg'
> fi
>
> now, since we don't want to use the accel fallback feature anymore
>
> 3) outputting which one we're using might still be nice, otherwise
> one must inspect the qemu command line in the logs to find out
>
> 4) I recently mentioned[*] it might be nice to add a '-force-tcg' type
> of arm/run command line option, allowing tcg to be used even if
> it's possible to use kvm. Adding that at the same time would be
> nice.
Would it also be useful for other arches? Does run-tests.sh pass
>
> 5) we use tabs for indentation in arm/run, and only bother with the
> variable's {}, if necessary
My shell quoting was rusty. I think $(host) was calling the host command
for some reason.
>
> 6) we should post patches with [kvm-unit-tests PATCH] to avoid
> confusion with other kvm postings. (I screwed that up on my
> last two postings...).
/me ponders if he can just config git for that.
I'll patch the readme ;-)
>
> Thanks!
> drew
>
> [*] https://lists.gnu.org/archive/html/qemu-devel/2015-06/msg07514.html
>
>> +
>> chr_testdev='-device virtio-serial-device'
>> chr_testdev+=' -device virtconsole,chardev=ctd -chardev testdev,id=ctd'
>>
>> --
>> 2.4.5
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe kvm" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Alex Bennée
next prev parent reply other threads:[~2015-07-02 13:17 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-02 11:05 [PATCH] arm/run: don't enable KVM if system can't do it Alex Bennée
2015-07-02 11:51 ` Andrew Jones
2015-07-02 13:17 ` Alex Bennée [this message]
2015-07-02 13:30 ` Andrew Jones
2015-07-02 13:45 ` Paolo Bonzini
2015-07-02 13:49 ` Andrew Jones
2015-07-03 12:24 ` Alex Bennée
2015-07-03 12:29 ` Paolo Bonzini
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=87r3oqsnq9.fsf@linaro.org \
--to=alex.bennee@linaro.org \
--cc=drjones@redhat.com \
--cc=fred.konrad@greensocs.com \
--cc=kvm@vger.kernel.org \
--cc=mark.burton@greensocs.com \
--cc=mttcg@greensocs.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).