From: Nathan Bryant <nbryant@optonline.net>
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Linux Kernel list <linux-kernel@vger.kernel.org>,
Pavel Machek <pavel@ucw.cz>
Subject: Re: device_suspend() levels [was Re: [patch] ACPI work on aic7xxx]
Date: Sat, 24 Jul 2004 12:45:09 -0400 [thread overview]
Message-ID: <41029215.1030406@optonline.net> (raw)
In-Reply-To: <1090684826.1963.6.camel@gaston>
Benjamin Herrenschmidt wrote:
> sysfs only takes care about the bus hierarchy as far as suspend/resume
> is concerned (which is the only sane way to do it imho)
I saw comments in one of the PCI IDE driver pcidev->suspend routines
that say "we don't need to iterate over the list of drives, sysfs does
that for us."
> No, the ordering cannot be dictated by the upper layer, but by the
> physical bus hierarchy. The low level driver gets the suspend callback
> and need to notify the parent. The md/multipath must keep track that one
> of the device it relies on is going away and thus block the queues.
>
> That is at least for machine suspend/resume.
We're talking past each other. I'm saying you take into consideration
the physical bus hierarchy: PCI bus x is a parent of SCSI bus y which is
a parent of SCSI disk drive z. Suspend disk z, with involvement from the
block layer and scsi midlayer, before even calling the actual
pcidev->suspend routine on the SCSI bus adapter. Shouldn't require more
than minimal LLD involvement.
>>Looking in /sys/devices shows that sysfs already knows that 'host0' is a
>>child of a SCSI PCI device.
>
>
> Yes, but the PM herarchy is the bus hierarchy, I don't see a simple way
> of going through both in this case ...
In the case of IDE, IDE is registered as a bus_type and has generic
suspend code for the whole bus that is unrelated to the pcidev. The PIIX
IDE (Intel chipsets) PCI pcidev struct doesn't even have suspend and
resume callbacks filled in, but it works fine!
next prev parent reply other threads:[~2004-07-24 16:44 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <40FD38A0.3000603@optonline.net>
[not found] ` <20040720155928.GC10921@atrey.karlin.mff.cuni.cz>
[not found] ` <40FD4CFA.6070603@optonline.net>
2004-07-20 17:46 ` device_suspend() levels [was Re: [patch] ACPI work on aic7xxx] Pavel Machek
2004-07-20 18:10 ` Nathan Bryant
2004-07-20 18:25 ` Benjamin Herrenschmidt
2004-07-20 18:34 ` Nathan Bryant
2004-07-20 19:10 ` Benjamin Herrenschmidt
2004-07-20 19:23 ` Pavel Machek
[not found] ` <40FD82B1.8030704@optonline.net>
2004-07-20 20:41 ` Benjamin Herrenschmidt
2004-07-20 20:50 ` Nathan Bryant
2004-07-20 21:02 ` Benjamin Herrenschmidt
2004-07-24 15:31 ` Nathan Bryant
2004-07-24 16:00 ` Benjamin Herrenschmidt
2004-07-24 16:45 ` Nathan Bryant [this message]
2004-07-24 18:35 ` Benjamin Herrenschmidt
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=41029215.1030406@optonline.net \
--to=nbryant@optonline.net \
--cc=benh@kernel.crashing.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pavel@ucw.cz \
/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