mbox series

[v7,0/6] Allow Valgrind checking all QEMU processes

Message ID 1567338786-586124-1-git-send-email-andrey.shinkevich@virtuozzo.com (mailing list archive)
Headers show
Series Allow Valgrind checking all QEMU processes | expand

Message

Andrey Shinkevich Sept. 1, 2019, 11:53 a.m. UTC
In the current implementation of the QEMU bash iotests, only qemu-io
processes may be run under the Valgrind with the switch '-valgrind'.
Let's allow the common.rc bash script running all other QEMU processes,
such as qemu-kvm, qemu-img, qemu-ndb and qemu-vxhs, under the Valgrind.

v7:
  01: The code of QEMU wrapper functions was optimized by getting rid of
      the local variable VALGRIND_ON.

  Discussed in the email threads with the message IDs:
  <1563553816-148827-1-git-send-email-andrey.shinkevich@virtuozzo.com>
  <1560276131-683243-1-git-send-email-andrey.shinkevich@virtuozzo.com>
  <1566834628-485525-1-git-send-email-andrey.shinkevich@virtuozzo.com>

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 | 105 +++++++++++++++++++++++++++++++++++--------
 12 files changed, 130 insertions(+), 62 deletions(-)

Comments

Kevin Wolf Sept. 3, 2019, 10:02 a.m. UTC | #1
Am 01.09.2019 um 13:53 hat Andrey Shinkevich geschrieben:
> In the current implementation of the QEMU bash iotests, only qemu-io
> processes may be run under the Valgrind with the switch '-valgrind'.
> Let's allow the common.rc bash script running all other QEMU processes,
> such as qemu-kvm, qemu-img, qemu-ndb and qemu-vxhs, under the Valgrind.

Thanks, applied to the block branch.

Kevin
Andrey Shinkevich Sept. 3, 2019, 10:38 a.m. UTC | #2
On 03/09/2019 13:02, Kevin Wolf wrote:
> Am 01.09.2019 um 13:53 hat Andrey Shinkevich geschrieben:
>> In the current implementation of the QEMU bash iotests, only qemu-io
>> processes may be run under the Valgrind with the switch '-valgrind'.
>> Let's allow the common.rc bash script running all other QEMU processes,
>> such as qemu-kvm, qemu-img, qemu-ndb and qemu-vxhs, under the Valgrind.
> 
> Thanks, applied to the block branch.
> 
> Kevin
> 

Thanks a lot, Kevin!

Andrey
Andrey Shinkevich Sept. 3, 2019, 2:22 p.m. UTC | #3
On 03/09/2019 13:02, Kevin Wolf wrote:
> Am 01.09.2019 um 13:53 hat Andrey Shinkevich geschrieben:
>> In the current implementation of the QEMU bash iotests, only qemu-io
>> processes may be run under the Valgrind with the switch '-valgrind'.
>> Let's allow the common.rc bash script running all other QEMU processes,
>> such as qemu-kvm, qemu-img, qemu-ndb and qemu-vxhs, under the Valgrind.
> 
> Thanks, applied to the block branch.
> 
> Kevin
> 

Kevin!
Please postpone the pull request!
The last optimization in the patch 1/6 broke the logic in the patch 2/3. 
So, the test 039 hangs under the Valgrind, as it was.
The patch 2/6 must be optimized too.
I am about to make a little change in the patch 2/6 and will send v8 
today...

Andrey
Kevin Wolf Sept. 3, 2019, 2:28 p.m. UTC | #4
Am 03.09.2019 um 16:22 hat Andrey Shinkevich geschrieben:
> 
> 
> On 03/09/2019 13:02, Kevin Wolf wrote:
> > Am 01.09.2019 um 13:53 hat Andrey Shinkevich geschrieben:
> >> In the current implementation of the QEMU bash iotests, only qemu-io
> >> processes may be run under the Valgrind with the switch '-valgrind'.
> >> Let's allow the common.rc bash script running all other QEMU processes,
> >> such as qemu-kvm, qemu-img, qemu-ndb and qemu-vxhs, under the Valgrind.
> > 
> > Thanks, applied to the block branch.
> > 
> > Kevin
> > 
> 
> Kevin!
> Please postpone the pull request!
> The last optimization in the patch 1/6 broke the logic in the patch 2/3. 
> So, the test 039 hangs under the Valgrind, as it was.
> The patch 2/6 must be optimized too.
> I am about to make a little change in the patch 2/6 and will send v8 
> today...

Ok, I'll unstage v7.

Kevin
Andrey Shinkevich Sept. 3, 2019, 4:36 p.m. UTC | #5
On 03/09/2019 17:28, Kevin Wolf wrote:
> Am 03.09.2019 um 16:22 hat Andrey Shinkevich geschrieben:
>>
>>
>> On 03/09/2019 13:02, Kevin Wolf wrote:
>>> Am 01.09.2019 um 13:53 hat Andrey Shinkevich geschrieben:
>>>> In the current implementation of the QEMU bash iotests, only qemu-io
>>>> processes may be run under the Valgrind with the switch '-valgrind'.
>>>> Let's allow the common.rc bash script running all other QEMU processes,
>>>> such as qemu-kvm, qemu-img, qemu-ndb and qemu-vxhs, under the Valgrind.
>>>
>>> Thanks, applied to the block branch.
>>>
>>> Kevin
>>>
>>
>> Kevin!
>> Please postpone the pull request!
>> The last optimization in the patch 1/6 broke the logic in the patch 2/3.
>> So, the test 039 hangs under the Valgrind, as it was.
>> The patch 2/6 must be optimized too.
>> I am about to make a little change in the patch 2/6 and will send v8
>> today...
> 
> Ok, I'll unstage v7.
> 
> Kevin
> 

The v8 is ready to be sent. The test 039 passes now being run under the 
Valgrind. The iotests pass with the v8 series applied being run without 
the Valgrind:
./check -qcow2
and
./check -nbd
Now, I am waiting for all the iotests to pass with the switch 
'-valgrind'. It takes much more time actually.
Few more hours are needed to complete running the iotests under the 
Valgrind. I could send the v8 now or better wait until tomorrow for 
assurance.

Andrey