From: David Gibson <david@gibson.dropbear.id.au>
To: Oliver Neukum <oliver@neukum.org>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>,
ranty@debian.org, LKML <linux-kernel@vger.kernel.org>,
Simon Kelley <simon@thekelleys.org.uk>,
"Downing, Thomas" <Thomas.Downing@ipc.com>,
Greg KH <greg@kroah.com>,
jt@hpl.hp.com, Pavel Roskin <proski@gnu.org>
Subject: Re: request_firmware() hotplug interface, third round.
Date: Sat, 17 May 2003 18:21:21 +1000 [thread overview]
Message-ID: <20030517082120.GE13827@zax> (raw)
In-Reply-To: <200305170902.58835.oliver@neukum.org>
On Sat, May 17, 2003 at 09:02:58AM +0200, Oliver Neukum wrote:
> Am Samstag, 17. Mai 2003 06:50 schrieb David Gibson:
> > On Sat, May 17, 2003 at 12:13:49AM +0200, Oliver Neukum wrote:
> > > Am Freitag, 16. Mai 2003 18:09 schrieb Alan Cox:
> > > > On Gwe, 2003-05-16 at 09:07, Oliver Neukum wrote:
> > > > > So, if I understand you correctly, RAM is only saved if a device
> > > > > is hotpluggable and needs firmware only upon intial connection.
> > > > > Which, if you do suspend to disk correctly, is no device.
> > > >
> > > > Thats just because the interface is a little warped not the theory.
> > > > On a resume you need to reload firmware and you already handle
> > > > rediscovery on USB bus for example because the devices can change
> > >
> > > Right. But the order of resumption is fixed by hardware needs.
> > > So during resumption you cannot use block devices and therefore
> > > not start a hotplug script. Or did I miss something?
> >
> > For devices that aren't essentialy to get userspace running
> > (e.g. network on a laptop running from local disk), the firmware
> > request doesn't have to happen during the hairy part of resumption.
>
> Not true for network cards. Somebody might be running NFS
> over it. The problem is that you cannot tell (or rather shouldn't - it's
> a layering violation).
Potentially, yes, usually no (hence "running from local disk" above).
This is why Manuel wants to make persistence runtime selectable.
It may well be a bit messy in the scripts to make sure all the right
drivers have persistent firmwares, and I'm sure there will be some
funny corner cases, but I don't think it's an insoluble problem.
If you have to be able to reinitialize any device from suspend without
userland running, then clearly there is no way around having all
necessary firmware images RAM resident. But there are many situations
where that's not necessary - so why should they have to pay for the
worst case.
> Anything that is used for paging needs to be back to life before
> you can think about resurrecting user space.
> Also you need to bring keyboards back to life early to make
> sysreq work.
>
> Secondly, you need a way to get essential devices to work in
> all cases. If you implement it, why not use it?
>
> > The device could just mark itself as unusable at suspend time, then at
> > resume it schedule_work()s something to reload the firmware and
> > complete reinitialization. Shortly after userspace is back in action,
> > the device will come back to life.
>
> Is supposed to. You cannot put blind trust into that. You need to use
> a pretty arbitrary timeout to deal with this.
So? Something could go wrong, but things can go wrong in lots of
places, I don't see what's so especially dire about this situation?
> I fail to see technical improvements here.
Improvements over *what*. There is no existing method for pulling
firmware images into the kernel.
--
David Gibson | For every complex problem there is a
david@gibson.dropbear.id.au | solution which is simple, neat and
| wrong.
http://www.ozlabs.org/people/dgibson
next prev parent reply other threads:[~2003-05-17 8:08 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-05-15 20:03 request_firmware() hotplug interface, third round Manuel Estrada Sainz
2003-05-16 8:07 ` Oliver Neukum
2003-05-16 9:56 ` Manuel Estrada Sainz
2003-05-16 15:53 ` Oliver Neukum
2003-05-16 18:31 ` Manuel Estrada Sainz
2003-05-16 22:22 ` Oliver Neukum
2003-05-17 0:59 ` Manuel Estrada Sainz
2003-05-17 4:00 ` Robert White
2003-05-17 13:23 ` Alan Cox
2003-05-17 14:57 ` Manuel Estrada Sainz
2003-05-16 18:49 ` Jean Tourrilhes
2003-05-16 22:24 ` Oliver Neukum
2003-05-16 23:21 ` Greg KH
2003-05-16 16:09 ` Alan Cox
2003-05-16 22:13 ` Oliver Neukum
2003-05-17 4:50 ` David Gibson
2003-05-17 7:02 ` Oliver Neukum
2003-05-17 8:21 ` David Gibson [this message]
2003-05-16 13:13 ` Ingo Oeser
2003-05-16 17:07 ` Manuel Estrada Sainz
2003-05-16 22:36 ` Greg KH
2003-05-16 23:37 ` Manuel Estrada Sainz
2003-05-16 23:59 ` Greg KH
2003-05-17 4:47 ` David Gibson
2003-05-17 8:54 ` Manuel Estrada Sainz
2003-05-16 23:55 ` Oliver Neukum
2003-05-17 0:03 ` Greg KH
2003-05-17 2:42 ` Robert White
2003-05-17 4:44 ` David Gibson
2003-05-17 8:46 ` Manuel Estrada Sainz
2003-05-17 9:07 ` David Gibson
2003-05-17 9:50 ` Manuel Estrada Sainz
2003-05-17 10:30 ` Manuel Estrada Sainz
2003-05-20 5:21 ` David Gibson
2003-05-20 8:07 ` Manuel Estrada Sainz
2003-05-21 4:21 ` Greg KH
2003-05-21 7:06 ` Manuel Estrada Sainz
2003-05-17 10:51 ` Manuel Estrada Sainz
2003-05-17 13:21 ` Ingo Oeser
2003-05-17 15:15 ` Manuel Estrada Sainz
[not found] ` <Pine.LNX.4.55.0305151623520.2885@marabou.research.att.com>
2003-05-16 9:27 ` Manuel Estrada Sainz
2003-05-16 22:39 ` Greg KH
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=20030517082120.GE13827@zax \
--to=david@gibson.dropbear.id.au \
--cc=Thomas.Downing@ipc.com \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=greg@kroah.com \
--cc=jt@hpl.hp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=oliver@neukum.org \
--cc=proski@gnu.org \
--cc=ranty@debian.org \
--cc=simon@thekelleys.org.uk \
/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