[igt-dev] [PATCH RFC 2/2] lib/igt_core: print card sysfs node at subtest results

Janusz Krzysztofik janusz.krzysztofik at linux.intel.com
Mon Oct 3 16:09:58 UTC 2022


On Thursday, 29 September 2022 14:56:58 CEST Mauro Carvalho Chehab wrote:
> On 9/29/22 12:06, Petri Latvala wrote:
> > On Thu, Sep 29, 2022 at 10:21:36AM +0200, Mauro Carvalho Chehab wrote:
> >> On Wed, 28 Sep 2022 18:26:50 +0200
> >> Kamil Konieczny <kamil.konieczny at linux.intel.com> wrote:
> >>
> >>> Hi Mauro,
> >>>
> >>> On 2022-09-28 at 12:43:20 +0300, Petri Latvala wrote:
> >>>> On Wed, Sep 28, 2022 at 10:58:42AM +0200, Mauro Carvalho Chehab wrote:
> >>>>> From: Mauro Carvalho Chehab <mchehab at kernel.org>
> >>>>>
> >>>>> This helps to identify what GPU failed on multi-GPU tests.
> >>>> And completely breaks igt_runner when it tries to parse the result
> >>>> logs.
> >> Yes. That's btw one of the reasons why I submitted it as a RFC: depending
> >> on how CI check IGT logs, it can break the test results there as well.
> >>
> >> Anyway, this is fixable.
> >>
> >> The point is, once we have multi-GPU tests, we need to have a way to
> >> report what GPU failed.
> > Imho it's best printed in __igt_fail_assert to get it close to the
> > reason why the test is failing.
> 
> Yeah, it makes sense to have it there, but, IMO it should also be at the 
> result
> output, as we could have a test that it skipped on some GPUs and/or fail on
> some GPUs while passing on others.

When using filters, information on which device under /dev has matched a 
filter and has been selected for opening is already submitted via igt_debug() 
from __get_card_for_nth_filter().  Than information can be found in error log 
on test failure.  We could add something similar to non-filter paths.  Please 
note however that those device names, as well as their sysfs counterparts 
under /sys/class/drm, are not persistent.  Then, I think a better option would 
be if the device path under /sys/devices, that includes the device PCI bus 
address, was used for reporting.

Some tests reopen the device, then if we keep displaying its paths on device 
open than that should be limited to first open.

Subtests may open more than one GPU.  Then, if we decide to provide 
information on their sysfs paths at test exit then we have to cache paths of 
more than one device.  But then, how do we know which device to display as 
failed?  Only subtests can know, I think, then the only way would be to use 
verbose variants of igt_assert() in subtests to display that information, I 
believe.  Maybe a variant of drm_open_driver() could pass that info back to 
the caller.

Thanks,
Janusz

> 
> 
> Regards,
> Mauro
> 
> 
> 






More information about the igt-dev mailing list