public inbox for igt-dev@lists.freedesktop.org
 help / color / mirror / Atom feed
From: "Ser, Simon" <simon.ser@intel.com>
To: "Kempczynski, Zbigniew" <zbigniew.kempczynski@intel.com>,
	"igt-dev@lists.freedesktop.org" <igt-dev@lists.freedesktop.org>
Subject: Re: [igt-dev] [RFC] IGT device scanning and selection
Date: Tue, 4 Jun 2019 08:29:42 +0000	[thread overview]
Message-ID: <c8c71a3c8eda52d2ebe98e74de4676060800f57c.camel@intel.com> (raw)
In-Reply-To: <535f7715cf870e58a24678f915a5d40c5ff888e1.camel@intel.com>

On Tue, 2019-06-04 at 08:09 +0000, Kempczynski, Zbigniew wrote:
> Hi all.
> 
> IGT device management is a little bit old. More than one GPU on the machine 
> are available on the market from years so there's time to propose new device
> management in IGT.

Nice! There is definitely room for improvement here, thanks for working
on this!

I think we already have an env variable for (some of) this:
IGT_FORCE_DRIVER. It's not great though.

> Selection using bus-device or functional specifiers.
> ---
> 1. bus-device selection
>    Current devices are mostly PCI-Express devices, but we should be able to
>    open to specify device using any bus selection. For example:
>    --device PCI:00:02.0
>    would select PCI device on 00 bus, 02 device and function 0.
> 
>    --device USB:002:003
>    would select device 003 on bus 002.

Why not specify the DRM node path, instead of this?

>    Future buses can be specified by extending --device argument parsing.

Some devices like the Raspberry Pi use platform buses. vc4 uses IGT, so
it would be nice to support that.

> 2. Functional selection
>    CI environments shouldn't rely on bus-device. Same devices (GPUs) may be 
>    inserted into different slots so functional selection is required. 
>    
>    Let's imagine machine have 5 cards:
>    00:02:0 - VendorX, product: A
>    00:03:0 - VendorY, product: B
>    00:04:0 - VendorX, product: A
>    00:05:0 - VendorY, product: C
>    00:06:0 - VendorX, product: D
> 
>    We should be able to select same device regardless order on the bus.
>    For example:
>    --device VendorX:A 
>    --device VendorX:A:0 
>    will select first A card of VendorX
> 
>    --device VendorY:A:1
>    will select second A card of VendorX

Hmm. What defines the order between the "first" and the "second" one?
This doesn't seem like it's "regardless order on the bus" to me? Am I
missing something?

>    If vendor would like to have its own parsing method for the product
>    overriding parsing will be possible. For example:
>    --device VendorX:GPU-Card:0
>    VendorX must then register its own function to handle 'GPU-Card:0'
>    string on his own. 

What is the use-case for this?

> 
> ===
> 
> Device management
> ---
> New device management should allow user to see current devices. 
> I propose IGT tool called 'lsgpu' which would discover devices in 
> any registered bus topologies scanning methods.

I believe we can do everything with libdrm's drmGetDevice.

Note that some utilities (e.g. https://github.com/ascent12/drm_info)
already expose this functionality to some extend.
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

  reply	other threads:[~2019-06-04  8:29 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-04  8:09 [igt-dev] [RFC] IGT device scanning and selection Kempczynski, Zbigniew
2019-06-04  8:29 ` Ser, Simon [this message]
2019-06-04  9:10   ` Michał Winiarski
2019-06-04  8:36 ` Arkadiusz Hiler
2019-06-04  8:47   ` Kempczynski, Zbigniew
2019-06-05 12:31     ` Daniel Vetter
2019-06-05 12:35 ` Daniel Vetter
2019-06-06  9:35   ` Kempczynski, Zbigniew

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c8c71a3c8eda52d2ebe98e74de4676060800f57c.camel@intel.com \
    --to=simon.ser@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=zbigniew.kempczynski@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox