Re: [KVM-autotest] virtio_console test v3.0

2010-09-17 Thread Amit Shah
On (Wed) Sep 15 2010 [17:41:28], Lukas Doktor wrote:
 New version of virtio_console test is more similar to upstream C 
 virtio_console test so it will be easier to maintain. Also we moved the 
 scripts/console_switch.py to more sensible scripts/virtio_guest.py
 
 There are still some virtio_console bugs which restricts some usage (mostly 
 with console). We have created workarounds which enables us to run the tests. 
 They are marked as FIXME comments.

I'm guessing you're seeing those bugs because you try open/close/etc.
calls on the hvc devices.  That's not how they're supposed to be used.
As I mentioned previously, you should spawn a terminal on hvc and use it
for console IO.

I'll take a look at the rest in a bit.

Amit
--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [KVM-autotest] virtio_console test

2010-08-23 Thread Amit Shah
On (Fri) Aug 20 2010 [16:12:51], Lukáš Doktor wrote:
 Dne 20.8.2010 15:40, Lukas Doktor napsal(a):
 Hi,
 
 This patch adds new test for virtio_console. It supports booth, serialport 
 and console, virtio_console types and it contains three tests:
 1) smoke
 2) loopback
 3) perf

This is great, thanks for the tests.

I was working with Lucas at the KVM Forum to get my virtio-console tests
integrated upstream. I have a few micro tests that test correctness of
various bits in the virtio_console code:

http://fedorapeople.org/gitweb?p=amitshah/public_git/test-virtserial.git

It would be great to sync up with Lucas and add those tests to autotest
as well.

Eventually, I'd also like to adapt the C code to python so that it
integrates with KVM-autotest.

 Just a note about kernels:
 serialport works great but console have big issues. Use kernels =
 2.6.35 for testing.

Can you tell me what the issues are? I test console io in the testsuite
mentioned above and it's been passing fine.

Amit
--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [KVM-autotest] virtio_console test

2010-08-23 Thread Lukáš Doktor

Hi Amit,

Dne 23.8.2010 09:53, Amit Shah napsal(a):

On (Fri) Aug 20 2010 [16:12:51], Lukáš Doktor wrote:

Dne 20.8.2010 15:40, Lukas Doktor napsal(a):

Hi,

This patch adds new test for virtio_console. It supports booth, serialport and 
console, virtio_console types and it contains three tests:
1) smoke
2) loopback
3) perf


This is great, thanks for the tests.

I was working with Lucas at the KVM Forum to get my virtio-console tests
integrated upstream. I have a few micro tests that test correctness of
various bits in the virtio_console code:

http://fedorapeople.org/gitweb?p=amitshah/public_git/test-virtserial.git


yes, I'm aware of your tests and the fedora page about virtio-console. I 
took an inspiration from them ;-) (thanks)


It would be great to sync up with Lucas and add those tests to autotest
as well.


I went through the code trying to find tests missing in our autotest 
virtio_console.py test. Correct me if I'm wrong, but the missing tests are:


* variations on opening/writing/reading host/guest closed/open consoles 
and check the right handling

* guest caching (if necessarily)


Eventually, I'd also like to adapt the C code to python so that it
integrates with KVM-autotest.



Yes, either you or I can do that. I would just need the 
test-requirement-list.

Just a note about kernels:
serialport works great but console have big issues. Use kernels=
2.6.35 for testing.


Can you tell me what the issues are? I test console io in the testsuite
mentioned above and it's been passing fine.



Sometimes on F13 there were Oops while booting guests with virtconsoles. 
Also the sysfs informations about virtconsoles were sometimes 
mismatched. With vanilla kernel 2.6.35 it worked better with occasional 
Oops while booting the guest.
My colleague was working on that part so when he's back from holiday he 
can provide more information.


With virtserialport it always worked correctly.

Amit


Lukáš
--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [KVM-autotest] virtio_console test

2010-08-23 Thread Amit Shah
On (Mon) Aug 23 2010 [15:20:17], Lukáš Doktor wrote:
 Hi Amit,
 
 Dne 23.8.2010 09:53, Amit Shah napsal(a):
 On (Fri) Aug 20 2010 [16:12:51], Lukáš Doktor wrote:
 Dne 20.8.2010 15:40, Lukas Doktor napsal(a):
 Hi,
 
 This patch adds new test for virtio_console. It supports booth, serialport 
 and console, virtio_console types and it contains three tests:
 1) smoke
 2) loopback
 3) perf
 
 This is great, thanks for the tests.
 
 I was working with Lucas at the KVM Forum to get my virtio-console tests
 integrated upstream. I have a few micro tests that test correctness of
 various bits in the virtio_console code:
 
 http://fedorapeople.org/gitweb?p=amitshah/public_git/test-virtserial.git
 
 yes, I'm aware of your tests and the fedora page about
 virtio-console. I took an inspiration from them ;-) (thanks)
 
 It would be great to sync up with Lucas and add those tests to autotest
 as well.
 
 I went through the code trying to find tests missing in our autotest
 virtio_console.py test. Correct me if I'm wrong, but the missing
 tests are:
 
 * variations on opening/writing/reading host/guest closed/open
 consoles and check the right handling

Mostly checking for the open/read/write/close semantics, poll(), a new
test that I added today for checking of blocking calls (read) in one
thread while doing write in another.

