All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: "Herbert, Marc" <marc.herbert@intel.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	"open list:DOCUMENTATION" <linux-doc@vger.kernel.org>,
	cocci@systeme.lip6.fr,
	Jacek Anaszewski <j.anaszewski@samsung.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Christian Lamparter <chunkeey@googlemail.com>,
	Julia Lawall <Julia.Lawall@lip6.fr>,
	Andrew Morton <akpm@linux-foundation.org>,
	linuxppc-dev <linuxppc-dev@lists.ozlabs.org>,
	Mimi Zohar <zohar@linux.vnet.ibm.com>,
	Andy Lutomirski <luto@amacapital.net>,
	Richard Purdie <rpurdie@rpsys.net>,
	Wu Fengguang <fengguang.wu@intel.com>,
	Johannes Berg <johannes@sipsolutions.net>,
	"Luis R. Rodriguez" <mcgrof@kernel.org>,
	Michal Marek <mmarek@suse.com>, Hauke Mehrtens <hauke@hauke-m.de>,
	Mark Brown <broonie@kernel.org>, Jiri Slaby <jslaby@suse.com>,
	Ming Lei <ming.lei@canonical.com>,
	Daniel Vetter <daniel.vetter@ffwll.ch>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Felix Fietkau <nbd@nbd.name>, Roman Pen <r.peniaev@gmail.com>,
	Greg KH <gregkh@linuxfoundation.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Vikram Mulukutla <markivx@codeaurora.org>,
	Stephen Boyd <stephen.boyd@linaro.org>,
	Takashi Iwai <tiwai@suse.de>
Subject: Re: [RFC] fs: add userspace critical mounts event support
Date: Sat, 24 Sep 2016 10:41:46 -0700	[thread overview]
Message-ID: <CAKdAkRQhEdaP+z02DQ9nighSg_N8R+Dnkv7x3EkYc_YmO_jW4g@mail.gmail.com> (raw)
In-Reply-To: <2deae6da-dd43-7bff-e1fd-ffd26946b928@intel.com>

On Fri, Sep 23, 2016 at 6:37 PM, Herbert, Marc <marc.herbert@intel.com> wrote:
> On 03/09/2016 11:10, Dmitry Torokhov wrote:
>> I was thinking if we kernel could post
>> "conditions" (maybe simple stings) that it waits for, and userspace
>> could unlock these "conditions". One of them might be "firmware
>> available".
>
> On idea offered by Josh Triplett that seems to overlap with this one
> is to have something similar to the (deprecated) userhelper with
> *per-blob* requests and notifications except for one major difference:
> userspace would not anymore be in charge of *providing* the blob but
> would instead only *signal* when a given blob becomes available and is
> either found or found missing. Then the kernel loads the blob _by
> itself_; unlike the userhelper. No new “critical filesystem” concept
> and a *per-blob basis*, allowing any variation of blob locations
> across any number of initramfs and filesystems.
>

Really, I do not quite understand why people have issues with usermode
helper/uevents. It used to work reasonably well (if you were using
request_firmware_nowait()), as the kernel would post the request and
then, when userspace was ready[^Hier], uevents would be processed and
firmware would be loaded. We had a timeout of 60(?) seconds by
default, but that would be adjusted as systems needed.

Unfortunately it all broke when udev started insisting [1] on
servicing some uevents in strict sequence, which resulted in boot
stalls. Maybe the ultimate answer is to write a firmware loading
daemon that would also listen to netlink events and do properly what
udev refused to be doing? The distribution would know when it is ready
to service firmware requests (and thus when to start this daemon), and
we would have the freedom of having drivers both built-in and as
modules and bulding firmware into kernel, intiramfs or keep on a
"real" fs available at later time.

Thanks.

-- 
Dmitry

[1] https://lwn.net/Articles/518942/

WARNING: multiple messages have this Message-ID (diff)
From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: "Herbert, Marc" <marc.herbert@intel.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	"open list:DOCUMENTATION" <linux-doc@vger.kernel.org>,
	cocci@systeme.lip6.fr,
	Jacek Anaszewski <j.anaszewski@samsung.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Christian Lamparter <chunkeey@googlemail.com>,
	Julia Lawall <Julia.Lawall@lip6.fr>,
	Andrew Morton <akpm@linux-foundation.org>,
	linuxppc-dev <linuxppc-dev@lists.ozlabs.org>,
	Mimi Zohar <zohar@linux.vnet.ibm.com>,
	Andy Lutomirski <luto@amacapital.net>,
	Richard Purdie <rpurdie@rpsys.net>,
	Wu Fengguang <fengguang.wu@intel.com>,
	Johannes Berg <johannes@sipsolutions.net>,
	"Luis R. Rodriguez" <mcgrof@kernel.org>,
	Michal Marek <mmarek@suse.com>, Hauke Mehrtens <hauke@hauke-m.de>,
	Mark Brown <broonie@kernel.org>, Jiri Slaby <jslaby@suse.com>,
	Ming Lei <ming.lei@canonical.com>,
	Daniel Vetter <daniel.vetter@ffwll.ch>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Felix Fietkau <nbd@nbd.name>, Roman Pen <r.peniaev@gmail.com>,
	Greg KH <gregkh@linuxfoundation.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Vikram Mulukutla <markivx@codeaurora.org>,
	Stephen Boyd <stephen.boyd@linaro.org>,
	Takashi Iwai <tiwai@suse.de>
Subject: Re: [RFC] fs: add userspace critical mounts event support
Date: Sat, 24 Sep 2016 10:41:46 -0700	[thread overview]
Message-ID: <CAKdAkRQhEdaP+z02DQ9nighSg_N8R+Dnkv7x3EkYc_YmO_jW4g@mail.gmail.com> (raw)
In-Reply-To: <2deae6da-dd43-7bff-e1fd-ffd26946b928@intel.com>

On Fri, Sep 23, 2016 at 6:37 PM, Herbert, Marc <marc.herbert@intel.com> wro=
te:
> On 03/09/2016 11:10, Dmitry Torokhov wrote:
>> I was thinking if we kernel could post
>> "conditions" (maybe simple stings) that it waits for, and userspace
>> could unlock these "conditions". One of them might be "firmware
>> available".
>
> On idea offered by Josh Triplett that seems to overlap with this one
> is to have something similar to the (deprecated) userhelper with
> *per-blob* requests and notifications except for one major difference:
> userspace would not anymore be in charge of *providing* the blob but
> would instead only *signal* when a given blob becomes available and is
> either found or found missing. Then the kernel loads the blob _by
> itself_; unlike the userhelper. No new =E2=80=9Ccritical filesystem=E2=80=
=9D concept
> and a *per-blob basis*, allowing any variation of blob locations
> across any number of initramfs and filesystems.
>

Really, I do not quite understand why people have issues with usermode
helper/uevents. It used to work reasonably well (if you were using
request_firmware_nowait()), as the kernel would post the request and
then, when userspace was ready[^Hier], uevents would be processed and
firmware would be loaded. We had a timeout of 60(?) seconds by
default, but that would be adjusted as systems needed.

Unfortunately it all broke when udev started insisting [1] on
servicing some uevents in strict sequence, which resulted in boot
stalls. Maybe the ultimate answer is to write a firmware loading
daemon that would also listen to netlink events and do properly what
udev refused to be doing? The distribution would know when it is ready
to service firmware requests (and thus when to start this daemon), and
we would have the freedom of having drivers both built-in and as
modules and bulding firmware into kernel, intiramfs or keep on a
"real" fs available at later time.

Thanks.

--=20
Dmitry

[1] https://lwn.net/Articles/518942/

  reply	other threads:[~2016-09-24 17:41 UTC|newest]

Thread overview: 145+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-16 22:54 [PATCH v2 0/5] firmware: add SmPL grammar to avoid issues Luis R. Rodriguez
2016-06-16 22:54 ` [PATCH v2 1/5] MAINTAINERS: extend firmware_class maintainer list Luis R. Rodriguez
2016-06-16 22:54 ` [PATCH v2 2/5] firmware: annotate thou shalt not request fw on init or probe Luis R. Rodriguez
2016-06-16 22:54   ` [Cocci] " Luis R. Rodriguez
2016-06-16 22:54   ` Luis R. Rodriguez
2016-08-24  6:55   ` Daniel Vetter
2016-08-24  6:55     ` [Cocci] " Daniel Vetter
2016-08-24  6:55     ` Daniel Vetter
2016-08-24 20:39     ` Luis R. Rodriguez
2016-08-24 20:39       ` [Cocci] " Luis R. Rodriguez
2016-08-24 20:39       ` Luis R. Rodriguez
2016-08-25 11:05       ` Daniel Vetter
2016-08-25 11:05         ` [Cocci] " Daniel Vetter
2016-08-25 11:05         ` Daniel Vetter
2016-08-25 19:41         ` Luis R. Rodriguez
2016-08-25 19:41           ` [Cocci] " Luis R. Rodriguez
2016-08-25 19:41           ` Luis R. Rodriguez
2016-08-25 20:10           ` Daniel Vetter
2016-08-25 20:10             ` [Cocci] " Daniel Vetter
2016-08-25 20:10             ` Daniel Vetter
2016-08-25 20:25             ` Luis R. Rodriguez
2016-08-25 20:25               ` [Cocci] " Luis R. Rodriguez
2016-08-25 20:25               ` Luis R. Rodriguez
2016-08-25 20:30           ` Dmitry Torokhov
2016-08-25 20:30             ` [Cocci] " Dmitry Torokhov
2016-08-25 20:30             ` Dmitry Torokhov
2016-09-02 23:59           ` Luis R. Rodriguez
2016-09-02 23:59             ` Luis R. Rodriguez
2016-09-03  0:20             ` [RFC] fs: add userspace critical mounts event support Luis R. Rodriguez
2016-09-03  0:20               ` Luis R. Rodriguez
2016-09-03  4:11               ` Linus Torvalds
2016-09-03  4:11                 ` Linus Torvalds
2016-09-03  4:20                 ` Dmitry Torokhov
2016-09-03  4:20                   ` Dmitry Torokhov
2016-09-03  4:41                   ` Linus Torvalds
2016-09-03  4:41                     ` Linus Torvalds
2016-09-03 17:49                     ` Dmitry Torokhov
2016-09-03 17:49                       ` Dmitry Torokhov
2016-09-03 18:01                       ` Linus Torvalds
2016-09-03 18:01                         ` Linus Torvalds
2016-09-03 18:10                         ` Dmitry Torokhov
2016-09-03 18:10                           ` Dmitry Torokhov
2016-09-06 21:52                           ` Luis R. Rodriguez
2016-09-06 21:52                             ` Luis R. Rodriguez
2016-09-06 22:28                             ` Bjorn Andersson
2016-09-06 22:28                               ` Bjorn Andersson
2016-09-06 23:14                               ` Luis R. Rodriguez
2016-09-06 23:14                                 ` Luis R. Rodriguez
2016-09-24  1:37                           ` Herbert, Marc
2016-09-24  1:37                           ` Herbert, Marc
2016-09-24  1:37                           ` Herbert, Marc
2016-09-24  1:37                             ` Herbert, Marc
2016-09-24 17:41                             ` Dmitry Torokhov [this message]
2016-09-24 17:41                               ` Dmitry Torokhov
2016-10-05  0:00                               ` Luis R. Rodriguez
2016-10-05  0:12                                 ` Linus Torvalds
2016-10-05  0:24                                   ` Luis R. Rodriguez
2016-10-05  0:32                                     ` Linus Torvalds
2016-10-05 17:38                                       ` Luis R. Rodriguez
2016-10-05  1:48                                   ` Josh Triplett
2016-10-05  1:58                                     ` Linus Torvalds
2016-09-06 17:46                 ` Bjorn Andersson
2016-09-06 17:46                   ` Bjorn Andersson
2016-09-06 18:32                   ` Linus Torvalds
2016-09-06 18:32                     ` Linus Torvalds
2016-09-06 21:11                     ` Bjorn Andersson
2016-09-06 21:11                       ` Bjorn Andersson
2016-09-06 21:50                       ` Linus Torvalds
2016-09-06 21:50                         ` Linus Torvalds
2016-09-06 23:04                         ` Luis R. Rodriguez
2016-09-06 23:04                           ` Luis R. Rodriguez
2016-09-24  2:51                           ` Herbert, Marc
2016-10-04 23:28                             ` Luis R. Rodriguez
2016-09-06 22:32                     ` Luis R. Rodriguez
2016-09-06 22:32                       ` Luis R. Rodriguez
2016-09-14  2:38               ` Rob Landley
2016-09-14  2:38                 ` Rob Landley
2016-10-05 18:00                 ` Luis R. Rodriguez
2016-10-05 18:00                   ` Luis R. Rodriguez
2016-10-05 18:08                   ` Linus Torvalds
2016-10-05 18:08                     ` Linus Torvalds
2016-10-05 19:46                     ` Luis R. Rodriguez
2016-10-05 19:46                       ` Luis R. Rodriguez
2016-11-08 22:47                       ` Luis R. Rodriguez
2016-11-08 22:47                         ` Luis R. Rodriguez
2016-11-09  9:13                         ` Daniel Wagner
2016-11-09  9:13                           ` Daniel Wagner
2016-11-09 11:21                           ` Andy Lutomirski
2016-11-09 11:21                             ` Andy Lutomirski
2016-11-09 23:53                             ` Luis R. Rodriguez
2016-11-09 23:53                               ` Luis R. Rodriguez
2016-11-29 21:54                             ` Luis R. Rodriguez
2016-11-29 21:54                               ` Luis R. Rodriguez
2016-11-09 23:40                         ` Luis R. Rodriguez
2016-11-09 23:40                           ` Luis R. Rodriguez
2016-11-15  9:28                         ` Johannes Berg
2016-11-15  9:28                           ` Johannes Berg
2016-11-15  9:28                           ` Johannes Berg
2016-11-29 21:10                           ` Tom Gundersen
2016-11-29 21:10                             ` Tom Gundersen
2016-11-29 21:37                             ` Luis R. Rodriguez
2016-11-29 21:37                               ` Luis R. Rodriguez
2016-11-30  8:18                               ` Johannes Berg
2016-11-30  8:18                                 ` Johannes Berg
2016-06-16 22:54 ` [PATCH v2 3/5] firmware: update usermode helper docs and add SmPL report Luis R. Rodriguez
2016-06-16 22:54 ` [PATCH v2 4/5] firmware: add usermode helper DECLARE_FW_LOADER_USER() annotation Luis R. Rodriguez
2016-06-16 22:54 ` [PATCH v2 5/5] firmware: fix fw cache to avoid usermode helper on suspend Luis R. Rodriguez
2016-07-07  0:56 ` [PATCH v2 0/5] firmware: add SmPL grammar to avoid issues Luis R. Rodriguez
2016-07-13 21:47   ` Luis R. Rodriguez
2016-07-28  0:41     ` Luis R. Rodriguez
2016-08-03 14:50       ` Luis R. Rodriguez
2016-08-03 15:04         ` Greg KH
2016-08-03 17:06           ` Luis R. Rodriguez
2016-08-03 19:32             ` Greg KH
2016-08-03 19:46               ` Luis R. Rodriguez
2016-07-13 23:52   ` Fengguang Wu
2016-07-14  2:15     ` Luis R. Rodriguez
2016-07-14  2:23       ` Fengguang Wu
2016-07-14  3:08         ` Luis R. Rodriguez
2016-07-14  3:35           ` Fengguang Wu
2016-08-24  0:45 ` [PATCH v3 " mcgrof
2016-08-24  0:45   ` [PATCH v3 1/5] MAINTAINERS: extend firmware_class maintainer list mcgrof
2016-08-24  0:45   ` [PATCH v3 2/5] firmware: annotate thou shalt not request fw on init or probe mcgrof
2016-08-24  0:45     ` [Cocci] " mcgrof at kernel.org
2016-08-24  0:45     ` mcgrof
2016-08-24  8:17     ` Gabriel Paubert
2016-08-24  8:17       ` [Cocci] " Gabriel Paubert
2016-08-24  8:17       ` Gabriel Paubert
2016-09-02 18:26       ` Luis R. Rodriguez
2016-09-02 18:26         ` Luis R. Rodriguez
2016-08-24  0:45   ` [PATCH v3 3/5] firmware: update usermode helper docs and add SmPL report mcgrof
2016-08-24  0:45   ` [PATCH v3 4/5] firmware: add usermode helper DECLARE_FW_LOADER_USER() annotation mcgrof
2016-08-24  0:45   ` [PATCH v3 5/5] firmware: fix fw cache to avoid usermode helper on suspend mcgrof
2016-08-31  7:03     ` Daniel Wagner
2016-09-02 18:13       ` Luis R. Rodriguez
2016-09-07  0:42   ` [PATCH v4 0/5] firmware: add SmPL grammar to avoid issues Luis R. Rodriguez
2016-09-07  0:42     ` [PATCH v4 1/5] MAINTAINERS: extend firmware_class maintainer list Luis R. Rodriguez
2016-09-07  6:43       ` Greg KH
2016-09-08 14:58         ` Luis R. Rodriguez
2016-09-08 15:25         ` Ming Lei
2016-09-07  0:42     ` [PATCH v4 2/5] firmware: annotate thou shalt not request fw on init or probe Luis R. Rodriguez
2016-09-07  0:42       ` Luis R. Rodriguez
2016-09-07  0:42     ` [PATCH v4 3/5] firmware: update usermode helper docs and add SmPL report Luis R. Rodriguez
2016-09-07  0:42     ` [PATCH v4 4/5] firmware: add usermode helper DECLARE_FW_LOADER_USER() annotation Luis R. Rodriguez
2016-09-07  0:42     ` [PATCH v4 5/5] firmware: fix fw cache to avoid usermode helper on suspend Luis R. Rodriguez

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=CAKdAkRQhEdaP+z02DQ9nighSg_N8R+Dnkv7x3EkYc_YmO_jW4g@mail.gmail.com \
    --to=dmitry.torokhov@gmail.com \
    --cc=Julia.Lawall@lip6.fr \
    --cc=akpm@linux-foundation.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=broonie@kernel.org \
    --cc=chunkeey@googlemail.com \
    --cc=cocci@systeme.lip6.fr \
    --cc=daniel.vetter@ffwll.ch \
    --cc=dwmw2@infradead.org \
    --cc=fengguang.wu@intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hauke@hauke-m.de \
    --cc=j.anaszewski@samsung.com \
    --cc=johannes@sipsolutions.net \
    --cc=jslaby@suse.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=luto@amacapital.net \
    --cc=marc.herbert@intel.com \
    --cc=markivx@codeaurora.org \
    --cc=mcgrof@kernel.org \
    --cc=ming.lei@canonical.com \
    --cc=mmarek@suse.com \
    --cc=nbd@nbd.name \
    --cc=r.peniaev@gmail.com \
    --cc=rpurdie@rpsys.net \
    --cc=stephen.boyd@linaro.org \
    --cc=tiwai@suse.de \
    --cc=torvalds@linux-foundation.org \
    --cc=zohar@linux.vnet.ibm.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 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.