Re: [PATCH v6 2/4] driver core: add deferring probe reason to devices_deferred property

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

 



Hi

On 29/06/2020 14:28, Andrzej Hajda wrote:
Hi Grygorii,

(...)

   /*
    * deferred_devs_show() - Show the devices in the deferred probe
pending list.
    */
@@ -221,7 +241,8 @@ static int deferred_devs_show(struct seq_file *s,
void *data)
       mutex_lock(&deferred_probe_mutex);
         list_for_each_entry(curr, &deferred_probe_pending_list,
deferred_probe)
-        seq_printf(s, "%s\n", dev_name(curr->device));
+        seq_printf(s, "%s\t%s", dev_name(curr->device),
+               curr->device->p->deferred_probe_reason ?: "\n");
         mutex_unlock(&deferred_probe_mutex);


Sry, may be i missing smth, but shouldn't it be optional
(CONFIG_DEBUG_FS is probably too generic).


I am not sure what exactly are you referring to, but this patch does not
add new property, it just extends functionality of existing one.

Sry, needed to be more specific.

You've added  device_set_deferred_probe_reson(dev, &vaf);
which expected to be used on every EPROBE_DEFER in dev_err_probe() in combination with

+       } else {
+               device_set_deferred_probe_reson(dev, &vaf);
                dev_dbg(dev, "error %d: %pV", err, &vaf);

^^ dev_dbg() does not add any runtime overhead during boot unless enabled
+       }

But:

+void device_set_deferred_probe_reson(const struct device *dev, struct va_format *vaf)
+{
+       const char *drv = dev_driver_string(dev);
+
+       mutex_lock(&deferred_probe_mutex);
+
+       kfree(dev->p->deferred_probe_reason);
+       dev->p->deferred_probe_reason = kasprintf(GFP_KERNEL, "%s: %pV", drv, vaf);
+
+       mutex_unlock(&deferred_probe_mutex);
+}

^^ Adds locking, kfree() and kasprintf() for every deferred probe during boot and can't be disabled.

Right?


--
Best regards,
grygorii
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux