mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: David Miller <davem@davemloft.net>
To: akpm@linux-foundation.org
Cc: dwmw2@infradead.org, torvalds@linux-foundation.org,
	alan@lxorguk.ukuu.org.uk, linux-kernel@vger.kernel.org,
	jgarzik@pobox.com, mchan@broadcom.com
Subject: Re: [GIT *] Allow request_firmware() to be satisfied from in-kernel, use it in more drivers.
Date: Mon, 14 Jul 2008 18:44:18 -0700 (PDT)	[thread overview]
Message-ID: <20080714.184418.203308475.davem@davemloft.net> (raw)
In-Reply-To: <20080714164119.99c33d5b.akpm@linux-foundation.org>

From: Andrew Morton <akpm@linux-foundation.org>
Date: Mon, 14 Jul 2008 16:41:19 -0700

> On Mon, 14 Jul 2008 16:23:26 -0700
> David Woodhouse <dwmw2@infradead.org> wrote:
> 
> > Linus, please pull from the for-2.6.27 branch of:
> > 	git://git.infradead.org/users/dwmw2/firmware-2.6.git for-2.6.27
> 
> The firmware flamewars seem to have subsided lately.  Is everyone happy
> with this now?

I'm not happy for network drivers, although I'm happy to see that
David respected out NACKs on tg3/bnx2/etc. and didn't include those
bits.

I still haven't seen an answer to the chip reset issues.  The argument
has been that this stuff is going to save kernel memory when the
driver isn't loading firmware, but that's not really possible.

When a lot of these network drivers reset, due to a transmit timeout
or other exception, we need to load the firmware again.

So this means, that if request_firmware() dies or fails for some
reason in these scenerios, we can't reset the network card.  Something
as simple as a memory or other allocation failure deep inside of
request_firmware() means we lose the networking interface.

To me this seems like a very non-resilient setup.  It makes sense
to just keep the firmware in-core so we can load it without having
to even think about possible failures.

And that to me basically makes this transformation pointless.  It's
in fact a regression.

Furthermore, the issue of suspend and resume was brought up.  What if
request_firmware() fails then?  And can request_firmware() even be
allowed in that context?  What if the disk on which the firmware
resides hasn't been resumed yet?

In response to the suspend/resume queries, a lot of special voodoo was
mentioned that perhaps would allow request_firmware() to get invoked
in the correct context and with the firmware partition's block device
resumed already.

But who the heck is going to write all of that code and fix up all
of these drivers so that they can resume reliably again?

And for what?

None of the people who wrote and maintain these effected networking
drivers want these changes installed.  And they are the ones who will
have to diagnose strange request_firmware() failures that lead to
non-functioning devices during resume or after a transmit timeout.

  parent reply	other threads:[~2008-07-15  1:44 UTC|newest]

