[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v5 0/6] Allow Valgrind checking all QEMU process
From: |
Andrey Shinkevich |
Subject: |
Re: [Qemu-devel] [PATCH v5 0/6] Allow Valgrind checking all QEMU processes |
Date: |
Sun, 25 Aug 2019 10:30:05 +0000 |
On 16/08/2019 23:05, Cleber Rosa wrote:
> On Fri, Jul 19, 2019 at 07:30:10PM +0300, Andrey Shinkevich wrote:
>> In the current implementation of the QEMU bash iotests, only qemu-io
>> processes may be run under the Valgrind, which is a useful tool for
>> finding memory usage issues. Let's allow the common.rc bash script
>> runing all the QEMU processes, such as qemu-kvm, qemu-img, qemu-ndb
>> and qemu-vxhs, under the Valgrind tool.
>>
>
> FIY, this looks very similar (in purpose) to:
>
> https://avocado-framework.readthedocs.io/en/71.0/WrapProcess.html
>
> And in fact Valgrind was one of the original motivations:
>
>
> https://github.com/avocado-framework/avocado/blob/master/examples/wrappers/valgrind.sh
>
> Maybe this can be helpful for the Python based iotests.
>
> - Cleber.
>
Thank you Cleber for the advice. That is the way I actually ran Python
iotests under Valgrind on my host and discovered some issues with them
already.
Andrey
>> v5:
>> 01: The patch "block/nbd: NBDReply is used being uninitialized" was
>> detached
>> and taken into account in the patch "nbd: Initialize reply on failure"
>> by Eric Blake.
>>
>> v4:
>> 01: The patch "iotests: Set read-zeroes on in null block driver for
>> Valgrind"
>> was extended with new cases and issued as a separate series.
>> 02: The new patch "block/nbd: NBDReply is used being uninitialized" was
>> added to resolve the failure of the iotest 083 run under Valgrind.
>>
>> v3:
>> 01: The new function _casenotrun() was added to the common.rc bash
>> script to notify the user of test cases dropped for some reason.
>> Suggested by Kevin.
>> Particularly, the notification about the nonexistent TMPDIR in
>> the test 051 was added (noticed by Vladimir).
>> 02: The timeout in some test cases was extended for Valgrind because
>> it differs when running on the ramdisk.
>> 03: Due to the common.nbd script has been changed with the commit
>> b28f582c, the patch "iotests: amend QEMU NBD process synchronization"
>> is actual no more. Note that QEMU_NBD is launched in the bash nested
>> shell in the _qemu_nbd_wrapper() as it was before in common.rc.
>> 04: The patch "iotests: new file to suppress Valgrind errors" was dropped
>> due to my superficial understanding of the work of the function
>> blk_pread_unthrottled(). Special thanks to Kevin who shed the light
>> on the null block driver involved. Now, the parameter 'read-zeroes=on'
>> is passed to the null block driver to initialize the buffer in the
>> function guess_disk_lchs() that the Valgrind was complaining to.
>>
>> v2:
>> 01: The patch 2/7 of v1 was merged into the patch 1/7, suggested by
>> Daniel.
>> 02: Another patch 7/7 was added to introduce the Valgrind error
>> suppression
>> file into the QEMU project.
>> Discussed in the email thread with the message ID:
>> <address@hidden>
>>
>> Andrey Shinkevich (6):
>> iotests: allow Valgrind checking all QEMU processes
>> iotests: exclude killed processes from running under Valgrind
>> iotests: Add casenotrun report to bash tests
>> iotests: Valgrind fails with nonexistent directory
>> iotests: extended timeout under Valgrind
>> iotests: extend sleeping time under Valgrind
>>
>> tests/qemu-iotests/028 | 6 +++-
>> tests/qemu-iotests/039 | 5 +++
>> tests/qemu-iotests/039.out | 30 +++--------------
>> tests/qemu-iotests/051 | 4 +++
>> tests/qemu-iotests/061 | 2 ++
>> tests/qemu-iotests/061.out | 12 ++-----
>> tests/qemu-iotests/137 | 1 +
>> tests/qemu-iotests/137.out | 6 +---
>> tests/qemu-iotests/183 | 9 +++++-
>> tests/qemu-iotests/192 | 6 +++-
>> tests/qemu-iotests/247 | 6 +++-
>> tests/qemu-iotests/common.rc | 76
>> +++++++++++++++++++++++++++++++++-----------
>> 12 files changed, 101 insertions(+), 62 deletions(-)
>>
>> --
>> 1.8.3.1
>>
>>
--
With the best regards,
Andrey Shinkevich