I actually want to add a lot more (and even convert existing ones) to
threads, since currently I can't guarantee that the guest commands are
processed before any subsequent host commands (this means threading in
the host, obviously).

 * guest caching (if necessarily)

Yes, guest caching isn't needed in the current code (they're kept around
from the previous code where we had such a thing).

 Eventually, I'd also like to adapt the C code to python so that it
 integrates with KVM-autotest.
 
 Yes, either you or I can do that. I would just need the
 test-requirement-list.

I'd much prefer someone else did it, as I'm not familiar with python
(yet).

I'll be willing to help you or whoever picks it up.

 Just a note about kernels:
 serialport works great but console have big issues. Use kernels=
 2.6.35 for testing.
 
 Can you tell me what the issues are? I test console io in the testsuite
 mentioned above and it's been passing fine.
 
 Sometimes on F13 there were Oops while booting guests with
 virtconsoles. Also the sysfs informations about virtconsoles were
 sometimes mismatched. With vanilla kernel 2.6.35 it worked better
 with occasional Oops while booting the guest.

I see. Can you give me any logs / oops messages / traces?

2.6.35 is the first kernel version to officially support the new
features and is complete barring a few fixes which I haven't pushed out
yet.

There's a chance that the F13 kernel doesn't have some fixes, but I did
backport all of them AFAIR.

 My colleague was working on that part so when he's back from holiday
 he can provide more information.

OK, let me know if you get more info.

Thanks,
Amit
--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[KVM-autotest] virtio_console test

2010-08-20 Thread Lukas Doktor

Hi,

This patch adds new test for virtio_console. It supports booth, serialport and 
console, virtio_console types and it contains three tests:
1) smoke
2) loopback
3) perf


Before any tests are executed it starts the machine with required number of 
virtio_consoles. Than it allows user to run all three tests. Using the 
parameters user can control which tests are executed and what setting is used. 
All tests supports multiple run using ';' separated list of settings. Most of 
the settings are optional only. The mandatory ones are written in CAPITALS.

ad1) virtio_console_smoke format:
$VIRTIO_CONSOLE_TYPE:$custom_data

It creates a loopback via $VIRTIO_CONSOLE_TYPE console and sends $custom_data. 
If the received data match the original test pass

ad2) virtio_console_loopback format:
$source_console_t...@$buffer_length:$destination_console1_t...@$buffer_length:...:$destination_consolex_t...@$buffer_length:$loopback_buffer_length

Creates loopback between the $SOURCE_CONSOLE_TYPE console and all following 
$DESTINATION_CONSOLEn_TYPE consoles. Than it sends data by $buffer_length to 
the source port. The loopback resends the data by $loopback_buffer_length to 
all destination consoles. The test listens on the destination consoles and 
controls the received data.

NOTE: in the debug mode you can see the send/received data's buffers in every 
second during the test.

ad3) virtio_console_perf format:
$virtio_console_t...@$buffer_size:$test_duration

First it sends the prepared data in a loop over $VIRTIO_CONSOLE_TYPE console 
from host to guest. Guest only reads all the data and throw them away. This 
part runs $test_duration seconds.
Second it does the same from guest to host.

For booth runs it provides information of minimum/median/maximum throughput and 
guest/host average loads.


Best regards,
Lukas Doktor
--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [KVM-autotest] virtio_console test

2010-08-20 Thread Lukáš Doktor

Dne 20.8.2010 15:40, Lukas Doktor napsal(a):

Hi,

This patch adds new test for virtio_console. It supports booth, serialport and 
console, virtio_console types and it contains three tests:
1) smoke
2) loopback
3) perf


Before any tests are executed it starts the machine with required number of 
virtio_consoles. Than it allows user to run all three tests. Using the 
parameters user can control which tests are executed and what setting is used. 
All tests supports multiple run using ';' separated list of settings. Most of 
the settings are optional only. The mandatory ones are written in CAPITALS.

ad1) virtio_console_smoke format:
$VIRTIO_CONSOLE_TYPE:$custom_data

It creates a loopback via $VIRTIO_CONSOLE_TYPE console and sends $custom_data. 
If the received data match the original test pass

ad2) virtio_console_loopback format:
$source_console_t...@$buffer_length:$destination_console1_t...@$buffer_length:...:$destination_consolex_t...@$buffer_length:$loopback_buffer_length

Creates loopback between the $SOURCE_CONSOLE_TYPE console and all following 
$DESTINATION_CONSOLEn_TYPE consoles. Than it sends data by $buffer_length to 
the source port. The loopback resends the data by $loopback_buffer_length to 
all destination consoles. The test listens on the destination consoles and 
controls the received data.

NOTE: in the debug mode you can see the send/received data's buffers in every 
second during the test.

ad3) virtio_console_perf format:
$virtio_console_t...@$buffer_size:$test_duration

First it sends the prepared data in a loop over $VIRTIO_CONSOLE_TYPE console 
from host to guest. Guest only reads all the data and throw them away. This 
part runs $test_duration seconds.
Second it does the same from guest to host.

For booth runs it provides information of minimum/median/maximum throughput and 
guest/host average loads.


Best regards,
Lukas Doktor
--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html



Just a note about kernels:
serialport works great but console have big issues. Use kernels = 
2.6.35 for testing.

--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html