[Intel-xe] [PATCH 0/4] RFC: Add new device configuration infrastructure to

Lucas De Marchi lucas.demarchi at intel.com
Thu Apr 20 18:53:06 UTC 2023


On Thu, Apr 20, 2023 at 12:32:55PM +0300, Jani Nikula wrote:
>On Wed, 19 Apr 2023, Stuart Summers <stuart.summers at intel.com> wrote:
>> This is attempting to take the best parts of i915 module parameters
>> (minus the actual module parameters) and add to xe to allow for better
>> debuggability and configuration in order to help isolate problems
>> on a per-device level instead of global module parameters.
>>
>> Note that I did review a few options here: configfs (not generally
>> used by the drm stack), module parameters (we have some negative
>> history here), sysfs (not the right approach given the focus on
>> user interface here). Debugfs is used in various drm drivers to
>> configure various device characteristics. The infrastructure being
>> presented here has at a high level been present in the i915 driver
>> for some years now, so provides a good starting point for quick
>> debug additions without exposing users to some of the challenges
>> faced with module parameters in the past.
>
>Looking into configfs has been on my todo list for a long time. It's
>something that often gets recommended as a replacement to module
>parameters, but the documentation as well as the existing examples in
>the kernel are, I think, less than stellar. Basically would require
>implementing it and seeing how it actually works.
>
>In any case, I don't think it should be dismissed with just "not
>generally used by the drm stack". A decent implementation could set the
>example going forward.
>
>The main problem with debugfs is the inability to set the default values
>prior to probing the device. This is where module parameters are handy,
>but they aren't device specific (and, as you note, generally
>discouraged).
>
>Looking at the patches, I'm not sure I understand what the procedure for
>setting the debugfs values before probing the device would be. Can you
>provide an example sequence on the command-line please?

I think that for any solution != parameters is:  split the module load
and the module bind phases.  I've been using that for a long time since
it's a general solution for attaching tracepoints on early probe and
it applies to any kernel module (differently than e.g. adding a "nomodeset"
parameter to achive similar thing). For a debugging thing, usually for early
bring up that would be acceptable I think.

More context:
https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/230

Lucas De Marchi


More information about the Intel-xe mailing list