From mboxrd@z Thu Jan 1 00:00:00 1970 From: Neil Brown Subject: Re: Just fix the bug - Re: [PATCH 1/8] PM: Opportunistic suspend support. Date: Fri, 28 May 2010 16:06:01 +1000 Message-ID: <20100528160601.49c023ff@notabene.brown> References: <1274863342.5882.4850.camel@twins> <20100526112303.3fef15a4@schatten.dmk.lab> <1274866402.5882.5051.camel@twins> <1274868384.5882.5169.camel@twins> <1274869262.5882.5222.camel@twins> <1274890736.4467.574.camel@mulgrave.site> <1274891308.1674.1766.camel@laptop> <20100526165919.GB2089@elf.ucw.cz> <1274893309.1674.1773.camel@laptop> <1274894685.4467.758.camel@mulgrave.site> <1274898180.4467.925.camel@mulgrave.site> <1274948234.14002.27.camel@thorin> <20100528135021.3b6acb0b@notabene.brown> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-pm-bounces@lists.linux-foundation.org Errors-To: linux-pm-bounces@lists.linux-foundation.org To: Arve =?UTF-8?B?SGrDuG5uZXbDpWc=?= Cc: linux-doc@vger.kernel.org, Peter Zijlstra , Jesse Barnes , Andi Kleen , Florian Mickler , Linux-pm mailing list , Len Brown , Greg KH , Pekka Enberg , Thomas Gleixner , tytso@mit.edu, Dmitry Torokhov , Kernel development list , James Bottomley , Tejun Heo , Bernd Petrovitsch , Andrew Morton , Wu Fengguang List-Id: linux-pm@vger.kernel.org T24gVGh1LCAyNyBNYXkgMjAxMCAyMTo1NzowMiAtMDcwMApBcnZlIEhqw7hubmV2w6VnIDxhcnZl QGFuZHJvaWQuY29tPiB3cm90ZToKCj4gMjAxMC81LzI3IE5laWwgQnJvd24gPG5laWxiQHN1c2Uu ZGU+Ogo+ID4gT24gVGh1LCAyNyBNYXkgMjAxMCAwMjowNzoyMSAtMDcwMAo+ID4gQXJ2ZSBIasO4 bm5ldsOlZyA8YXJ2ZUBhbmRyb2lkLmNvbT4gd3JvdGU6Cj4gPgo+ID4+ID4KPiA+PiA+PiBvZiBp dCBpbnRvIHBtIFFvUyBzdHVmZiBhbmQgaWYgb25lIGRheSBzb21lb25lIHNvbHZlcyB0aGUgcm9n dWUgYXBwCj4gPj4gPj4gcHJvYmxlbSwgd2UgY2FuIG1pZ3JhdGUgb3Zlci4KPiA+PiA+Cj4gPj4g PiBJZiBpdCdzIHNvIGltcG9ydGFudCBmb3IgQW5kcm9pZCBhbmQgbm8gb25lIGVsc2UsIEFuZHJv aWQgY2FuIGNhcnJ5IGl0Cj4gPj4gPiBvdXQgb2YgdHJlZS4KPiA+PiA+Cj4gPj4KPiA+PiBUaGlz IGlzIG5vdCBvbmx5IGltcG9ydGFudCBmb3IgQW5kcm9pZC4gSWYgeW91IHVzZSBzdXNwZW5kIG9u IGEKPiA+PiBjdXJyZW50IExpbnV4IHN5c3RlbSB5b3UgcnVuIHRoZSByaXNrIG9mIGxvb3Npbmcg d2FrZXVwIGV2ZW50cy4gSWYgeW91Cj4gPj4gaGF2ZSB3YWtldXAgZXZlbnRzIHRoYXQgeW91IGNh bm5vdCBhZmZvcmQgdG8gbG9zZSB5b3VyIG9ubHkgb3B0aW9uIGlzCj4gPj4gdG8gbmV2ZXIgc3Vz cGVuZC4gT24gc29tZSBoYXJkd2FyZSAoZS5nLiB4ODYpIHRoZSBjb3N0IG9mIG5vdAo+ID4+IHN1 c3BlbmRpbmcgaXMgYWx3YXlzIGh1Z2UsIG9uIG90aGVyIGhhcmR3YXJlIChtYW55IEFSTSBTT0Nz KSB0aGUgY29zdAo+ID4+IGlzIG9ubHkgaHVnZSBpZiB5b3VyIGFwcHMgYmVoYXZlIHBvb3JseS4K PiA+Pgo+ID4KPiA+IFNvIGhlcmUgaXMgbXkgc3VnZ2VzdGlvbi4KPiA+IFJhdGhlciB0aGFuIHRy eWluZyB0byBwdXNoIGEgZmVhdHVyZSB0aGF0IGlzIGNsZWFybHkgbWVldGluZyBsb3RzIG9mCj4g PiByZXNpc3RhbmNlLCB0aGUgQW5kcm9pZCBkZXZzIHNob3VsZCBzdGF0ZSB0aGUgcHJvYmxlbSBh cyBhIGJ1ZyB0aGF0IG5lZWRzCj4gPiBmaXhpbmcuIMKgQXMgeW91IGhhdmUuCj4gPiBVcHN0cmVh bSBpcyBhIGxvdCBtb3JlIHJlY2VwdGl2ZSBvZiBmaXhpbmcgYnVncyB0aGFuIGFkZGluZyBmZWF0 dXJlcy4KPiA+Cj4gPiBJbiB0aGlzIGNhc2UgdGhlIGJ1ZyBpcyB0aGF0IHlvdSBjYW5ub3Qgc3Vz cGVuZCB3aXRob3V0IHRoZSByaXNrIG9mIGxvc2luZwo+ID4gd2FrZXVwIGV2ZW50cy4gwqBUaGlz IGlzIGEgcmVhbCBidWcgdGhhdCBmb3IgeW91ciB1c2UgY2FzZSBpcyBhIHNlcmlvdXMKPiA+IGJ1 Zy4gwqBJJ3ZlIHRveWVkIHdpdGggc2V2ZXJhbCB3YXlzIG9mIGZpeGluZyB0aGlzIGJ1dCB0aGUg b25lIHRoYXQgc2VlbXMgbW9zdAo+ID4gcHJvbWlzaW5nIGlzIHRvIG5vdGUgdGhhdCBpbiB0aGUg a2VybmVsIHRoZSBzdXNwZW5kIHByb2Nlc3MgaXMgdHdvLXN0YWdlIHdpdGgKPiA+IGEgJ3ByZXBh cmUnIGZvbGxvd2VkIGJ5IGEgJ3N1c3BlbmQnLiBVc2Vyc3BhY2UgY2Fubm90IG1ha2UgdGhhdCBk aXN0aW5jdGlvbgo+ID4gYW5kIHNvIGVuZHMgdXAgd2l0aCBhIHJhY2UuCj4gPgo+ID4gTWF5YmUg dXNlcnNwYWNlIHNob3VsZCBiZSBhYmxlIHRvIHNheSAicHJlcGFyZSB0byBzdXNwZW5kIiB3aXRo IHRoZSBtZWFuaW5nCj4gPiB0aGF0IGFmdGVyIGEgc3VjY2Vzc2Z1bCByZXR1cm4sIGFueSBldmVu dCB3aGljaCB3b3VsZCBjYXVzZSBhIHdha2V1cCBzZXRzIGEKPiA+IGZsYWcgc28gdGhhdCB0aGUg ZmluYWwgc3VzcGVuZCByZXR1cm5zIGltbWVkaWF0ZWx5ICh3aXRob3V0IGFjdHVhbGx5IGdvaW5n IHRvCj4gPiB0aGUgbG93ZXIgcG93ZXIgc3RhdGUpLgo+ID4KPiA+IFRoZW4geW91ciBvcHBvcnR1 bmlzdGljIHN1c3BlbmQgY291bGQgYmUgZW50aXJlbHkgaW4gdXNlcnNwYWNlIHdoZXJlIHlvdQo+ ID4gd291bGRuJ3QgaGF2ZSB0byBmaWdodCB3aXRoIHRoZSBrZXJuZWwgY3Jvd2QgOi0pCj4gPiBU aGUgc3VzcGVuZC1kYWVtb24gd291bGQ6Cj4gPiDCoFdhaXQgZm9yIGFsbCB1c2VyLXNwYWNlIHN1 c3BlbmQgYmxvY2tzIHRvIGJlIGRyb3BwZWQuCj4gPiDCoFRlbGwgdGhlIGtlcm5lbCB0byAicHJl cGFyZSB0byBzdXNwZW5kIi4KPiA+IMKgVGVsbCBhbGwgdXNlcnNwYWNlIHByb2dyYW1zIHdoaWNo IGhhdmUgcmVnaXN0ZXJlZCBmb3IgdGhlIG1lc3NhZ2UgdGhhdCB0aGV5Cj4gPiDCoCDCoHNob3Vs ZCBwcmVwYXJlIHRvIHN1c3BlbmQuIMKgVGhleSBoYXZlIHRoZSBvcHBvcnR1bml0eSBhdCB0aGlz IHBvaW50IHRvCj4gPiDCoCDCoHRha2Ugb3V0IGEgbmV3IHN1c3BlbmQgYmxvY2sgaWYgdGhleSBu b3RpY2UgYW4gZXZlbnQgdGhhdCBoYXMKPiA+IMKgIMKganVzdCBhcnJpdmVkCj4gPiDCoFdhaXQg Zm9yIGFsbCB0aG9zZSBwcm9ncmFtcyB0byBhY2tub3dsZWRnZQo+ID4gwqBJZiB0aGVyZSBhcmUg bm8gbmV3IHN1c3BlbmQgYmxvY2tzLCB0ZWxsIHRoZSBrZXJuZWwgdG8gc3VzcGVuZAo+ID4gwqBl bHNlIHRlbGwgdGhlIGtlcm5lbCB0byBhYm9ydCB0aGUgc3VzcGVuZC4KPiA+Cj4gPiBUaGlzIChJ IHRoaW5rKSBhbGxvd3MgcmFjZS1mcmVlIG9wcG9ydHVuaXN0aWMgc3VzcGVuZCBpbiB1c2VyLXNw YWNlIHdoZXJlCj4gPiB5b3UgY2FuIGRvIGFsbCB0aGUgYWNjb3VudGluZyB5b3UgbmVlZC4KPiA+ Cj4gCj4gUGVyaGFwcywgYnV0IGl0IGZvcmNlcyBhbGwgdXNlciBzcGFjZSBwcm9ncmFtcyB0aGF0 IGdldCBldmVudHMgZnJvbQo+IHRoZSBrZXJuZWwgdG8gYWxzbyByZWNlaXZlIG1lc3NhZ2VzIGZy b20gdGhlIHN1c3BlbmQtZGFlbW9uLCBjaGVjayBmb3IKPiBvdGhlciBldmVudHMgYWdhaW4sIHRo ZW4gcmVzcG9uZCB0byB0aGUgc3VzcGVuZC1kYWVtb24uIFRoZSBjdXJyZW50Cj4gc3VzcGVuZCBi bG9ja2VyIGludGVyZmFjZSBpcyBlYXNpZXIgdG8gdXNlLgoKTWF5YmUgc28uICBUaGVyZSBhcmUg cXVpdGUgcG9zc2libHkgYmV0dGVyIHdheXMgdG8gZml4IHRoZSBidWcuICBUaGVyZSBhcmUgYQp2 YXJpZXR5IG9mIGRpZmZlcmVudCB0cmFkZW9mZnMgcG9zc2libGUgYW5kIEkgc3VzcGVjdCB3ZSBj b3VsZCBoYXZlIGZ1bgphcmd1aW5nIGFib3V0IHRob3NlLiAgTXkgbWFpbiBwb2ludCB0aG91Z2gg aXMgdGhhdCBpZiB3ZSBmb2N1cyBvbiBhIGJ1ZyB0aGF0Cm5lZWRzIHRvIGJlIGZpeGVkLCB3ZSBz aG91bGQgYmUgYWJsZSB0byBrZWVwIHRoZSBjb252ZXJzYXRpb24gbW9yZSBmb2N1c3NlZC4KQ3Vy cmVudGx5IGl0IHNlZW1zIHRvIGJlIGJyYW5jaGluZyBhbGwgb3ZlciB0aGUgcGxhY2Ugd2hpY2gg ZG9lc24ndCBzZWVtIHZlcnkKaGVscGZ1bC4KCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgSSBkb24ndCBzZWUgaG93IHlvdXIKPiBzdWdnZXN0aW9uIGF2b2lk cyByYWNlcyBmb3IgZXZlbnRzIHRoYXQgcGFzcyB0cm91Z2ggc2V2ZXJhbCBrZXJuZWwKPiBsYXll cnMgdGhvdWdoLiBJZiBhIHdha2V1cCBldmVudCBoYXBwZW5lZCBiZWZvcmUgdGhlICJwcmVwYXJl IHRvCj4gc3VzcGVuZCIgY2FsbCBidXQgaGFzIG5vdCB5ZXQgYmVlbiBwYXNzZWQgdG8gdXNlci1z cGFjZSwgdGhlCj4gdXNlci1zcGFjZSBwcm9ncmFtIHRoYXQgbmVlZHMgdGhpcyBldmVudCB3aWxs IG5vdCBrbm93IHRoYXQgaXQgbmVlZHMKPiB0byBibG9jayBzdXNwZW5kIHdoZW4gaXQgZ2V0cyB0 aGUgcHJlcGFyZS10by1zdXNwZW5kIG1lc3NhZ2UuCgpFYWNoIGxheWVyIG11c3QgdW5kZXJzdGFu ZCB0aGF0IHRoZSBldmVudCBpcyBhIHdha2UtdXAgZXZlbnQsIGFuZCB0aGUKInByZXBhcmUgdG8g c3VzcGVuZCBjYWxsIiB0byBlYWNoIGxheWVyIHNob3VsZCBkcml2ZSBhbGwgcGVuZGluZyBldmVu dHMKdGhyb3VnaCB0byB0aGUgbmV4dCBsYXllci4gIElmIHRoZSBsYXllcnMgKGRyaXZlcnMpIGFy ZSBwcmVwYXJlZCBpbiB0aGUKInJpZ2h0IiBvcmRlciwgdGhpcyB3aWxsIGZvcmNlIHRoZSBldmVu dCBhbGwgdGhlIHdheSB0byB1c2VyLXNwYWNlLiAgSWYgdGhleQphcmUgY2FsbGVkIGluIGV4YWN0 bHkgdGhlICJXcm9uZyIgb3JkZXIsIHRoaXMgd2lsbCByZXF1aXJlIG11bHRpcGxlCnByZXBhcmUv c3VzcGVuZC9pbnN0YW50LXJlc3VtZSBjeWNsZXMgdG8gZ2V0IHRoZSBldmVudCB0aHJvdWdoLCBi dXQgSSBzdXNwZWN0CnRoYXQgdGhpcyB3b3VsZCB2ZXJ5IHJhcmVseSByZXN1bHQgaW4gdHJ1bHkg cGF0aG9sb2dpY2FsIGJlaGF2aW91ci4KCkknbSBndWVzc2luZyB5b3VyIGN1cnJlbnQgY29kZSAo c29ycnksIEkgaGF2ZW4ndCBsb29rZWQgYXQgYWxsKSBhbHJlYWR5IHRyYWNrcwpldmVudHMgdXAg dGhyb3VnaCBtdWx0aXBsZSBsYXllcnMgc28gdGhleSBjYW4gaW50ZXJhY3Qgd2l0aCBhIHBlbmRp bmcKb3Bwb3J1bmlzdGljLXN1c3BlbmQgcmVxdWVzdC4gIEkgc3VzcGVjdCB0aGF0IGFzcGVjdCBv ZiB0aGUgY29kZSBpc24ndApwYXJ0aWN1bGFybHkgY29udHJvdmVyc2lhbC4KS2VlcCB0aGF0LCBh bmQgdXNlIGl0IHByZWNpc2VseSB0byBpbXBsZW1lbnQgYSByYWNlLWZyZWUgInN1c3BlbmQiIHJl cXVlc3QKZnJvbSB1c2VyLXNwYWNlLgoKPiAKPiA+IEkgZG9uJ3QgZnVsbHkgdW5kZXJzdGFuZCB5 b3VyIHJlcXVpcmVtZW50cyBmb3IgYWNjb3VudGluZyBvZiBkZXZpY2VzIGRyaXZlcnMKPiA+IHJl amVjdGluZyBvciBibG9ja2luZyBhIHN1c3BlbmQsIHNvIEkgY2Fubm90IHNheSBwcmVjaXNlbHkg aG93IHRoYXQgd291bGQgZml0Cj4gPiBpbi4gwqBNYXliZSB5b3UganVzdCBuZWVkIHRvIGtub3cg LSB3aGVuZXZlciB0aGUgJ3N1c3BlbmQgcmVxdWVzdCcgY29tcGxldGVzIC0KPiA+IHdoYXQgdGhl IHdha2V1cCBldmVudHMgd2VyZS4gwqBJdCBzaG91bGRuJ3QgYmUgdG9vIGhhcmQgdG8gZXhwb3J0 IHRoYXQgdG8KPiA+IHVzZXItc3BhY2UgdmlhIHN5c2ZzLgo+ID4KPiA+IEkgd29uJ3QgcHJvcG9z ZSBhbiBleGFjdCBlbmhhbmNlbWVudCB0byB0aGUgdXNlci1zcGFjZSBpbnRlcmZhY2UgZm9yCj4g PiByZXF1ZXN0aW5nIGEgc3VzcGVuZCwgYnV0IEkgc3VzcGVjdCBpdCBzaG91bGQgZXhwb3NlIGVh Y2ggb2YKPiA+IMKgc3VzcGVuZF9wcmVwYXJlCj4gPiDCoHN1c3BlbmRfZGV2aWNlc19hbmRfZW50 ZXIKPiA+IMKgc3VzcGVuZF9maW5pc2gKPiA+IChvciBjbG9zZSBhbmFsb2d1ZXMgdGhlcmUtb2Yp IHRvIHVzZXItc3BhY2UuIMKgSXQgaXMgdGVtcHRpbmcgdG8gbWFwIHRob3NlIHRvCj4gPiAib3Bl bi1mb3Itd3JpdGUiLCAid3JpdGUiLCAiY2xvc2UiLCBidXQgSSdtIG5vdCBzdXJlIHRoYXQgc3Vz cGVuZF9wcmVwYXJlCj4gPiB3b3VsZCBiZSBhcHByb3ByaWF0ZSBpZiB0aGUgYXBwIHdhcyBhYm91 dCB0byB3cml0ZSAiZGlzayIgLSBpdCBpcyBhIHBpdHkgdGhhdAo+ID4gYm90aCBzdXNwZW5kIGFu ZCBoaWJlcm5hdGUgdXNlIHRoZSBzYW1lIHN5c2ZzIGZpbGUuCj4gPgo+ID4gU28ganVzdCBmaXgg dGhlIGJ1ZywgYW5kIGV2ZXJ5b25lIHdpbGwgYmUgaGFwcHkgOi0pCj4gPgo+IAo+IEkgYWxyZWFk eSBoYXZlLCBidXQgZXZlcnlvbmUgZG8gbm90IGFwcGVhciB0byBiZSBoYXBweS4KPiAKCkkgZG9u J3QgdGhpbmsgeW91IGhhdmUuICBZb3UgaGF2ZSBwcm9wb3NlZCBhIHNpZ25pZmljYW50IG5ldyBm ZWF0dXJlOiBhCnN1c3BlbmQtYXMtc29vbi1hcy15b3UtY2FuIHJlcXVlc3Qgd2hpY2ggKnVzZXIq c3BhY2UqY2FuKmJsb2NrKi4gIFBlb3BsZQpkb24ndCBsaWtlIHRoYXQgYmVjYXVzZSBpdCBzZWVt cyBsaWtlIGEgcG9vciBzZWNvbmQgY291c2luIHRvIHNvbWV0aGluZyB0aGF0CndvdWxkIGJlIHJl YWxseSB1c2VmdWwgKHVzZXItc3BhY2Ugc2V0dGluZyBtb3JlIGdlbmVyYWwgbGF0ZW5jeQpyZXF1 aXJlbWVudHMpLgoKSSBhbSBzdWdnZXN0aW5nIHRoYXQgeW91IHN0aWNrIHdpdGggdGhlIGZlYXR1 cmUgd2UgaGF2ZSwgd2hpY2ggaXMgdGhhdAp1c2VyLXNwYWNlIGNhbiByZXF1ZXN0IGEgc3VzcGVu ZCBhbmQgdGhlIGtlcm5lbC9oYXJkd2FyZSBjYW4gY2F1c2UgYQpzdWJzZXF1ZW50IChwb3NzaWJs eSBpbW1lZGlhdGUpIHJlc3VtZSBpbiByZXNwb25zZSB0byBhIHdha2UtdXAgZXZlbnQuCkFyZ3Vl IHRoYXQgdGhlIGN1cnJlbnQgZGVmaW5pdGlvbiBvZiAid2FrZS11cCBldmVudCIgaXMgdG9vIHdl YWsgYW5kIGRvZXMgbm90CmFsbG93IHRoZSBmZWF0dXJlIHRvIGJlIHVzZWQgc2FmZWx5LiAgUHJl c2VudCBhbiBpbXBsZW1lbnRhdGlvbiAoSSBzdXNwZWN0IHlvdQpoYXZlIG1vc3Qgb2YgaXQgYWxy ZWFkeSkgd2hlcmUgYSB3YWtlLXVwIGV2ZW50IGlzIHRyYWNrZWQgYWxsIHRoZSB3YXkgZnJvbQp0 aGUgaGFyZHdhcmUgdG8gdXNlci1zcGFjZSBhbmQgaXMgc3RpbGwgYSAnd2FrZS11cCBldmVudCcg dW50aWwgdXNlcnNwYWNlCmFjdHVhbGx5IGNvbnN1bWVzIGl0LgoKVGhlbiB1c2VyLXNwYWNlIHNp bXBseSBoYXMgdG86CiAgcG9sbCBmb3IgZXZlbnQgdG8gYmUgcmVhZHkKICByZXF1ZXN0IHN1c3Bl bmQtYmxvY2sgaW4gdXNlci1zcGFjZQogIGNvbnN1bWUgZXZlbnQKICBoYW5kbGUgZXZlbnQKICBy ZWxlYXNlIHN1c3BlbmQtYmxvY2sKICBsb29wCgpObyBjaGFuZ2UgdG8gQVBJLiAgTm8gbmV3IGNv bmNlcHRzLiAgU2ltcGx5IGEgYnVnIGFuZCBhIGRpcmVjdCBmaXguCgpZb3UgcHJvYmFibHkgd2Fu dCB0aGUgInN1c3BlbmQiIHJlcXVlc3QgdG8gYmxvY2sgdW50aWwgdGhlcmUgYXJlIG5vIHBlbmRp bmcKZXZlbnRzIChhbmQgdGhlbiBpbW1lZGlhdGVseSBmYWlsIGlmIHRoZXJlIHdlcmUpIHNvIHRo YXQgdGhlcmUgaXMgbm8gcmlzayBvZgp0aGUgc3VzcGVuZC1kYWVtb24gc3Bpbm5pbmcgYXNraW5n IG9mIGEgc3VzcGVuZCB3aGljaCBhcHBlYXJzIHRvIHJlc3VtZQppbW1lZGlhdGVseSAodW50aWwg c29tZSBvdGhlciBwcm9jZXNzIHNlZXMgYW4gZXZlbnQgYW5kIGJsb2NrcyBzdXNwZW5kLgoKTmVp bEJyb3duCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxp bnV4LXBtIG1haWxpbmcgbGlzdApsaW51eC1wbUBsaXN0cy5saW51eC1mb3VuZGF0aW9uLm9yZwpo dHRwczovL2xpc3RzLmxpbnV4LWZvdW5kYXRpb24ub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgt cG0=