From: Greg KH <gregkh@linuxfoundation.org>
To: Toshi Kani <toshi.kani@hp.com>
Cc: rjw@sisk.pl, lenb@kernel.org, akpm@linux-foundation.org,
linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-mm@kvack.org, bhelgaas@google.com,
isimatu.yasuaki@jp.fujitsu.com, jiang.liu@huawei.com,
wency@cn.fujitsu.com, guohanjun@huawei.com, yinghai@kernel.org,
srivatsa.bhat@linux.vnet.ibm.com
Subject: Re: [RFC PATCH 00/11] Hot-plug and Online/Offline framework
Date: Wed, 12 Dec 2012 20:16:27 -0800 [thread overview]
Message-ID: <20121213041627.GA14083@kroah.com> (raw)
In-Reply-To: <1355369864.18964.68.camel@misato.fc.hp.com>
On Wed, Dec 12, 2012 at 08:37:44PM -0700, Toshi Kani wrote:
> On Wed, 2012-12-12 at 16:55 -0800, Greg KH wrote:
> > On Wed, Dec 12, 2012 at 05:39:36PM -0700, Toshi Kani wrote:
> > > On Wed, 2012-12-12 at 15:56 -0800, Greg KH wrote:
> > > > On Wed, Dec 12, 2012 at 04:17:12PM -0700, Toshi Kani wrote:
> > > > > This patchset is an initial prototype of proposed hot-plug framework
> > > > > for design review. The hot-plug framework is designed to provide
> > > > > the common framework for hot-plugging and online/offline operations
> > > > > of system devices, such as CPU, Memory and Node. While this patchset
> > > > > only supports ACPI-based hot-plug operations, the framework itself is
> > > > > designed to be platform-neural and can support other FW architectures
> > > > > as necessary.
> > > > >
> > > > > The patchset has not been fully tested yet, esp. for memory hot-plug.
> > > > > Any help for testing will be very appreciated since my test setup
> > > > > is limited.
> > > > >
> > > > > The patchset is based on the linux-next branch of linux-pm.git tree.
> > > > >
> > > > > Overview of the Framework
> > > > > =========================
> > > >
> > > > <snip>
> > > >
> > > > Why all the new framework, doesn't the existing bus infrastructure
> > > > provide everything you need here? Shouldn't you just be putting your
> > > > cpus and memory sticks on a bus and handle stuff that way? What makes
> > > > these types of devices so unique from all other devices that Linux has
> > > > been handling in a dynamic manner (i.e. hotplugging them) for many many
> > > > years?
> > > >
> > > > Why are you reinventing the wheel?
> > >
> > > Good question. Yes, USB and PCI hotplug operate based on their bus
> > > structures. USB and PCI cards only work under USB and PCI bus
> > > controllers. So, their framework can be composed within the bus
> > > structures as you pointed out.
> > >
> > > However, system devices such CPU and memory do not have their standard
> > > bus. ACPI allows these system devices to be enumerated, but it does not
> > > make ACPI as the HW bus hierarchy for CPU and memory, unlike PCI and
> > > USB. Therefore, CPU and memory modules manage CPU and memory outside of
> > > ACPI. This makes sense because CPU and memory can be used without ACPI.
> > >
> > > This leads us an issue when we try to manage system device hotplug
> > > within ACPI, because ACPI does not control everything. This patchset
> > > provides a common hotplug framework for system devices, which both ACPI
> > > and non-ACPI modules (i.e. CPU and memory modules) can participate and
> > > are coordinated for their hotplug operations. This is analogous to the
> > > boot-up sequence, which ACPI and non-ACPI modules can participate to
> > > enable CPU and memory.
> >
> > Then create a "virtual" bus and put the devices you wish to control on
> > that. That is what the "system bus" devices were supposed to be, it's
> > about time someone took that code and got it all working properly in
> > this way, that is why it was created oh so long ago.
>
> It may be the ideal, but it will take us great effort to make such
> things to happen based on where we are now. It is going to be a long
> way. I believe the first step is to make the boot-up flow and hot-plug
> flow consistent for system devices. This is what this patchset is
> trying to do.
If you use the system "bus" for this, the "flow" will be identical, that
is what the driver core provides for you. I don't see why you need to
implement something that sits next to it and not just use what we
already have here.
thanks,
greg k-h
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2012-12-13 4:13 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-12 23:17 [RFC PATCH 00/11] Hot-plug and Online/Offline framework Toshi Kani
2012-12-12 23:17 ` [RFC PATCH 01/11] Add hotplug.h for hotplug framework Toshi Kani
2012-12-12 23:53 ` Greg KH
2012-12-13 3:56 ` Toshi Kani
2012-12-12 23:17 ` [RFC PATCH 02/11] drivers/base: Add hotplug framework code Toshi Kani
2012-12-12 23:54 ` Greg KH
2012-12-13 4:02 ` Toshi Kani
2012-12-13 4:24 ` Greg KH
2012-12-13 16:30 ` Toshi Kani
2012-12-13 18:24 ` Greg KH
2012-12-14 1:59 ` Toshi Kani
2012-12-12 23:55 ` Greg KH
2012-12-13 3:58 ` Toshi Kani
2012-12-12 23:17 ` [RFC PATCH 03/11] cpu: Add cpu hotplug handlers Toshi Kani
2012-12-12 23:17 ` [RFC PATCH 04/11] mm: Add memory " Toshi Kani
2012-12-12 23:17 ` [RFC PATCH 05/11] ACPI: Add ACPI bus " Toshi Kani
2012-12-12 23:17 ` [RFC PATCH 06/11] ACPI: Add ACPI resource hotplug handler Toshi Kani
2012-12-12 23:17 ` [RFC PATCH 07/11] ACPI: Update processor driver for hotplug framework Toshi Kani
2012-12-12 23:17 ` [RFC PATCH 08/11] ACPI: Update memory " Toshi Kani
2012-12-12 23:17 ` [RFC PATCH 09/11] ACPI: Update container " Toshi Kani
2012-12-12 23:17 ` [RFC PATCH 10/11] cpu: Update sysfs cpu/online " Toshi Kani
2012-12-12 23:17 ` [RFC PATCH 11/11] ACPI: Update sysfs eject " Toshi Kani
2012-12-12 23:56 ` [RFC PATCH 00/11] Hot-plug and Online/Offline framework Greg KH
2012-12-13 0:39 ` Toshi Kani
2012-12-13 0:55 ` Greg KH
2012-12-13 3:37 ` Toshi Kani
2012-12-13 4:16 ` Greg KH [this message]
2012-12-13 16:03 ` Toshi Kani
2012-12-13 18:30 ` Greg KH
2012-12-14 1:51 ` Toshi Kani
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=20121213041627.GA14083@kroah.com \
--to=gregkh@linuxfoundation.org \
--cc=akpm@linux-foundation.org \
--cc=bhelgaas@google.com \
--cc=guohanjun@huawei.com \
--cc=isimatu.yasuaki@jp.fujitsu.com \
--cc=jiang.liu@huawei.com \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=rjw@sisk.pl \
--cc=srivatsa.bhat@linux.vnet.ibm.com \
--cc=toshi.kani@hp.com \
--cc=wency@cn.fujitsu.com \
--cc=yinghai@kernel.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;
as well as URLs for NNTP newsgroup(s).