All of lore.kernel.org
 help / color / mirror / Atom feed
From: Frank Rowand <frowand.list@gmail.com>
To: Saravana Kannan <saravanak@google.com>,
	LKML <linux-kernel@vger.kernel.org>,
	linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	Geert Uytterhoeven <geert+renesas@glider.be>,
	Kevin Hilman <khilman@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Marc Zyngier <maz@kernel.org>, Will Deacon <will@kernel.org>,
	Rob Herring <robh+dt@kernel.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
	Frank Rowand <frowand.list@gmail.com>
Cc: Android Kernel Team <kernel-team@android.com>,
	Linux PM <linux-pm@vger.kernel.org>
Subject: Re: Default async probing for DT based systems
Date: Thu, 16 Jun 2022 11:45:17 -0500	[thread overview]
Message-ID: <afea990a-9378-e684-2129-e24393b60b4b@gmail.com> (raw)
In-Reply-To: <CAGETcx8z4dn1j05Za6nfDeC3v4r1yo30Nqu=1K2BEsvLcqqybQ@mail.gmail.com>

Hi Saravana,

You failed to include me in the distribution.  Adding myself now...

-Frank

On 6/15/22 23:24, Saravana Kannan wrote:
> Hi,
> 
> TL;DR: I want to improve boot times by enabling async probing by
> default for DT based systems. Can you give it a shot please?
> 
> Why do you think it might work when async probing has been a pain before?
> ==========================================================
> Since fw_devlink=on is the default behavior and fw_devlink understands
> approximately 24 DT bindings, it should capture most of the device
> dependencies and ensure proper probe ordering. For example, on a Pixel
> 6, fw_devlink figures out 325 dependencies that it uses to enforce
> probe ordering.
> 
> You can find all the dependencies under /sys/class/devlink.
> 
> Fine! What do you want me to try?
> ==========================
> With the patches that have landed in 5.19-rc1, we can now enable
> default async probing for all built-in drivers by adding the following
> to the kernel command line:
> 
> driver_async_probe=*
> 
> I'd really appreciate it if folks can try adding driver_async_probe=*
> to their kernel command line and report any boot time
> improvements/regression or boot/probe failures it causes.
> 
> (* insert cat begging pic *)
> Can I haz some reports pleez?!
> 
> Tips:
> ====
> One easy way to check for devices probe failures is to compare the
> output of this command with/without the commandline changes:
> 
> # find /sys/devices -name driver
> 
> Btw, if you need to force sync probing for a few drivers so that your
> rootfs mounts properly, you can set the flag in the driver, or you can
> list them as exceptions following the * in the command line option.
> For example:
> driver_async_probe=*,my_flash_driver,my_sdio_driver
> 
> Report these too.
> 
> Known issues:
> ===========
> fw_devlink doesn't yet support phy-handle and mdio-parent DT bindings.
> They have some tricky issues I need to resolve first and I need to add
> both of them together -- I'm working on it. If there are other DT
> bindings that are missing support, do let me know. Most of them are
> easy to add.
> 
> The driver_async_probe=* won't have any useful impact for modules
> without adding <module_name>.async_probe to the commandline or
> async_probe as a module option when loading it. This is because
> modules intentionally force sync before they exit. There's a patch for
> a global flag for modules too [1], but it can never be set by default
> for userspace reasons[2].
> 
> [1] - https://lore.kernel.org/lkml/20220604010101.719508-1-saravanak@google.com/
> [2] - https://lore.kernel.org/lkml/CA+55aFxV40V2WvNtJY3EC0F-B9wPk8CV2o1TTTyoF4CoWH7rhQ@mail.gmail.com/
> 
> Thanks,
> Saravana
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel


WARNING: multiple messages have this Message-ID (diff)
From: Frank Rowand <frowand.list@gmail.com>
To: Saravana Kannan <saravanak@google.com>,
	LKML <linux-kernel@vger.kernel.org>,
	linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	Geert Uytterhoeven <geert+renesas@glider.be>,
	Kevin Hilman <khilman@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Marc Zyngier <maz@kernel.org>, Will Deacon <will@kernel.org>,
	Rob Herring <robh+dt@kernel.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
	Frank Rowand <frowand.list@gmail.com>
Cc: Android Kernel Team <kernel-team@android.com>,
	Linux PM <linux-pm@vger.kernel.org>
Subject: Re: Default async probing for DT based systems
Date: Thu, 16 Jun 2022 11:45:17 -0500	[thread overview]
Message-ID: <afea990a-9378-e684-2129-e24393b60b4b@gmail.com> (raw)
In-Reply-To: <CAGETcx8z4dn1j05Za6nfDeC3v4r1yo30Nqu=1K2BEsvLcqqybQ@mail.gmail.com>

Hi Saravana,

You failed to include me in the distribution.  Adding myself now...

-Frank

On 6/15/22 23:24, Saravana Kannan wrote:
> Hi,
> 
> TL;DR: I want to improve boot times by enabling async probing by
> default for DT based systems. Can you give it a shot please?
> 
> Why do you think it might work when async probing has been a pain before?
> ==========================================================
> Since fw_devlink=on is the default behavior and fw_devlink understands
> approximately 24 DT bindings, it should capture most of the device
> dependencies and ensure proper probe ordering. For example, on a Pixel
> 6, fw_devlink figures out 325 dependencies that it uses to enforce
> probe ordering.
> 
> You can find all the dependencies under /sys/class/devlink.
> 
> Fine! What do you want me to try?
> ==========================
> With the patches that have landed in 5.19-rc1, we can now enable
> default async probing for all built-in drivers by adding the following
> to the kernel command line:
> 
> driver_async_probe=*
> 
> I'd really appreciate it if folks can try adding driver_async_probe=*
> to their kernel command line and report any boot time
> improvements/regression or boot/probe failures it causes.
> 
> (* insert cat begging pic *)
> Can I haz some reports pleez?!
> 
> Tips:
> ====
> One easy way to check for devices probe failures is to compare the
> output of this command with/without the commandline changes:
> 
> # find /sys/devices -name driver
> 
> Btw, if you need to force sync probing for a few drivers so that your
> rootfs mounts properly, you can set the flag in the driver, or you can
> list them as exceptions following the * in the command line option.
> For example:
> driver_async_probe=*,my_flash_driver,my_sdio_driver
> 
> Report these too.
> 
> Known issues:
> ===========
> fw_devlink doesn't yet support phy-handle and mdio-parent DT bindings.
> They have some tricky issues I need to resolve first and I need to add
> both of them together -- I'm working on it. If there are other DT
> bindings that are missing support, do let me know. Most of them are
> easy to add.
> 
> The driver_async_probe=* won't have any useful impact for modules
> without adding <module_name>.async_probe to the commandline or
> async_probe as a module option when loading it. This is because
> modules intentionally force sync before they exit. There's a patch for
> a global flag for modules too [1], but it can never be set by default
> for userspace reasons[2].
> 
> [1] - https://lore.kernel.org/lkml/20220604010101.719508-1-saravanak@google.com/
> [2] - https://lore.kernel.org/lkml/CA+55aFxV40V2WvNtJY3EC0F-B9wPk8CV2o1TTTyoF4CoWH7rhQ@mail.gmail.com/
> 
> Thanks,
> Saravana
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2022-06-16 16:46 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20220616032522eucas1p19a6c8718f01fa61c2fee795fb8945a92@eucas1p1.samsung.com>
2022-06-16  3:24 ` Default async probing for DT based systems Saravana Kannan
2022-06-16  3:24   ` Saravana Kannan
2022-06-16 16:45   ` Frank Rowand [this message]
2022-06-16 16:45     ` Frank Rowand
2022-06-17  8:21   ` Linus Walleij
2022-06-17  8:21     ` Linus Walleij
2022-06-17 18:00     ` Saravana Kannan
2022-06-17 18:00       ` Saravana Kannan
2022-06-25 18:09       ` Linus Walleij
2022-06-25 18:09         ` Linus Walleij
2022-06-27  6:10         ` Saravana Kannan
2022-06-27  6:10           ` Saravana Kannan
2022-06-17  9:03   ` Marek Szyprowski
2022-06-17  9:03     ` Marek Szyprowski
2022-06-17 18:04     ` Saravana Kannan
2022-06-17 18:04       ` Saravana Kannan
2022-06-23  2:36       ` Saravana Kannan
2022-06-23  2:36         ` Saravana Kannan
2022-06-23  9:55         ` Greg Kroah-Hartman
2022-06-23  9:55           ` Greg Kroah-Hartman

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=afea990a-9378-e684-2129-e24393b60b4b@gmail.com \
    --to=frowand.list@gmail.com \
    --cc=bigeasy@linutronix.de \
    --cc=geert+renesas@glider.be \
    --cc=gregkh@linuxfoundation.org \
    --cc=kernel-team@android.com \
    --cc=khilman@kernel.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    --cc=maz@kernel.org \
    --cc=rafael@kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=saravanak@google.com \
    --cc=ulf.hansson@linaro.org \
    --cc=will@kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.