Thread overview: 227+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-14 23:23 David Woodhouse
2008-07-14 23:41 ` Andrew Morton
2008-07-14 23:47   ` David Woodhouse
2008-07-14 23:53     ` Yinghai Lu
2008-07-15  0:23       ` David Woodhouse
2008-07-15  0:31         ` Yinghai Lu
2008-07-15  0:50           ` David Woodhouse
2008-07-15  1:08             ` Yinghai Lu
2008-07-15  7:50             ` Ingo Molnar
2008-07-15  0:50         ` Yinghai Lu
2008-07-15  0:52           ` David Woodhouse
2008-07-15  0:53             ` Yinghai Lu
2008-07-15  1:13           ` David Woodhouse
2008-07-15 20:45     ` Rafael J. Wysocki
2008-07-15 20:49       ` David Woodhouse
2008-07-15 20:57         ` David Woodhouse
2008-07-15 23:45           ` Rafael J. Wysocki
2008-07-16  7:01         ` David Woodhouse
2008-07-16 21:28           ` Rafael J. Wysocki
2008-07-16 22:42             ` David Woodhouse
2008-07-17 20:42               ` Rafael J. Wysocki
2008-07-17 21:25                 ` David Woodhouse
2008-07-17 22:25                   ` Rafael J. Wysocki
2008-07-18  4:15                 ` David Woodhouse
2008-07-14 23:59   ` Arjan van de Ven
2008-07-15  0:06     ` david
2008-07-15  0:33       ` Linus Torvalds
2008-07-15  0:51         ` david
2008-07-15  1:02           ` Linus Torvalds
2008-07-15  1:18             ` david
2008-07-15  2:08               ` Linus Torvalds
2008-07-15  2:47                 ` david
2008-07-15  7:57                 ` Jeff Garzik
2008-07-15 15:04                   ` Linus Torvalds
2008-07-15 17:01                     ` Jeff Garzik
2008-07-15 17:09                       ` Linus Torvalds
2008-07-15 17:30                         ` Jeff Garzik
2008-07-15 17:41                           ` Linus Torvalds
2008-07-15 17:45                             ` Linus Torvalds
2008-07-15 18:11                               ` Jeff Garzik
2008-07-15 18:21                                 ` Linus Torvalds
2008-07-15 18:33                                   ` Jeff Garzik
2008-07-15 18:20                             ` Jeff Garzik
2008-07-15 18:25                               ` Linus Torvalds
2008-07-15 18:30                                 ` David Woodhouse
2008-07-15 20:00                                   ` Marcel Holtmann
2008-07-15 20:06                                     ` David Woodhouse
2008-07-15 20:30                                       ` Marcel Holtmann
2008-07-15 21:24                                       ` david
2008-07-15 18:44                                 ` Jeff Garzik
2008-07-15 18:53                                   ` Linus Torvalds
2008-07-15 19:09                                     ` Jeff Garzik
2008-07-15 19:18                                       ` Linus Torvalds
2008-07-15 18:58                                   ` Theodore Tso
2008-07-15 19:14                                     ` Jeff Garzik
2008-07-15 19:19                                       ` Linus Torvalds
2008-07-15 19:23                                         ` Linus Torvalds
2008-07-15 21:14                                         ` Jeff Garzik
2008-07-15 21:24                                           ` David Woodhouse
2008-07-15 21:47                                             ` David Miller
2008-07-15 22:42                                               ` David Woodhouse
2008-07-15 22:45                                                 ` David Miller
2008-07-15 23:05                                                 ` Jeff Garzik
2008-07-15 21:24                                           ` Linus Torvalds
2008-07-15 21:39                                             ` Jeff Garzik
2008-07-15 22:12                                               ` David Woodhouse
2008-07-15 22:46                                                 ` Jeff Garzik
2008-07-16  0:55                                                 ` Sven-Haegar Koch
2008-07-16  8:02                                                   ` Gabor Gombas
2008-07-16  4:55                                       ` Rene Herman
2008-07-15 19:27                                     ` David Woodhouse
2008-07-15  1:52           ` David Miller
2008-07-15  2:23             ` Rene Herman
2008-07-15  2:24               ` David Miller
2008-07-15  2:32                 ` Rene Herman
2008-07-15  2:39                 ` Linus Torvalds
2008-07-15  2:45                   ` David Miller
2008-07-15  4:56                     ` Arjan van de Ven
2008-07-15  5:09                       ` David Woodhouse
2008-07-15  5:45                         ` david
2008-07-15  6:03                           ` David Woodhouse
2008-07-15  6:23                             ` Oliver Neukum
2008-07-15 14:40                               ` David Woodhouse
2008-07-15 16:52                                 ` Oliver Neukum
2008-07-15 18:09                                   ` David Woodhouse
2008-07-15  5:32                       ` Rene Herman
2008-07-15  3:06                   ` Rene Herman
2008-07-15 23:33                   ` Alexandre Oliva
2008-07-15  5:15                 ` Benjamin Herrenschmidt
2008-07-15  5:30                   ` David Woodhouse
2008-07-15  1:50         ` David Miller
2008-07-15  2:54           ` David Woodhouse
2008-07-15  5:34             ` david
2008-07-15  0:36       ` David Woodhouse
2008-07-15  0:40         ` Linus Torvalds
2008-07-15  0:44           ` David Woodhouse
2008-07-15  5:05             ` Benjamin Herrenschmidt
2008-07-15  2:12         ` Jeff Garzik
2008-07-15  2:17           ` David Miller
2008-07-15  2:23             ` David Woodhouse
2008-07-15  2:52               ` david
2008-07-15  4:45               ` Willy Tarreau
2008-07-15  1:54     ` Jeff Garzik
2008-07-15  2:13       ` Linus Torvalds
2008-07-15  2:19         ` David Miller
2008-07-15  2:22         ` Jeff Garzik
2008-07-15  2:33           ` Linus Torvalds
2008-07-15  2:40             ` David Miller
2008-07-15  2:51               ` Linus Torvalds
2008-07-15  3:05                 ` Jeff Garzik
2008-07-15  4:58                 ` Willy Tarreau
2008-07-15 14:55                   ` Linus Torvalds
2008-07-15 15:09                     ` david
2008-07-15 16:01                       ` Linus Torvalds
2008-07-15 16:21                         ` David Woodhouse
2008-07-15 17:56                         ` david
2008-07-15 17:35                     ` Willy Tarreau
2008-07-15 17:44                       ` David Woodhouse
2008-07-15  3:15             ` Jeff Garzik
2008-07-15  3:29               ` Linus Torvalds
2008-07-15  5:06                 ` Willy Tarreau
2008-07-15  5:32                   ` David Woodhouse
2008-07-15  5:36                     ` Willy Tarreau
2008-07-15  5:37                     ` david
2008-07-16  0:10                     ` Alexandre Oliva
2008-07-16  0:26                       ` Linus Torvalds
2008-07-15  7:21                 ` Jeff Garzik
2008-07-15  7:36                   ` David Woodhouse
2008-07-15  8:07                     ` Jeff Garzik
2008-07-15 15:10                       ` Linus Torvalds
2008-07-15 16:53                         ` Jeff Garzik
2008-07-15 17:16                         ` Jeff Garzik
2008-07-15 17:25                           ` Linus Torvalds
2008-07-15 17:54                             ` Jeff Garzik
2008-07-15  8:14                     ` Ingo Molnar
2008-07-15  8:24                       ` Ingo Molnar
2008-07-15 12:42                   ` Alan Cox
2008-07-17 21:31                     ` David Miller
2008-07-15  2:48           ` David Woodhouse
2008-07-15  5:12             ` Willy Tarreau
2008-07-15 15:57         ` Frans Pop
2008-07-15 16:04           ` Arjan van de Ven
2008-07-15 16:24             ` Frans Pop
2008-07-15 16:36             ` Frans Pop
2008-07-15 17:33               ` Arjan van de Ven
2008-07-15 17:57                 ` Frans Pop
2008-07-15 16:15           ` Linus Torvalds
2008-07-15 16:33             ` david
2008-07-15 16:41               ` Linus Torvalds
2008-07-15 17:25                 ` Frans Pop
2008-07-15 17:36                 ` David Woodhouse
2008-07-15 19:22                 ` Marcel Holtmann
2008-07-15 16:35             ` Linus Torvalds
2008-07-15 16:48               ` Frans Pop
2008-07-15 17:07                 ` Linus Torvalds
2008-07-15 19:26               ` Marcel Holtmann
2008-07-15 16:37             ` Frans Pop
2008-07-15 18:05           ` Henrique de Moraes Holschuh
2008-07-15 18:14             ` Jeff Garzik
2008-07-15 18:24               ` Linus Torvalds
2008-07-15 18:37                 ` Chris Friesen
2008-07-15 18:55                 ` Jeff Garzik
2008-07-15 19:02                   ` Linus Torvalds
2008-07-15 19:41                     ` david
2008-07-15 19:59                     ` Jeff Garzik
2008-07-15 20:15                       ` Linus Torvalds
2008-07-15 20:55                         ` Jeff Garzik
2008-07-15 23:02                           ` Dave Jones
2008-07-15 23:46                             ` Jeff Garzik
2008-07-16  0:00                               ` Dave Jones
2008-07-16  0:10                           ` Chris Adams
2008-07-16  6:04                             ` Jeff Garzik
2008-07-15 19:07                   ` David Woodhouse
2008-07-15 19:29                 ` Peter T. Breuer
2008-07-15 18:20             ` David Woodhouse
2008-07-15 19:13               ` Frans Pop
2008-07-15 19:39             ` Marcel Holtmann
2008-07-15 19:20           ` Marcel Holtmann
2008-07-15 19:27             ` Linus Torvalds
2008-07-15 19:31               ` Marcel Holtmann
2008-07-15 19:38                 ` Linus Torvalds
2008-07-15 19:44                   ` Marcel Holtmann
2008-07-15 22:19                     ` Adrian Bunk
2008-07-15 19:32               ` Linus Torvalds
2008-07-15 19:36               ` David Woodhouse
2008-07-15 19:49                 ` Linus Torvalds
2008-07-15 19:54                   ` Marcel Holtmann
2008-07-15 20:07                     ` Linus Torvalds
2008-07-15 20:21                       ` Marcel Holtmann
2008-07-15 20:30                         ` Linus Torvalds
2008-07-15 20:33                         ` Jeff Garzik
2008-07-15 21:17                         ` Jeff Garzik
2008-07-15 20:26                       ` Jeff Garzik
2008-07-15 20:47                         ` Willy Tarreau
2008-07-15 21:24                           ` Jeff Garzik
2008-07-16 22:05                         ` Diego Calleja
2008-07-15 21:27                       ` david
2008-07-15 21:40                         ` Jeff Garzik
2008-07-15 21:43                         ` Linus Torvalds
2008-07-15 22:20                           ` Frans Pop
2008-07-15 22:24                           ` david
2008-07-15 22:26                             ` David Woodhouse
2008-07-15 22:50                               ` david
2008-07-15 23:42                             ` Linus Torvalds
2008-07-16  0:22                               ` Frans Pop
2008-07-16  0:28                                 ` Linus Torvalds
2008-07-16  0:43                                   ` Jeff Garzik
2008-07-16  1:11                                     ` Prosaic firmware issues Alexey Dobriyan
2008-07-16  1:45                                       ` Linus Torvalds
2008-07-16  5:54                                         ` David Woodhouse
2008-07-16 14:19                                           ` Alexey Dobriyan
2008-07-16  4:42                                     ` [GIT *] Allow request_firmware() to be satisfied from in-kernel, use it in more drivers Willy Tarreau
2008-09-12 20:59                                       ` Jeff Garzik
2008-09-12 21:43                                         ` Willy Tarreau
2008-07-16  0:51                               ` Theodore Tso
2008-07-16  1:36                                 ` Dave Jones
2008-07-16  2:39                                   ` Theodore Tso
2008-07-16  3:07                                   ` Jeff Garzik
2008-07-16  9:09                                     ` Peter Zijlstra
2008-07-15 19:57                   ` David Woodhouse
2008-07-15 20:10                     ` Marcel Holtmann
2008-07-15 20:17                       ` Linus Torvalds
2008-07-15 20:25                         ` Marcel Holtmann
2008-07-15 23:04                     ` Dave Jones
2008-07-15  1:44   ` David Miller [this message]
2008-07-15  9:57     ` Marcel Holtmann
2008-07-15  1:45 ` Jeff Garzik
     [not found] <aPHZW-47Y-17@gated-at.bofh.it>
     [not found] ` <aPIje-4ST-15@gated-at.bofh.it>
     [not found]   ` <aPV6W-3jN-41@gated-at.bofh.it>
     [not found]     ` <aPX8A-7qb-21@gated-at.bofh.it>
     [not found]       ` <aPXii-7G3-25@gated-at.bofh.it>
     [not found]         ` <aPXs2-7Vn-25@gated-at.bofh.it>
     [not found]           ` <aPXUQ-aU-1@gated-at.bofh.it>
     [not found]             ` <aPY4D-G7-23@gated-at.bofh.it>
     [not found]               ` <aPZ0H-2ls-21@gated-at.bofh.it>

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=20080714.184418.203308475.davem@davemloft.net \
    --to=davem@davemloft.net \
    --cc=akpm@linux-foundation.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=dwmw2@infradead.org \
    --cc=jgarzik@pobox.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mchan@broadcom.com \
    --cc=torvalds@linux-foundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®