Re: [PATCH] request_firmware: skip timeout if userspace was not notified



On Thu 09 Aug 2007, Kay Sievers wrote:

On Thu, 2007-08-09 at 11:36 +0200, Javier Pello wrote:

Anyway, my point is that it is useless to have the kernel block for
a minute at boot waiting for something that cannot happen, and that
it should be avoided (even if my proposed solution is not the way
to go).

That's true. And it sounds all reasonable from your point of view,
and the firmware loader needs fixing, and the silly blocking request
needs to be removed from the kernel, that's known for a very long
time now, but nobody did the work so far.

If I see it correctly, your point is that the firmware loader is
totally broken and needs replacing. That's fine, and I won't say
otherwise. But it doesn't seem that such replacement is under way
and, in the meanwhile, we are stuck with what we have. I'm not
defending the current loader but, while we have it, we might as
well not have it freeze the whole kernel for a minute waiting
for something that won't happen.

But in this specific case, it is more the combination of your
options, what causes this problem to appear. You don't have an
initramfs, you don't use modules, but you are linking a driver
into the kernel image which depends on a conceptually broken
blocking userspace transaction to initialize.
This combination of options just doesn't make sense. Either
use initramfs, or use a kernel module for the driver that needs
userspace to initialize, or patch the driver not to block in
the request, or patch the driver to optionally include the
firmware in the driver.

Note that the problem is not getting the driver to work---I can
do that pretty easily. The problem is that there's a number of
drivers that, just because they require firmware, will hang the
kernel on boot if built in unless an initramfs is carefully
prepared. An allyesconfig kernel could freeze for 10 minutes
during boot just because it came across 10 devices requiring
firmware, even if you don't intend to use them.

You just picked a set of options that doesn't work nicely
together.

I agree. That's why I sent the patch, to make it work better.

No distro setup has this problem, that's probably why nobody
really cared and it didn't get fixed so far.

I agree again. But the fact that it didn't get fixed so far
doesn't mean that it can never get fixed, does it?

Also, note that I'm not proposing massive changes, or changes
that will break things for other people (not intentionally,
anyway), or that will add complexity and unmaintainability
to the kernel. They try to do a reasonable thing and are
small and to the point.

Javier


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages

  • Linux Kernel 2.6 on Artesyn Katana Board (3750) with IBM 750FX PP C
    ... We have Artesyn Katana Boards with ppc boot version 1.2.0 (with different ... We are trying to upgrade the kernel to 2.6. ... Serial: MPSC driver $Revision: 1.00 $ ... Unable to get nfsd port number from server, ...
    (Linux-Kernel)
  • Re: Linux GPL and binary module exception clause?
    ... >> But also note how it's only the BINARY MODULE that is a derived work. ... > a device driver containing a binary blob that was explicitly written as ... Clearly it no longer depends on the kernel, and you can show that to ... And I think this argument is _especially_ strong for things like firmware ...
    (Linux-Kernel)
  • Re: Is RPMfusion on strike? [SOLVED -- at least for me]
    ... installed the new update for kernel 2.6.29.6-217.2.8.fc11.x86_64. ... Can you boot under one of the kernels? ... down the NVIDIA Driver Version: so you have it handy if things go south. ... dependencies that need to be removed will be included. ...
    (Fedora)
  • Re: Hardware delaying the OS
    ... I can't really comment on max timeouts, but if it is not the boot ... The other thing is Windows builds unique device ID's used for various ... things with the firmware revision. ... have your driver block on the command completing. ...
    (microsoft.public.development.device.drivers)
  • Re: New builds wont boot (fwd)
    ... On Fri, 26 Jun 2009, Chris Hedley wrote: ... Earliest checkout date of a kernel that doesn't boot. ... Submitted by: jkim, from Adaptec's driver ...
    (freebsd-current)