lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 12 Dec 2012 20:16:27 -0800
From:	Greg KH <gregkh@...uxfoundation.org>
To:	Toshi Kani <toshi.kani@...com>
Cc:	rjw@...k.pl, lenb@...nel.org, akpm@...ux-foundation.org,
	linux-acpi@...r.kernel.org, linux-kernel@...r.kernel.org,
	linux-mm@...ck.org, bhelgaas@...gle.com,
	isimatu.yasuaki@...fujitsu.com, jiang.liu@...wei.com,
	wency@...fujitsu.com, guohanjun@...wei.com, yinghai@...nel.org,
	srivatsa.bhat@...ux.vnet.ibm.com
Subject: Re: [RFC PATCH 00/11] Hot-plug and Online/Offline framework

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 from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