Bug in pyverbs test_resize_cq

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Edward,

In the test_resize_cq test the following is written

        # Fill the CQ entries except one for avoid cq_overrun warnings.

        send_wr, _ = u.get_send_elements(self.client, False)

        ah_client = u.get_global_ah(self.client, self.gid_index, self.ib_port)

        for i in range(self.client.cq.cqe - 1):

            u.send(self.client, send_wr, ah=ah_client)



        # Decrease the CQ size to less than the CQ unpolled entries.

        new_cq_size = 1

        with self.assertRaises(PyverbsRDMAError) as ex:

            self.client.cq.resize(new_cq_size)

        self.assertEqual(ex.exception.error_code, errno.EINVAL)


No where does it make any attempt to see if the sends are completed before testing to
resize the cq. Software drivers might not get finished in time and fail the test
because there are no entries in the cq. Technically this is wrong code. You should test
for the completion before attempting to destroy them. Or insert a small delay.

Bob



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux