mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: ebiederm@xmission.com (Eric W. Biederman)
To: Alan Stern <stern@rowland.harvard.edu>
Cc: "Huang, Ying" <ying.huang@intel.com>, <nigel@nigel.suspend2.net>,
	Kexec Mailing List <kexec@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	<linux-pm@lists.linux-foundation.org>,
	Vivek Goyal <vgoyal@redhat.com>
Subject: Re: [linux-pm] [PATCH -mm] kexec jump -v9
Date: Thu, 15 May 2008 13:48:14 -0700	[thread overview]
Message-ID: <m18wybqooh.fsf@frodo.ebiederm.org> (raw)
In-Reply-To: <Pine.LNX.4.44L0.0805151012150.2107-100000@iolanthe.rowland.org> (Alan Stern's message of "Thu, 15 May 2008 10:14:00 -0400 (EDT)")

Alan Stern <stern@rowland.harvard.edu> writes:

> On Wed, 14 May 2008, Eric W. Biederman wrote:
>
>> My take on the situation is this.  For proper handling we
>> need driver device_detach and device_reattach methods.
>> 
>> With the following semantics.  The device_detach methods
>> will disable DMA and place the hardware in a sane state
>> from which the device driver can reclaim and reinitialize it,
>> but the hardware will not be touched.
>> 
>> device_reattach reattaches the driver to the hardware.
>
> How would these differ from the already-existing remove and probe 
> methods?

Honestly I would like for them not to, and they should be
proper factors of the remove and probe methods.

However we have a fundamental gotcha that we need to handle.
Logical abstractions on physical devices.

i.e.  How do we handle the case of a filesystem on a block
      device, when we remove the block device and then read it.

We have two choices.
1) We go through the pain of teaching the upper layers in the
   kernel of how to deal with hotplug and then we are sane
   when someone removes a usb stick accidentally before
   unmounting it and then reinserts the usb stick.

2) Teach the drivers how to do just the lower have of hotplug/remove.
   In which case with the driver still present and presenting it's
   upper layer queues we have the driver relinquish it's hardware
   and then later check to see if it's hardware is still present
   and reinitialize it.

I don't know if anyone has looked at moving this to an upper layer.
Definitely a question worth asking.  The simpler we can make this
for driver authors the better.  Especially as that will make
the drivers more maintainable long term.

Eric

  reply	other threads:[~2008-05-15 20:50 UTC|newest]

Thread overview: 83+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-06  3:13 Huang, Ying
2008-03-11 21:10 ` Vivek Goyal
2008-03-11 21:59   ` Nigel Cunningham
2008-03-11 23:55     ` Eric W. Biederman
2008-03-12  0:09     ` david
2008-03-12  2:14     ` Huang, Ying
2008-03-12 18:53       ` Vivek Goyal
2008-03-13  0:01         ` Eric W. Biederman
2008-03-11 22:18   ` Rafael J. Wysocki
2008-03-12  2:02     ` Eric W. Biederman
2008-03-12  2:26     ` Huang, Ying
2008-03-11 23:24   ` Pavel Machek
2008-03-11 23:49     ` Rafael J. Wysocki
2008-03-12  1:55       ` Huang, Ying
2008-03-12 15:01         ` [linux-pm] " Alan Stern
2008-03-12 21:53           ` Rafael J. Wysocki
2008-03-13  0:33             ` Eric W. Biederman
2008-03-13 17:03               ` Rafael J. Wysocki
2008-03-13 23:07                 ` Eric W. Biederman
2008-03-14  1:31                   ` Rafael J. Wysocki
     [not found]                     ` <m1prtsug2e.fsf@ebiederm.dsl.xmission.com>
2008-03-18 23:52                       ` Pavel Machek
2008-03-19  0:08                       ` Rafael J. Wysocki
2008-03-19  2:33                         ` Alan Stern
     [not found]                           ` <m1ve3jtmxk.fsf@ebiederm.dsl.xmission.com>
