From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx190.postini.com [74.125.245.190]) by kanga.kvack.org (Postfix) with SMTP id 639966B0089 for ; Fri, 19 Apr 2013 03:04:20 -0400 (EDT) In-Reply-To: <5170AFAC.9050602@linux.intel.com> References: <516EAF31.8000107@linux.intel.com> <516EBF23.2090600@sr71.net> <516EC508.6070200@linux.intel.com> <51700475.7050102@linux.intel.com> <5170AFAC.9050602@linux.intel.com> Subject: Re: Re: [PATCH] futex: bugfix for futex-key conflict when futex use hugepage MIME-Version: 1.0 Message-ID: From: zhang.yi20@zte.com.cn Date: Fri, 19 Apr 2013 15:03:28 +0800 Content-Type: text/plain; charset="GB2312" Content-Transfer-Encoding: base64 Sender: owner-linux-mm@kvack.org List-ID: To: Darren Hart Cc: Dave Hansen , Dave Hansen , linux-kernel@vger.kernel.org, linux-mm@kvack.org, Ingo Molnar , Peter Zijlstra , Thomas Gleixner RGFycmVuIEhhcnQgPGR2aGFydEBsaW51eC5pbnRlbC5jb20+IHdyb3RlIG9uIDIwMTMvMDQvMTkg MTA6NDU6MDA6DQoNCj4gPiANCj4gPiBCVFcsIGhhdmUgeW91IHNlZW4gdGhlIHRlc3RjYXNlIGlu IG15IG90aGVyIG1haWw/ICBJdCBzZWVtcyB0byBiZSANCj4gPiByZWplY3RlZCBieSBMS01MLg0K PiA+IA0KPiANCj4gSSBkaWQgbm90IHJlY2VpdmUgaXQsIGRpZCB5b3UgYWxzbyBDQyBtZT8NCj4g DQo+IC0tIA0KPiBEYXJyZW4gSGFydA0KPiBJbnRlbCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENl bnRlcg0KPiBZb2N0byBQcm9qZWN0IC0gVGVjaG5pY2FsIExlYWQgLSBMaW51eCBLZXJuZWwNCg0K DQpPa6OsIEkgZm91bmQgdGhhdCB0aGUgcHJldmlvdXMgbWFpbCB3YXMgcmVqZWN0ZWQgYmVjYXVz ZSBpdCBoYWQgQ2hpbmVzZSANCmNoYXJhY3RlcnMuDQpJIHBhc3RlIGl0IGJlbG93Og0KDQpkaWZm IC11cHJOIGZ1bmN0aW9uYWwvZnV0ZXhfaHVnZXBhZ2UuYyBmdW5jdGlvbmFsL2Z1dGV4X2h1Z2Vw YWdlLmMNCi0tLSBmdW5jdGlvbmFsL2Z1dGV4X2h1Z2VwYWdlLmMgMTk3MC0wMS0wMSAwMDowMDow MC4wMDAwMDAwMDAgKzAwMDANCisrKyBmdW5jdGlvbmFsL2Z1dGV4X2h1Z2VwYWdlLmMgMjAxMy0w NC0xOCAxNjo1NTo0NC4xMTkyMzk0MDQgKzAwMDANCkBAIC0wLDAgKzEsMTg4IEBADQorLyoqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKg0KKyAqICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7ICB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IgDQorICogICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyANCisgKiAgIHB1Ymxpc2hlZCBieSB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIA0KKyAqICAg dGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQorICoN CisgKiAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp bGwgYmUgdXNlZnVsLA0KKyAqICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyAgd2l0aG91dCBl dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQorICogICBNRVJDSEFOVEFCSUxJVFkgb3IgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUNCisgKiAgIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KKyAqDQorICogICBZb3Ugc2hvdWxk IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0K KyAqICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07ICBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVl IFNvZnR3YXJlDQorICogICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRl IDMzMCwgQm9zdG9uLA0KKyAqICAgTUEgMDIxMTEtMTMwNyBVU0ENCisgKiBOQU1FDQorICogICAg ICBmdXRleF9odWdlcGFnZS5jDQorICoNCisgKiBERVNDUklQVElPTg0KKyAqICAgICAgVGVzdGlu ZyBmdXRleCB3aGVuIHVzaW5nIGh1Z2UgcGFnZQ0KKyAqDQorICogQVVUSE9SDQorICogICAgICBa aGFuZyBZaSA8emhhbmcueWkyMEB6dGUuY29tLmNuPg0KKyAqDQorICogSElTVE9SWQ0KKyAqICAg ICAgMjAxMy00LTE4OiBJbml0aWFsIHZlcnNpb24gYnkgWmhhbmcgWWkgPHpoYW5nLnlpMjBAenRl LmNvbS5jbj4NCisgKg0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCisjaW5jbHVkZSA8c3RkbGliLmg+DQorI2lu Y2x1ZGUgPHN0ZGlvLmg+DQorI2luY2x1ZGUgPHVuaXN0ZC5oPg0KKyNpbmNsdWRlIDxzeXMvc3lz Y2FsbC5oPg0KKyNpbmNsdWRlIDxzeXMvbW1hbi5oPg0KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4N CisjaW5jbHVkZSA8ZmNudGwuaD4NCisjaW5jbHVkZSA8cHRocmVhZC5oPg0KKyNpbmNsdWRlIDxl cnJuby5oPg0KKyNpbmNsdWRlIDxzeXMvdGltZS5oPg0KKyNpbmNsdWRlIDxzaWduYWwuaD4NCisN CisjaW5jbHVkZSAiZnV0ZXh0ZXN0LmgiDQorI2luY2x1ZGUgImxvZ2dpbmcuaCINCisNCisjZGVm aW5lIERFRkFVTFRfRklMRV9OQU1FICIvbW50L2h1Z2VwYWdlZmlsZSINCisjZGVmaW5lIE1BWF9G SUxFTkFNRV9MRU4gMTI4DQorDQorI2RlZmluZSBERUZBVUxUX0hVR0VfU0laRSAoMiAqIDEwMjQg KiAxMDI0KQ0KKw0KKyNkZWZpbmUgUFJPVEVDVElPTiAoUFJPVF9SRUFEIHwgUFJPVF9XUklURSkN CisNCisvKiBPbmx5IGlhNjQgcmVxdWlyZXMgdGhpcyAqLw0KKyNpZmRlZiBfX2lhNjRfXw0KKyNk ZWZpbmUgQUREUiAodm9pZCAqKSgweDgwMDAwMDAwMDAwMDAwMDBVTCkNCisjZGVmaW5lIEZMQUdT IChNQVBfU0hBUkVEIHwgTUFQX0ZJWEVEKQ0KKyNlbHNlDQorI2RlZmluZSBBRERSICh2b2lkICop KDB4MFVMKQ0KKyNkZWZpbmUgRkxBR1MgKE1BUF9TSEFSRUQpDQorI2VuZGlmDQorDQorDQorZnV0 ZXhfdCAqZnV0ZXgxLCAqZnV0ZXgyOw0KKw0KK3Vuc2lnbmVkIGxvbmcgdGgyX3dhaXRfdGltZTsN CitpbnQgdGgyX3dhaXRfZG9uZTsNCisNCit2b2lkIHVzYWdlKGNoYXIgKnByb2cpDQorew0KKyAg ICAgICBwcmludGYoIlVzYWdlOiAlc1xuIiwgcHJvZyk7DQorICAgICAgIHByaW50ZigiICAtZiAg ICBodWdldGxiZnMgZmlsZSBwYXRoXG4iKTsNCisgICAgICAgcHJpbnRmKCIgIC1sICAgIGh1Z2Vw YWdlIHNpemVcbiIpOw0KK30NCisNCitpbnQgZ2V0dGlkKHZvaWQpDQorew0KKyAgICAgICByZXR1 cm4gc3lzY2FsbChTWVNfZ2V0dGlkKTsNCit9DQorDQordm9pZCAqd2FpdF90aHJlYWQxKHZvaWQg KmFyZykNCit7DQorICAgICAgIGZ1dGV4X3dhaXQoZnV0ZXgxLCAqZnV0ZXgxLCBOVUxMLCAwKTsN CisgICAgICAgcmV0dXJuIE5VTEw7DQorfQ0KKw0KKw0KK3ZvaWQgKndhaXRfdGhyZWFkMih2b2lk ICphcmcpDQorew0KKyAgICAgICBzdHJ1Y3QgdGltZXZhbCB0djsNCisNCisgICAgICAgZ2V0dGlt ZW9mZGF5KCZ0diwgTlVMTCk7DQorICAgICAgIHRoMl93YWl0X3RpbWUgPSB0di50dl9zZWM7DQor ICAgICAgIGZ1dGV4X3dhaXQoZnV0ZXgyLCAqZnV0ZXgyLCBOVUxMLCAwKTs7DQorICAgICAgIHRo Ml93YWl0X2RvbmUgPSAxOw0KKw0KKyAgICAgICByZXR1cm4gTlVMTDsNCit9DQorDQoraW50IGh1 Z2VfZnV0ZXhfdGVzdChjaGFyICpmaWxlX3BhdGgsIHVuc2lnbmVkIGxvbmcgaHVnZV9zaXplKQ0K K3sNCisgICAgICAgdm9pZCAqYWRkcjsNCisgICAgICAgaW50IGZkLCBwZ3N6LCB3YWl0X21heF90 aW1lID0gMzA7DQorICAgICAgIGludCByZXQgPSBSRVRfUEFTUzsNCisgICAgICAgcHRocmVhZF90 IHRoMSwgdGgyOw0KKyAgICAgICBzdHJ1Y3QgdGltZXZhbCB0djsNCisgDQorICAgICAgIGZkID0g b3BlbihmaWxlX3BhdGgsIE9fQ1JFQVQgfCBPX1JEV1IsIDA3NTUpOw0KKyAgICAgICBpZiAoZmQg PCAwKSB7DQorICAgICAgICAgICAgICAgcGVycm9yKCJPcGVuIGZhaWxlZCIpOw0KKyAgICAgICAg ICAgICAgIGV4aXQoMSk7DQorICAgICAgIH0NCisgDQorICAgICAgIC8qbWFwIGh1Z2V0bGJmcyBm aWxlKi8NCisgICAgICAgYWRkciA9IG1tYXAoQUREUiwgaHVnZV9zaXplLCBQUk9URUNUSU9OLCBG TEFHUywgZmQsIDApOw0KKyAgICAgICBpZiAoYWRkciA9PSBNQVBfRkFJTEVEKSB7DQorICAgICAg ICAgICAgICAgcGVycm9yKCJtbWFwIik7DQorICAgICAgICAgICAgICAgdW5saW5rKGZpbGVfcGF0 aCk7DQorICAgICAgICAgICAgICAgZXhpdCgxKTsNCisgICAgICAgfQ0KKw0KKyAgICAgICBwZ3N6 ID0gZ2V0cGFnZXNpemUoKTsNCisgICAgICAgcHJpbnRmKCJwYWdlIHNpemUgaXMgJWRcbiIsIHBn c3opOw0KKyANCisgICAgICAgLyphcHBseSB0aGUgZmlyc3Qgc3VicGFnZSB0byBmdXRleDEqLw0K KyAgICAgICBmdXRleDEgPSBhZGRyOw0KKyAgICAgICAqZnV0ZXgxID0gRlVURVhfSU5JVElBTEla RVIgOw0KKyAgICAgICAvKmFwcGx5IHRoZSBzZWNvbmQgc3VicGFnZSB0byBmdXRleDIqLw0KKyAg ICAgICBmdXRleDIgPSBhZGRyICsgcGdzejsNCisgICAgICAgKmZ1dGV4MiA9IEZVVEVYX0lOSVRJ QUxJWkVSIDsNCisgDQorDQorICAgICAgIC8qdGhyZWFkMSBibG9jayBvbiBmdXRleDEgZmlyc3Qs dGhlbiB0aHJlYWQyIGJsb2NrIG9uIGZ1dGV4MiovDQorICAgICAgIHB0aHJlYWRfY3JlYXRlKCZ0 aDEsIE5VTEwsIHdhaXRfdGhyZWFkMSwgTlVMTCk7DQorICAgICAgIHNsZWVwKDIpOw0KKyAgICAg ICBwdGhyZWFkX2NyZWF0ZSgmdGgyLCBOVUxMLCB3YWl0X3RocmVhZDIsIE5VTEwpOw0KKyAgICAg ICBzbGVlcCgyKTsNCisNCisgICAgICAgLyp0cnkgdG8gd2FrZSB1cCB0aHJlYWQyKi8NCisgICAg ICAgZnV0ZXhfd2FrZShmdXRleDIsIDEsIDApOw0KKw0KKyAgICAgICAvKnNlZSBpZiB0aHJlYWQy IGNhbiBiZSB3b2tlIHVwKi8NCisgICAgICAgd2hpbGUoIXRoMl93YWl0X2RvbmUpIHsNCisgICAg ICAgICAgICAgICBnZXR0aW1lb2ZkYXkoJnR2LCBOVUxMKTsNCisgICAgICAgICAgICAgICAvKnRo cmVhZDIgYmxvY2sgb3ZlciAzMCBzZWNzLCB0ZXN0IGZhaWwqLw0KKyAgICAgICAgICAgICAgIGlm KHR2LnR2X3NlYyA+ICh0aDJfd2FpdF90aW1lICsgd2FpdF9tYXhfdGltZSkpIHsNCisgICAgICAg ICAgICAgICAgICAgICAgIHByaW50Zigid2FpdF90aHJlYWQyIHdhaXQgZm9yICVsZCBzZWNzXG4i LCANCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR2LnR2X3NlYyAtIHRoMl93 YWl0X3RpbWUpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gUkVUX0ZBSUw7DQorICAg ICAgICAgICAgICAgICAgICAgICBicmVhazsNCisgICAgICAgICAgICAgICB9DQorICAgICAgICAg ICAgICAgc2xlZXAoMik7DQorICAgICAgIH0NCisNCisgICAgICAgbXVubWFwKGFkZHIsIGh1Z2Vf c2l6ZSk7DQorICAgICAgIGNsb3NlKGZkKTsNCisgICAgICAgdW5saW5rKGZpbGVfcGF0aCk7DQor DQorICAgICAgIHJldHVybiByZXQ7DQorfQ0KKw0KK2ludCBtYWluKGludCBhcmdjLCBjaGFyICph cmd2W10pDQorew0KKyAgICAgICB1bnNpZ25lZCBsb25nIGh1Z2Vfc2l6ZSA9IERFRkFVTFRfSFVH RV9TSVpFOw0KKyAgICAgICBjaGFyIGZpbGVfcGF0aFtNQVhfRklMRU5BTUVfTEVOXTsNCisgICAg ICAgaW50IHJldCwgYzsNCisNCisgICAgICAgc3RyY3B5KGZpbGVfcGF0aCwgREVGQVVMVF9GSUxF X05BTUUpOw0KKw0KKyAgICAgICB3aGlsZSAoKGMgPSBnZXRvcHQoYXJnYywgYXJndiwgImNmOmw6 IikpICE9IC0xKSB7DQorICAgICAgICAgICAgICAgc3dpdGNoKGMpIHsNCisgICAgICAgICAgICAg ICBjYXNlICdjJzoNCisgICAgICAgICAgICAgICAgICAgICAgIGxvZ19jb2xvcigxKTsNCisgICAg ICAgICAgICAgICBjYXNlICdmJzoNCisgICAgICAgICAgICAgICAgICAgICAgIHN0cmNweShmaWxl X3BhdGgsIG9wdGFyZyk7DQorICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCisgICAgICAg ICAgICAgICBjYXNlICdsJzoNCisgICAgICAgICAgICAgICAgICAgICAgIGh1Z2Vfc2l6ZSA9IGF0 b2kob3B0YXJnKSAqIDEwMjQgKiAxMDI0Ow0KKyAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7 DQorICAgICAgICAgICAgICAgZGVmYXVsdDoNCisgICAgICAgICAgICAgICAgICAgICAgIHVzYWdl KGJhc2VuYW1lKGFyZ3ZbMF0pKTsNCisgICAgICAgICAgICAgICAgICAgICAgIGV4aXQoMSk7DQor ICAgICAgICAgICAgICAgfQ0KKyAgICAgICB9DQorIA0KKyAgICAgICByZXQgPSBodWdlX2Z1dGV4 X3Rlc3QoZmlsZV9wYXRoLCBodWdlX3NpemUpOw0KKw0KKyAgICAgICBwcmludF9yZXN1bHQocmV0 KTsNCisNCisgICAgICAgcmV0dXJuIHJldDsNCit9DQorDQpkaWZmIC11cHJOIGZ1bmN0aW9uYWwv cnVuLnNoIGZ1bmN0aW9uYWwvcnVuLnNoDQotLS0gZnVuY3Rpb25hbC9ydW4uc2ggICAyMDEzLTA0 LTE4IDA2OjM5OjU2LjAwMDAwMDAwMCArMDAwMA0KKysrIGZ1bmN0aW9uYWwvcnVuLnNoICAgMjAx My0wNC0xOCAxNjo1NTo1OS40NDcyNDAyODYgKzAwMDANCkBAIC04OSwzICs4OSw2IEBAIGVjaG8N CiBlY2hvDQogLi9mdXRleF93YWl0X3VuaW5pdGlhbGl6ZWRfaGVhcCAkQ09MT1INCiAuL2Z1dGV4 X3dhaXRfcHJpdmF0ZV9tYXBwZWRfZmlsZSAkQ09MT1INCisNCitlY2hvDQorLi9mdXRleF9odWdl cGFnZSAkQ09MT1INCg== -- 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