From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail144.messagelabs.com (mail144.messagelabs.com [216.82.254.51]) by kanga.kvack.org (Postfix) with SMTP id BCAE46B003D for ; Sat, 14 Mar 2009 00:59:19 -0400 (EDT) From: Nick Piggin Subject: Re: [aarcange@redhat.com: [PATCH] fork vs gup(-fast) fix] Date: Sat, 14 Mar 2009 15:59:11 +1100 References: <20090311170611.GA2079@elte.hu> <200903140309.39777.nickpiggin@yahoo.com.au> <20090313193416.GG27823@random.random> In-Reply-To: <20090313193416.GG27823@random.random> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: base64 Content-Disposition: inline Message-Id: <200903141559.12484.nickpiggin@yahoo.com.au> Sender: owner-linux-mm@kvack.org To: Andrea Arcangeli Cc: Linus Torvalds , Ingo Molnar , Nick Piggin , Hugh Dickins , KOSAKI Motohiro , KAMEZAWA Hiroyuki , linux-mm@kvack.org List-ID: T24gU2F0dXJkYXkgMTQgTWFyY2ggMjAwOSAwNjozNDoxNiBBbmRyZWEgQXJjYW5nZWxpIHdyb3Rl Ogo+IE9uIFNhdCwgTWFyIDE0LCAyMDA5IGF0IDAzOjA5OjM5QU0gKzExMDAsIE5pY2sgUGlnZ2lu IHdyb3RlOgo+ID4gT2YgY291cnNlIEkgY291bGQgaGF2ZSBhIHJhY2UgaW4gZmFzdC1ndXAsIGJ1 dCBJIGRvbid0IHRoaW5rIEkgY2FuIHNlZQo+ID4gb25lLiBJJ20gd29ya2luZyBvbiByZW1vdmlu ZyB0aGUgdm1hIHN0dWZmIGFuZCBqdXN0IG1ha2luZyBpdCBwZXItcGFnZSwKPiA+IHdoaWNoIG1p Z2h0IG1ha2UgaXQgZWFzaWVyIHRvIHJldmlldy4KPgo+IElmIHlvdSBkaWRuJ3QgdG91Y2ggZ3Vw LWZhc3QgYW5kIHlvdSBkb24ndCBzZW5kIGlwaXMgaW4gZm9yaywgeW91IG1vc3QKPiBjZXJ0YWlu bHkgaGF2ZSBvbmUsIGl0J3MgdGhlIG9uZSBMaW51cyBwb2ludGVkIG91dCBhbmQgdGhhdCBJJ3Zl IGZpeGVkCj4gKHdpdGggSXppaywgdGhlbiBJIHNvcnRlZCBvdXQgdGhlIG9yZGVyaW5nIGRldGFp bHMgYW5kIGhvdyB0byBtYWtlIGl0Cj4gc2FmZSBvbiBmcm9rIHNpZGUpLgoKSXQgZG9lcyB0b3Vj aCBndXAtZmFzdCwgYnV0IGl0IGp1c3QgYWRkcyBvbmUgYnJhbmNoIGFuZCBubyBiYXJyaWVyIGlu IHRoZQpjYXNlIHRoZSBwYWdlIGlzIGRlLWNvd2VkIChhbmQgd291bGQgYmUgYWJsZSB0byB3b3Jr IHdpdGggaHVnZXBhZ2VzIHdpdGgKdGhlIGdldF9wYWdlX211bHRpcGxlIHN0aWxsIEkgdGhpbmsg YWx0aG91Z2ggSSBoYXZlbid0IGRvbmUgaHVnZXBhZ2UKaW1wbGVtZW50YXRpb24geWV0KS4KCgo+ ID4gV2VsbCwgaXQgd291bGQgc2F2ZSBoYXZpbmcgdG8gdG91Y2ggdGhlIHBhcmVudCdzIHBhZ2V0 YWJsZXMgYWZ0ZXIKPiA+IGRvaW5nIHRoZSBhdG9taWMgY29weS1vbi1mb3JrIGluIHRoZSBjaGls ZC4gSnVzdCBoYXZlIHRoZSBwYXJlbnQgZG8KPiA+IGEgZG9fd3BfcGFnZSwgd2hpY2ggd2lsbCBu b3RpY2UgaXQgaXMgdGhlIG9ubHkgdXNlciBvZiB0aGUgcGFnZSBhbmQKPiA+IHJldXNlIGl0IHJh dGhlciB0aGFuIENPVyBpdCAobm93IHRoYXQgSHVnaCBoYXMgZml4ZWQgdGhlIHJhY2VzIGluCj4g PiB0aGUgcmV1c2UgY2hlY2sgdGhhdCBzaG91bGQgYmUgZmluZSkuCj4KPiBJZiB3ZSdyZSBpbnRv IHRoZSB0cm91YmxlIHBhdGgsIGl0IG1lYW5zIHBhcmVudCBhbHJlYWR5IG93bnMgdGhlCj4gcGFn ZS4gSSBqdXN0IGxlYXZlIGl0IG93bmVkIHRvIHRoZSBwYXJlbnQsIHB0ZSByZW1haW5zIHRoZSBz YW1lIGJlZm9yZQo+IGFuZCBhZnRlciBmb3JrLiBObyBwb2ludCBpbiBjaGFuZ2luZyB0aGUgcHRl IHZhbHVlIGlmIHdlJ3JlIGluIHRoZQo+IHRyb3VibGVzb21lIHBhdGggYXMgZmFyIGFzIEkgY2Fu IHRlbGwuIEkgb25seSB2ZXJpZnkgdGhhdCB0aGUgcGFyZW50IHB0ZQo+IGRpZG4ndCBnbyBhd2F5 IGZyb20gdW5kZXIgZm9yayB3aGVuIEkgdGVtcG9yYXJpbHkgcmVsZWFzZSB0aGUgcGFyZW50Cj4g UFQgbG9jayB0byBhbGxvY2F0ZSB0aGUgY293IHBhZ2UgaW4gdGhlIHNsb3cgcGF0aCAoc2VlIHRo ZSAtRUFHQUlOCj4gcGF0aCwgSSBhbHNvIHZlcmlmaWVkIGl0IHRyaWdnZXJzIHdpdGggc3dhcHBp bmcgYW5kIHN5c3RlbSBzdXJ2aXZlcyBmaW5lCj4gOykuCgpQb3NzaWJseSB0aGF0J3MgdGhlIHJp Z2h0IHdheSB0byBnby4gRGVwZW5kcyBpZiBpdCBpcyBpbiB0aGUgc2xpZ2h0ZXN0CnBlcmZvcm1h bmNlIGNyaXRpY2FsLiBJZiBub3QsIEkgd291bGQganVzdCBsZXQgZG9fd3BfcGFnZSBkbyB0aGUg d29yawp0byBhdm9pZCBhIGxpdHRsZSBiaXQgb2YgbG9naWMsIGJ1dCBlaXRoZXIgd2F5IGlzIG5v dCBhIGJpZyBkZWFsIHRvIG1lLgoKCj4gPiBOb3cgSSBhbHNvIHNlZSB0aGF0IHlvdXIgcGF0Y2gg c3RpbGwgaGFzbid0IGNvdmVyZWQgdGhlIG90aGVyIHNpZGUgb2YKPiA+IHRoZSByYWNlLCB3aGVy YXMgbXkgc2NoZW1lIHNob3VsZCBkby4gSG1tLCBJIHRoaW5rIHRoYXQgaWYgd2Ugd2FudCB0bwo+ Cj4gU29ycnksIGJ1dCBjYW4geW91IGVsYWJvcmF0ZSBhZ2FpbiB3aGF0IHRoZSBvdGhlciBzaWRl IG9mIHRoZSByYWNlIGlzPwo+Cj4gSWYgY2hpbGQgZ2V0cyBhIHdob2xlIG5ldyBwYWdlLCBhbmQg cGFyZW50IGtlZXBzIGl0cyBvd24gcGFnZSB3aXRoIHB0ZQo+IG1hcmtlZCByZWFkLXdyaXRlIHRo ZSB3aG9sZSB0aW1lIHRoYXQgYSBwYWdlIGZhdWx0IGNhbiBydW4gKHBhZ2UgZmF1bHQKPiB0YWtl cyBtbWFwX3NlbSwgYWxsIHdlIGhhdmUgdG8gcHJvdGVjdCBhZ2FpbnN0IHdoZW4gdGVtcG9yYXJp bHkKPiByZWxlYXNpbmcgcGFyZW50IFBUIGxvY2sgaXMgdGhlIFZNIHJtYXAgY29kZSBhbmQgdGhh dCBpcyB0YWtlbiBjYXJlIG9mCj4gYnkgdGhlIHB0ZV9zYW1lIHBhdGgpLCBzbyBJIGRvbid0IHNl ZSBhbnkgb3RoZXIgc2lkZSBvZiB0aGUgcmFjZS4uLgoKT2ggc29ycnkuIEkgd2FzIHVwIHRvbyBs YXRlIGxhc3QgbmlnaHQgOikKCk9uZSBzaWRlIG9mIHRoZSByYWNlIGlzIGRpcmVjdCBJTyByZWFk IHdyaXRpbmcgdG8gZm9yayBjaGlsZCBwYWdlLgpUaGUgb3RoZXIgc2lkZSBvZiB0aGUgcmFjZSBp cyBmb3JrIGNoaWxkIHBhZ2Ugd3JpdGUgbGVha2luZyBpbnRvCnRoZSBkaXJlY3QgSU8uCgpNeSBw YXRjaCBzb2x2ZXMgYm90aCBzaWRlcyBieSBkZS1jb3dpbmcgKmFueSogQ09XIHBhZ2UgYmVmb3Jl IGl0Cm1heSBiZSByZXR1cm5lZCBmcm9tIGdldF91c2VyX3BhZ2VzIChmb3IgcmVhZCBvciB3cml0 ZSkuCgpUaGUgZm9sbG93aW5nIHRlc3QgY2FzZSBzaG93cyB1cCB0aGUgY29ycnVwdGlvbiBib3Ro IHdpdGggc3RhbmRhcmQKa2VybmVsIGFuZCB5b3VyIHBhdGNoLCBidXQgY2FuJ3QgdHJpZ2dlciBp dCB3aXRoIG15IHBhdGNoLiBZb3UgbXVzdApjcmVhdGUgYnkgaGFuZCAiZmlsZS5kYXQiIGZpbGUg b2YgRklMRVNJWkUgaW4gdGhlIGN3ZC4gWW91IG1heSBoYXZlCnRvIHR3ZWFrIHRpbWluZ3MgdG8g Z2V0IHRoZSBmb2xsb3dpbmcgb3JkZXIgb2Ygb3V0cHV0OgoKdGhyZWFkIHdyaXRpbmcKcGFyZW50 IHN0b3JpbmcKY2hpbGQgc3RvcmluZwp0aHJlYWQgd3JpdGluZyBkb25lCgpBZnRlcndhcmRzIGhl eGR1bXAgZmlsZS5kYXQsIGFuZCBpZiBhbnkgMHhmZiBieXRlcyBoYXZlIGxlYWtlZCBpbnRvCml0 LCB0aGVuIGl0IGlzIGZyb20gY2hpbGQgd3JpdGluZyB0byBjaGlsZCBidWZmZXIgYWZmZWN0aW5n IHBhcmVudCdzCmRpcmVjdCBJTyB3cml0ZS4KCgotLS0gcmV2ZXJzZS1yYWNlLmMgLS0tCgojZGVm aW5lIF9HTlVfU09VUkNFIDEKCiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8c3RkbGliLmg+ CiNpbmNsdWRlIDxmY250bC5oPgojaW5jbHVkZSA8dW5pc3RkLmg+CiNpbmNsdWRlIDxtZW1vcnku aD4KI2luY2x1ZGUgPHB0aHJlYWQuaD4KI2luY2x1ZGUgPGdldG9wdC5oPgojaW5jbHVkZSA8ZXJy bm8uaD4KI2luY2x1ZGUgPHN5cy90eXBlcy5oPgojaW5jbHVkZSA8c3lzL3dhaXQuaD4KCiNkZWZp bmUgRklMRVNJWkUgKDQqMTAyNCoxMDI0KSAKI2RlZmluZSBCVUZTSVpFICAoMTAyNCoxMDI0KQoK c3RhdGljIHB0aHJlYWRfbXV0ZXhfdCBsb2NrID0gUFRIUkVBRF9NVVRFWF9JTklUSUFMSVpFUjsK c3RhdGljIGNvbnN0IGNoYXIgKmZpbGVuYW1lID0gImZpbGUuZGF0IjsKc3RhdGljIGludCBmZDsK c3RhdGljIHZvaWQgKmJ1ZmZlcjsKI2RlZmluZSBQQUdFX1NJWkUgICA0MDk2CgpzdGF0aWMgdm9p ZCBzdG9yZSh2b2lkKQp7CglpbnQgaTsKCglpZiAodXNsZWVwKDUwKjEwMDApID09IC0xKQoJCXBl cnJvcigidXNsZWVwIiksIGV4aXQoMSk7CgoJcHJpbnRmKCJjaGlsZCBzdG9yaW5nXG4iKTsgZmZs dXNoKHN0ZG91dCk7Cglmb3IgKGkgPSAwOyBpIDwgQlVGU0laRTsgaSsrKQoJCSgoY2hhciAqKWJ1 ZmZlcilbaV0gPSAweGZmOwoKCV9leGl0KDApOwp9CgpzdGF0aWMgdm9pZCAqd3JpdGVyKHZvaWQg KmFyZykKewoJaW50IGk7CgoJaWYgKHB0aHJlYWRfbXV0ZXhfbG9jaygmbG9jaykgPT0gLTEpCgkJ cGVycm9yKCJwdGhyZWFkX211dGV4X2xvY2siKSwgZXhpdCgxKTsKCglwcmludGYoInRocmVhZCB3 cml0aW5nXG4iKTsgZmZsdXNoKHN0ZG91dCk7Cglmb3IgKGkgPSAwOyBpIDwgRklMRVNJWkUgLyBC VUZTSVpFOyBpKyspIHsKCQlzaXplX3QgY291bnQgPSBCVUZTSVpFOwoJCXNzaXplX3QgcmV0OwoK CQlkbyB7CgkJCXJldCA9IHdyaXRlKGZkLCBidWZmZXIsIGNvdW50KTsKCQkJaWYgKHJldCA9PSAt MSkgewoJCQkJaWYgKGVycm5vICE9IEVJTlRSKQoJCQkJCXBlcnJvcigid3JpdGUiKSwgZXhpdCgx KTsKCQkJCXJldCA9IDA7CgkJCX0KCQkJY291bnQgLT0gcmV0OwoJCX0gd2hpbGUgKGNvdW50KTsK CX0KCXByaW50ZigidGhyZWFkIHdyaXRpbmcgZG9uZVxuIik7IGZmbHVzaChzdGRvdXQpOwoKCWlm IChwdGhyZWFkX211dGV4X3VubG9jaygmbG9jaykgPT0gLTEpCgkJcGVycm9yKCJwdGhyZWFkX211 dGV4X2xvY2siKSwgZXhpdCgxKTsKCglyZXR1cm4gTlVMTDsKfQoKaW50IG1haW4oaW50IGFyZ2Ms IGNoYXIgKmFyZ3ZbXSkKewoJaW50IGk7CglpbnQgc3RhdHVzOwoJcHRocmVhZF90IHdyaXRlcl90 aHJlYWQ7CglwaWRfdCBzdG9yZV9wcm9jOwoKCXBvc2l4X21lbWFsaWduKCZidWZmZXIsIFBBR0Vf U0laRSwgQlVGU0laRSk7CglwcmludGYoIldyaXRlIGJ1ZmZlcjogJXAuXG4iLCBidWZmZXIpOwoK CWZvciAoaSA9IDA7IGkgPCBCVUZTSVpFOyBpKyspCgkJKChjaGFyICopYnVmZmVyKVtpXSA9IDB4 MDA7CgoJZmQgPSBvcGVuKGZpbGVuYW1lLCBPX1JEV1J8T19ESVJFQ1QpOwoJaWYgKGZkID09IC0x KQoJCXBlcnJvcigib3BlbiIpLCBleGl0KDEpOwoKCWlmIChwdGhyZWFkX211dGV4X2xvY2soJmxv Y2spID09IC0xKQoJCXBlcnJvcigicHRocmVhZF9tdXRleF9sb2NrIiksIGV4aXQoMSk7CgoJaWYg KHB0aHJlYWRfY3JlYXRlKCZ3cml0ZXJfdGhyZWFkLCBOVUxMLCB3cml0ZXIsIE5VTEwpID09IC0x KQoJCXBlcnJvcigicHRocmVkX2NyZWF0ZSIpLCBleGl0KDEpOwoKCXN0b3JlX3Byb2MgPSBmb3Jr KCk7CglpZiAoc3RvcmVfcHJvYyA9PSAtMSkKCQlwZXJyb3IoImZvcmsiKSwgZXhpdCgxKTsKCWlm ICghc3RvcmVfcHJvYykKCQlzdG9yZSgpOwoKCWlmIChwdGhyZWFkX211dGV4X3VubG9jaygmbG9j aykgPT0gLTEpCgkJcGVycm9yKCJwdGhyZWFkX211dGV4X2xvY2siKSwgZXhpdCgxKTsKCglpZiAo dXNsZWVwKDEwKjEwMDApID09IC0xKQoJCXBlcnJvcigidXNsZWVwIiksIGV4aXQoMSk7CgoJcHJp bnRmKCJwYXJlbnQgc3RvcmluZ1xuIik7IGZmbHVzaChzdGRvdXQpOwoJZm9yIChpID0gMDsgaSA8 IEJVRlNJWkU7IGkrKykKCQkoKGNoYXIgKilidWZmZXIpW2ldID0gMHgxMTsKCglkbyB7CgkJcGlk X3QgdzsKCQl3ID0gd2FpdHBpZChzdG9yZV9wcm9jLCAmc3RhdHVzLCBXVU5UUkFDRUQgfCBXQ09O VElOVUVEKTsKCQlpZiAodyA9PSAtMSkKCQkJcGVycm9yKCJ3YWl0cGlkIiksIGV4aXQoMSk7Cgl9 IHdoaWxlICghV0lGRVhJVEVEKHN0YXR1cykgJiYgIVdJRlNJR05BTEVEKHN0YXR1cykpOwoKCWlm IChwdGhyZWFkX2pvaW4od3JpdGVyX3RocmVhZCwgTlVMTCkgPT0gLTEpCgkJcGVycm9yKCJwdGhy ZWFkX2pvaW4iKSwgZXhpdCgxKTsKCglleGl0KDApOwp9CgAK -- 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: email@kvack.org