2008-03-19 15:01                             ` Alan Stern
2008-03-19 19:28                               ` Rafael J. Wysocki
2008-03-20 10:40                             ` Pavel Machek
2008-03-20 22:45                               ` Rafael J. Wysocki
2008-03-20 23:01                                 ` Alan Stern
2008-03-20 23:22                                   ` Pavel Machek
2008-03-20 23:40                                     ` Rafael J. Wysocki
2008-03-21  0:36                                       ` Rafael J. Wysocki
2008-03-21  0:52                                       ` Alan Stern
2008-03-21 22:05                                         ` Nigel Cunningham
2008-03-22 16:21                                         ` Pavel Machek
2008-03-22 17:45                                           ` Rafael J. Wysocki
2008-03-22 20:49                                             ` Alan Stern
2008-03-22 21:29                                               ` Rafael J. Wysocki
2008-05-14 22:38                                                 ` Eric W. Biederman
2008-05-14 23:47                                                   ` Rafael J. Wysocki
2008-05-15 20:55                                                     ` Eric W. Biederman
2008-05-15 21:20                                                       ` Rafael J. Wysocki
2008-05-14 20:41                       ` Maxim Levitsky
2008-05-14 23:34                         ` Eric W. Biederman
2008-03-12  8:57       ` Pavel Machek
2008-03-12  0:00     ` Nigel Cunningham
2008-03-12  1:45   ` Huang, Ying
2008-03-12  2:17     ` Eric W. Biederman
2008-03-12  6:54       ` Huang, Ying
2008-03-12 19:37       ` Vivek Goyal
2008-03-14  8:03         ` Huang, Ying
2008-03-21 19:12           ` Vivek Goyal
2008-03-25  7:25             ` Huang, Ying
2008-03-12 19:47     ` Vivek Goyal
2008-04-09  9:34 ` Pavel Machek
2008-04-09 12:30   ` Vivek Goyal
2008-05-14 16:03 ` Vivek Goyal
2008-05-14 17:49   ` Vivek Goyal
2008-05-14 20:52 ` Vivek Goyal
2008-05-15  2:32   ` Huang, Ying
2008-05-15 20:09     ` Vivek Goyal
2008-05-16  1:48       ` Huang, Ying
2008-05-16  1:51         ` Vivek Goyal
2008-05-16  2:08           ` Huang, Ying
2008-05-16 12:13         ` Pavel Machek
2008-05-15  5:41   ` Huang, Ying
2008-05-15 18:42     ` Eric W. Biederman
2008-05-16  0:51     ` Vivek Goyal
2008-05-16  1:35       ` Eric W. Biederman
2008-05-16  1:55         ` Huang, Ying
2008-05-27  7:27       ` Huang, Ying
2008-05-27 22:15         ` Vivek Goyal
2008-05-28  1:35           ` Huang, Ying
2008-05-14 22:30 ` Eric W. Biederman
2008-05-14 23:55   ` Rafael J. Wysocki
2008-05-15 22:03     ` Eric W. Biederman
2008-05-15 23:20       ` Rafael J. Wysocki
2008-05-16 12:18       ` Pavel Machek
2008-05-16 14:20       ` [linux-pm] " Alan Stern
2008-05-15  1:42   ` Huang, Ying
2008-05-15 19:05     ` Rafael J. Wysocki
2008-05-15 14:14   ` [linux-pm] " Alan Stern
2008-05-15 20:48     ` Eric W. Biederman [this message]
2008-05-15 21:07       ` Alan Stern

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=m18wybqooh.fsf@frodo.ebiederm.org \
    --to=ebiederm@xmission.com \
    --cc=akpm@linux-foundation.org \
    --cc=kexec@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=nigel@nigel.suspend2.net \
    --cc=stern@rowland.harvard.edu \
    --cc=vgoyal@redhat.com \
    --cc=ying.huang@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome