From mboxrd@z Thu Jan 1 00:00:00 1970 From: Todd Poynor Date: Thu, 29 Apr 2004 22:36:37 +0000 Subject: Re: [PATCH] Hotplug for device power state changes Message-Id: <40918375.2090806@mvista.com> List-Id: References: <20040429202654.GA9971@dhcp193.mvista.com> <20040429224243.L16407@flint.arm.linux.org.uk> In-Reply-To: <20040429224243.L16407@flint.arm.linux.org.uk> MIME-Version: 1.0 Content-Type: text/plain; charset="macroman" Content-Transfer-Encoding: base64 To: Russell King Cc: mochel@digitalimplant.org, linux-hotplug-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org UnVzc2VsbCBLaW5nIHdyb3RlOgoKPiBOb3RlIHRoYXQgd2Ugc2hvdWxkIHJ1biB0aGlzIHN5bmNo cm9ub3VzbHkgd2l0aCB1c2Vyc3BhY2UgLSBpZSwgd2FpdAo+IGZvciB0aGUgdXNlcnNwYWNlIGhv dHBsdWcgc2NyaXB0IHRvIGZpbmlzaCBleGVjdXRpbmcgYmVmb3JlIG1vdmluZwo+IG9uIHRvIHRo ZSBuZXh0IGRldmljZS4gIFdoeT8KPiAKPiBUaGluayBvZiB0aGUgY2FzZSB3aGVyZSB3ZSdyZSBz dXNwZW5kaW5nIHRoZSBjb21wbGV0ZSBzeXN0ZW0uICBJZiB5b3UKPiBnbyByb3VuZCBhbmQgYXN5 bmNob25vdXNseSB0cnkgdG8gcnVuIHVzZXJzcGFjZSBzY3JpcHRzLCBjaGFuY2VzIGFyZQo+IHlv dSdsbCBoYXZlIHRoZSBDUFUgYXNsZWVwIGJlZm9yZSBfYW55XyBvZiB0aGUgc2NyaXB0cyBoYXZl IHJ1biwgd2hpY2gKPiBtZWFucyAoZWcpIHlvdXIgREhDUCBjbGllbnQgY291bGRuJ3QgdGVsbCB0 aGUgc2VydmVyIHRoYXQgaXRzIHJlbGVhc2VkCj4gaXRzIGFsbG9jYXRpb24uCgpJIGZpZ3VyZWQg c3lzdGVtIHN1c3BlbmQvcmVzdW1lIHdvdWxkIG5lZWQgdG8gYmUgYSBzZXBhcmF0ZSBldmVudCBh bmQgCmlzbid0IGNvdmVyZWQgYnkgdGhpcyBwYXRjaCwgd2hpY2ggaXMgZm9yICJydW50aW1lIiBp bmRpdmlkdWFsIGRldmljZSAKc3VzcGVuZC9yZXN1bWUgb25seS4gIEFsc28sIHRoZSBmbG9vZCBv ZiBub3RpZmljYXRpb25zIG9mIGFsbCBkZXZpY2VzIApzdXNwZW5kaW5nL3Jlc3VtaW5nIG1pZ2h0 IG5vdCBiZSB1c2VmdWwgLS0gdGhlIHNpbmdsZSBzeXN0ZW0gCnN1c3BlbmQvcmVzdW1lIGV2ZW50 IGNvdWxkIGltcGx5IHRoZXNlIGRldmljZSBldmVudHMsIGFsdGhvdWdoIHBlcmhhcHMgCmluIHNv bWUgY2FzZXMgc29tZXRoaW5nIHdvdWxkIHdhbnQgdG8ga25vdyBleGFjdGx5IHdoaWNoIGRldmlj ZXMgd2VyZSAKb3BlcmFibGUgYXQgc3lzdGVtIHN1c3BlbmQgdGltZS4gIEkgY2FuIGFsc28gc2Vu ZCBhIHBhdGNoIGZvciBzeXN0ZW0gCnN1c3BlbmQvcmVzdW1lIGhvdHBsdWcgaWYgdGhlcmUncyBp bnRlcmVzdC4KCk5vdyB0aGF0IHlvdSBtZW50aW9uIGl0LCBkZXZpY2UgcG93ZXIgaG90cGx1ZyBz aG91bGQgYmUgc3luY2hyb25vdXMsIHRvIAptYWtlIHN1cmUgdGhlIHBvd2VyIG1hbmFnZW1lbnQg YXBwbGljYXRpb24gaGFzIHJlYWN0ZWQgdG8gdGhlIGNoYW5nZWQgCnN0YXRlIHByaW9yIHRvIHRo ZSBkZXZpY2UgZ29pbmcgaW50byBhY3R1YWwgc2VydmljZSAoaW4gdGhlIGNhc2Ugb2YgYSAKcmVz dW1lKS4KCj4gQWxzbywgc2hvdWxkIHdlIGJlIHRlbGxpbmcgdXNlcnNwYWNlIGFib3V0IHN1c3Bl bmQgYmVmb3JlIHdlIGFjdHVhbGx5Cj4gc3VzcGVuZCB0aGUgZGV2aWNlPwoKSSBzdXBwb3NlIHRo YXQsIGRlcGVuZGluZyBvbiB0aGUgcmVhc29uIG5vdGlmaWNhdGlvbiBpcyBuZWVkZWQsICJqdXN0 IApiZWZvcmUiIG9yICJqdXN0IGFmdGVyIiBtaWdodCBiZSB0aGUgcmlnaHQgYW5zd2VyLiAgTm93 IHRoYXQgeW91IGJyaW5nIAp0aGlzIHVwLCBpdCB3YXMgb3JpZ2luYWxseSBteSBpbnRlbnRpb24g dG8gbm90aWZ5IG9mIHN1c3BlbmQgImp1c3QgCmFmdGVyIiAoc28gcG93ZXIgbWdyIGNhbiBjaGFu Z2UgcG93ZXIgc3RhdGUsIGtub3dpbmcgdGhhdCB0aGUgYXNzb2NpYXRlZCAKZGV2aWNlIG5vIGxv bmdlciBoYXMgYW55IHJlcXVpcmVtZW50cyksIGFuZCBub3RpZnkgb2YgcmVzdW1lICJqdXN0IApi ZWZvcmUiIChzbyBwb3dlciBtZ3IgY2FuIGFkanVzdCBwb3dlciBzdGF0ZSB0byBtYXRjaCByZXF1 aXJlbWVudHMgYWJvdXQgCnRvIGJlIHB1dCBpbnRvIHNlcnZpY2UpLiAgSSdkIGJlIGludGVyZXN0 ZWQgaW4gaGVhcmluZyBhYm91dCBvdGhlciB1c2FnZSAKc2NlbmFyaW9zIHRoYXQgbWlnaHQgbmVl ZCBhIGRpZmZlcmVudCBub3RpZmljYXRpb24gb3JkZXIuICBUaGFua3MsCgotLSAKVG9kZCBQb3lu b3IKTW9udGFWaXN0YSBTb2Z0d2FyZQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KVGhpcyBTRi5OZXQgZW1haWwgaXMgc3BvbnNvcmVkIGJ5 OiBPcmFjbGUgMTBnCkdldCBjZXJ0aWZpZWQgb24gdGhlIGhvdHRlc3QgdGhpbmcgZXZlciB0byBo aXQgdGhlIG1hcmtldC4uLiBPcmFjbGUgMTBnLiAKVGFrZSBhbiBPcmFjbGUgMTBnIGNsYXNzIG5v dywgYW5kIHdlJ2xsIGdpdmUgeW91IHRoZSBleGFtIEZSRUUuIApodHRwOi8vYWRzLm9zZG4uY29t Lz9hZF9pZDE0OSZhbGxvY19pZIE2NiZvcD1jbGljawpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpMaW51eC1ob3RwbHVnLWRldmVsIG1haWxpbmcgbGlzdCAg aHR0cDovL2xpbnV4LWhvdHBsdWcuc291cmNlZm9yZ2UubmV0CkxpbnV4LWhvdHBsdWctZGV2ZWxA bGlzdHMuc291cmNlZm9yZ2UubmV0Cmh0dHBzOi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3Rz L2xpc3RpbmZvL2xpbnV4LWhvdHBsdWctZGV2ZWw= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S265005AbUD2Wg7 (ORCPT ); Thu, 29 Apr 2004 18:36:59 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S265013AbUD2Wgy (ORCPT ); Thu, 29 Apr 2004 18:36:54 -0400 Received: from gateway-1237.mvista.com ([12.44.186.158]:56818 "EHLO av.mvista.com") by vger.kernel.org with ESMTP id S265005AbUD2Wgr (ORCPT ); Thu, 29 Apr 2004 18:36:47 -0400 Message-ID: <40918375.2090806@mvista.com> Date: Thu, 29 Apr 2004 15:36:37 -0700 From: Todd Poynor User-Agent: Mozilla Thunderbird 0.5 (X11/20040208) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Russell King CC: mochel@digitalimplant.org, linux-hotplug-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org Subject: Re: [PATCH] Hotplug for device power state changes References: <20040429202654.GA9971@dhcp193.mvista.com> <20040429224243.L16407@flint.arm.linux.org.uk> In-Reply-To: <20040429224243.L16407@flint.arm.linux.org.uk> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Russell King wrote: > Note that we should run this synchronously with userspace - ie, wait > for the userspace hotplug script to finish executing before moving > on to the next device. Why? > > Think of the case where we're suspending the complete system. If you > go round and asynchonously try to run userspace scripts, chances are > you'll have the CPU asleep before _any_ of the scripts have run, which > means (eg) your DHCP client couldn't tell the server that its released > its allocation. I figured system suspend/resume would need to be a separate event and isn't covered by this patch, which is for "runtime" individual device suspend/resume only. Also, the flood of notifications of all devices suspending/resuming might not be useful -- the single system suspend/resume event could imply these device events, although perhaps in some cases something would want to know exactly which devices were operable at system suspend time. I can also send a patch for system suspend/resume hotplug if there's interest. Now that you mention it, device power hotplug should be synchronous, to make sure the power management application has reacted to the changed state prior to the device going into actual service (in the case of a resume). > Also, should we be telling userspace about suspend before we actually > suspend the device? I suppose that, depending on the reason notification is needed, "just before" or "just after" might be the right answer. Now that you bring this up, it was originally my intention to notify of suspend "just after" (so power mgr can change power state, knowing that the associated device no longer has any requirements), and notify of resume "just before" (so power mgr can adjust power state to match requirements about to be put into service). I'd be interested in hearing about other usage scenarios that might need a different notification order. Thanks, -- Todd Poynor MontaVista Software