From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx152.postini.com [74.125.245.152]) by kanga.kvack.org (Postfix) with SMTP id 2E71B6B0031 for ; Fri, 2 Aug 2013 04:08:50 -0400 (EDT) From: Lisa Du Date: Fri, 2 Aug 2013 01:08:50 -0700 Subject: RE: Possible deadloop in direct reclaim? Message-ID: <89813612683626448B837EE5A0B6A7CB3B630BE511@SC-VEXCH4.marvell.com> References: <89813612683626448B837EE5A0B6A7CB3B62F8F272@SC-VEXCH4.marvell.com> <20130801054338.GD19540@bbox> <89813612683626448B837EE5A0B6A7CB3B630BE04E@SC-VEXCH4.marvell.com> <20130801073330.GG19540@bbox> <89813612683626448B837EE5A0B6A7CB3B630BE0E3@SC-VEXCH4.marvell.com> <20130801084259.GA32486@bbox> <20130802015241.GB32486@bbox> <89813612683626448B837EE5A0B6A7CB3B630BE43E@SC-VEXCH4.marvell.com> <20130802035333.GD32486@bbox> In-Reply-To: <20130802035333.GD32486@bbox> Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Sender: owner-linux-mm@kvack.org List-ID: To: Minchan Kim Cc: "linux-mm@kvack.org" , KOSAKI Motohiro , Bob Liu Pi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+RnJvbTogTWluY2hhbiBLaW0gW21haWx0bzpt aW5jaGFuQGtlcm5lbC5vcmddDQo+U2VudDogMjAxM+W5tDjmnIgy5pelIDExOjU0DQo+VG86IExp c2EgRHUNCj5DYzogbGludXgtbW1Aa3ZhY2sub3JnOyBLT1NBS0kgTW90b2hpcm87IEJvYiBMaXUN Cj5TdWJqZWN0OiBSZTogUG9zc2libGUgZGVhZGxvb3AgaW4gZGlyZWN0IHJlY2xhaW0/DQo+DQo+ T24gVGh1LCBBdWcgMDEsIDIwMTMgYXQgMDg6MTc6NTZQTSAtMDcwMCwgTGlzYSBEdSB3cm90ZToN Cj4+ID4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4gPkZyb206IE1pbmNoYW4gS2ltIFtt YWlsdG86bWluY2hhbkBrZXJuZWwub3JnXQ0KPj4gPlNlbnQ6IDIwMTPlubQ45pyIMuaXpSAxMDoy Ng0KPj4gPlRvOiBMaXNhIER1DQo+PiA+Q2M6IGxpbnV4LW1tQGt2YWNrLm9yZzsgS09TQUtJIE1v dG9oaXJvDQo+PiA+U3ViamVjdDogUmU6IFBvc3NpYmxlIGRlYWRsb29wIGluIGRpcmVjdCByZWNs YWltPw0KDQoNCj4+ID5JIHJldmlld2VkIGN1cnJlbnQgbW1vdG0gYmVjYXVzZSByZWNlbnRseSBN ZWwgY2hhbmdlZCBrc3dhcGQgYSBsb3QgYW5kDQo+PiA+YWxsX3VucmVjbGFpbWFibGUgcGF0Y2gg aGlzdG9yeSB0b2RheS4NCj4+ID5XaGF0IEkgc2VlIGlzIHJlY2VudCBtbW90bSBoYXMgYSBzYW1l IHByb2JsZW0sIHRvbyBpZiBzeXN0ZW0gaGF2ZSBubyBzd2FwDQo+PiA+YW5kIG5vIGNvbXBhY3Rp b24uIE9mIGNvdXJzZSwgY29tcGFjdGlvbiBpcyBkZWZhdWx0IHllcyBvcHRpb24gc28gd2UgY291 bGQNCj4+ID5yZWNvbW1lbmQgdG8gZW5hYmxlIGlmIHN5c3RlbSB3b3JrcyB3ZWxsIGJ1dCBpdCdz IHVwIHRvIHVzZXIgYW5kIHdlIHNob3VsZA0KPj4gPmF2b2lkIGRpcmVjdCByZWNsYWltIGhhbmcg YWx0aG91Z2ggdXNlciBkaXNhYmxlIGNvbXBhY3Rpb24uDQo+PiA+DQo+PiA+V2hlbiBJIHNlZSB0 aGUgcGF0Y2ggaGlzdG9yeSwgcmVhbCBjdWxwcml0IGlzIDkyOWJlYTdjLg0KPj4gPg0KPj4gPiIg IHpvbmUtPmFsbF91bnJlY2xhaW1hYmxlIGFuZCB6b25lLT5wYWdlc19zY2FubmVkIGFyZSBuZWln aGVyIGF0b21pYw0KPj4gPiAgICB2YXJpYWJsZXMgbm9yIHByb3RlY3RlZCBieSBsb2NrLiAgVGhl cmVmb3JlIHpvbmVzIGNhbiBiZWNvbWUgYSBzdGF0ZSBvZg0KPj4gPiAgICB6b25lLT5wYWdlX3Nj YW5uZWQ9MCBhbmQgem9uZS0+YWxsX3VucmVjbGFpbWFibGU9MS4gIEluIHRoaXMgY2FzZSwgY3Vy cmVudA0KPj4gPiAgICBhbGxfdW5yZWNsYWltYWJsZSgpIHJldHVybiBmYWxzZSBldmVuIHRob3Vn aCB6b25lLT5hbGxfdW5yZWNsYWltYWJlPTEuIg0KPj4gPg0KPj4gPkkgdW5kZXJzdGFuZCB0aGUg cHJvYmxlbSBidXQgYXBwYXJlbnRseSwgaXQgbWFrZXMgTGlzYSdzIHByb2JsZW0gYmVjYXVzZQ0K Pj4gPmtzd2FwZCBjYW4gZ2l2ZSB1cCBiYWxhbmNpbmcgd2hlbiBoaWdoIG9yZGVyIGFsbG9jYXRp b24gaGFwcGVucyB0byBwcmV2ZW50DQo+PiA+ZXhjZXNzaXZlIHJlY2xhaW0gd2l0aCBhc3N1bWlu ZyB0aGUgcHJvY2VzcyByZXF1ZXN0ZWQgaGlnaCBvcmRlciBhbGxvY2F0aW9uDQo+PiA+Y2FuIGRv IGRpcmVjdCByZWNsYWltL2NvbXBhY3Rpb24uIEJ1dCB3aGF0IGlmIHRoZSBwcm9jZXNzIGNhbid0 IHJlY2xhaW0NCj4+ID5ieSBubyBzd2FwIGJ1dCBsb3RzIG9mIGFub24gcGFnZXMgYW5kIGNhbid0 IGNvbXBhY3QgYnkgIUNPTkZJR19DT01QQUNUSU9OPw0KPj4gPg0KPj4NCj4+IEFsc28gQm9iIGZv dW5kIGJlbG93IHRocmVhZCwgc2VlbXMgS29zYWtpIGFsc28gZm91bmQgc2FtZSBpc3N1ZToNCj4+ IG1tLCB2bXNjYW46IGZpeCBkb190cnlfdG9fZnJlZV9wYWdlcygpIGxpdmVsb2NrDQo+PiBodHRw czovL2xrbWwub3JnL2xrbWwvMjAxMi82LzE0Lzc0DQo+DQo+SSByZW1lbWJlciBpdCBhbmQgQUZB SVJDLCBJIGhhZCBhIGNvbmNlcm4gYmVjYXVzZSBkZXNjcmlwdGlvbiB3YXMNCj50b28gdmFndWUg d2l0aG91dCBkZXRhaWxlZCBleGFtcGxlIGFuZCBJIGZpeGVkIEFhZGl0eWEncyBwcm9ibGVtIHdp dGgNCj5hbm90aGVyIGFwcHJvYWNoLiBUaGF0J3Mgd2h5IGl0IHdhc24ndCBtZXJnZWQgYXQgdGhh dCB0aW1lLg0KPg0KPk5vdywgd2UgaGF2ZSBhIHJlYWwgcHJvYmxlbSBhbmQgYW5hbHlzaXMgc28g SSB0aGluayBLT1NBS0kncyBwYXRjaCBtYWtlcw0KPnBlcmZlY3QgdG8gbWUuDQo+DQo+TGlzYSwg Q291bGQgeW91IHJlc2VuZCBLT1NBS0kncyBwYXRjaCB3aXRoIG1vcmUgZGV0YWlsZWQgZGVzY3Jp cHRpb24/DQoNCkhpLCBNaW5jaGFuIGFuZCBLb3Nha2kNCldvdWxkIHlvdSBwbGVhc2UgaGVscCBj aGVjayBiZWxvdyBwYXRjaCBJIHJlc2VuZCBiYXNlZCBvbiBwcmV2aW91cyBLb3Nha2kncyBwYXRj aD8NCkknbSBub3Qgc3VyZSBpZiB0aGUgZGVzY3JpcHRpb24gaXMgY2xlYXIgZW5vdWdoLCBwbGVh c2UgbGV0IG1lIGtub3cgaWYgeW91IGhhdmUgYW55IGNvbW1lbnRzLg0KTWFueSB0aGFua3MhDQpG cm9tIDJkZmUxMzc2NjVhNjk0ZGNjNzRhZTljOGEyNzY0MWIwNjE5MGYzNDQgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxDQpGcm9tOiBMaXNhIER1IDxjbGR1QG1hcnZlbGwuY29tPg0KRGF0ZTogRnJp LCAyIEF1ZyAyMDEzIDE0OjM3OjMxICswODAwDQpTdWJqZWN0OiBbUEFUQ0hdIG1tOiB2bXNjYW46 IGZpeCBkb190cnlfdG9fZnJlZV9wYWdlcygpIGxpdmVsb2NrDQoNCkN1cnJlbnRseSwgSSBmb3Vu ZCBzeXN0ZW0gY2FuIGVudGVyIGEgc3RhdGUgdGhhdCB0aGVyZSBhcmUgbG90cw0Kb2YgZnJlZSBw YWdlcyBpbiBhIHpvbmUgYnV0IG9ubHkgb3JkZXItMCBhbmQgb3JkZXItMSBwYWdlcyB3aGljaA0K bWVhbnMgdGhlIHpvbmUgaXMgaGVhdmlseSBmcmFnbWVudGVkLCB0aGVuIGhpZ2ggb3JkZXIgYWxs b2NhdGlvbg0KY291bGQgbWFrZSBkaXJlY3QgcmVjbGFpbSBwYXRoJ3MgbG9uZyBzdGFsbChleCwg NjAgc2Vjb25kcykNCmVzcGVjaWFsbHkgaW4gbm8gc3dhcCBhbmQgbm8gY29tcGFjaXRvbiBlbnZp cm9tZW50Lg0KDQpUaGUgcmVhc29uIGlzIGRvX3RyeV90b19mcmVlX3BhZ2VzIGVudGVyIGxpdmUg bG9jazoNCg0Ka3N3YXBkIHdpbGwgZ28gdG8gc2xlZXAgaWYgdGhlIHpvbmVzIGhhdmUgYmVlbiBm dWxseSBzY2FubmVkDQphbmQgYXJlIHN0aWxsIG5vdCBiYWxhbmNlZC4gQXMga3N3YXBkIHRoaW5r cyB0aGVyZSdzIGxpdHRsZSBwb2ludA0KdHJ5aW5nIGFsbCBvdmVyIGFnYWluIHRvIGF2b2lkIGlu ZmluaXRlIGxvb3AuIEluc3RlYWQgaXQgY2hhbmdlcw0Kb3JkZXIgZnJvbSBoaWdoLW9yZGVyIHRv IDAtb3JkZXIgYmVjYXVzZSBrc3dhcGQgdGhpbmsgb3JkZXItMCBpcyB0aGUNCm1vc3QgaW1wb3J0 YW50LiBMb29rIGF0IDczY2UwMmU5IGluIGRldGFpbC4gSWYgd2F0ZXJtYXJrcyBhcmUgb2ssDQpr c3dhcGQgd2lsbCBnbyBiYWNrIHRvIHNsZWVwIGFuZCBtYXkgbGVhdmUgem9uZS0+YWxsX3VucmVj bGFpbWFibGUgPSAwLg0KSXQgYXNzdW1lIGhpZ2gtb3JkZXIgdXNlcnMgY2FuIHN0aWxsIHBlcmZv cm0gZGlyZWN0IHJlY2xhaW0gaWYgdGhleSB3aXNoLg0KDQpEaXJlY3QgcmVjbGFpbSBjb250aW51 ZSB0byByZWNsYWltIGZvciBhIGhpZ2ggb3JkZXIgd2hpY2ggaXMgbm90IGENCkNPU1RMWV9PUkRF UiB3aXRob3V0IG9vbS1raWxsZXIgdW50aWwga3N3YXBkIHR1cm4gb24gem9uZS0+YWxsX3VucmVj bGFpbWJsZS4NClRoaXMgaXMgYmVjYXVzZSB0byBhdm9pZCB0b28gZWFybHkgb29tLWtpbGwuIFNv IGl0IG1lYW5zIGRpcmVjdF9yZWNsYWltDQpkZXBlbmRzIG9uIGtzd2FwZCB0byBicmVhayB0aGlz IGxvb3AuDQoNCkluIHdvcnN0IGNhc2UsIGRpcmVjdC1yZWNsYWltIG1heSBjb250aW51ZSB0byBw YWdlIHJlY2xhaW0gZm9yZXZlcg0Kd2hlbiBrc3dhcGQgc2xlZXBzIGZvcmV2ZXIgdW50aWwgc29t ZW9uZSBsaWtlIHdhdGNoZG9nIGRldGVjdCBhbmQgZmluYWxseQ0Ka2lsbCB0aGUgcHJvY2Vzcy4N Cg0KV2UgY2FuJ3QgdHVybiBvbiB6b25lLT5hbGxfdW5yZWNsYWltYWJsZSBmcm9tIGRpcmVjdCBy ZWNsYWltIHBhdGgNCmJlY2F1c2UgZGlyZWN0IHJlY2xhaW0gcGF0aCBkb24ndCB0YWtlIGFueSBs b2NrIGFuZCB0aGlzIHdheSBpcyByYWN5Lg0KVGh1cyB0aGlzIHBhdGNoIHJlbW92ZXMgem9uZS0+ YWxsX3VucmVjbGFpbWFibGUgZmllbGQgY29tcGxldGVseSBhbmQNCnJlY2FsY3VsYXRlcyB6b25l IHJlY2xhaW1hYmxlIHN0YXRlIGV2ZXJ5IHRpbWUuDQoNCk5vdGU6IHdlIGNhbid0IHRha2UgdGhl IGlkZWEgdGhhdCBkaXJlY3QtcmVjbGFpbSBzZWUgem9uZS0+cGFnZXNfc2Nhbm5lZA0KZGlyZWN0 bHkgYW5kIGtzd2FwZCBjb250aW51ZSB0byB1c2Ugem9uZS0+YWxsX3VucmVjbGFpbWFibGUuIEJl Y2F1c2UsIGl0DQppcyByYWN5LiBjb21taXQgOTI5YmVhN2M3MSAodm1zY2FuOiBhbGxfdW5yZWNs YWltYWJsZSgpIHVzZQ0Kem9uZS0+YWxsX3VucmVjbGFpbWFibGUgYXMgYSBuYW1lKSBkZXNjcmli ZXMgdGhlIGRldGFpbC4NCg0KQ2hhbmdlLUlkOiBJZjNiNDRlMzNlNDAwYzFkYjBlNDJhNWUyZmM5 ZWJjN2EyNjVmMmFhZQ0KQ2M6IEFhZGl0eWEgS3VtYXIgPGFhZGl0eWEua3VtYXIuMzBAZ21haWwu Y29tPg0KQ2M6IFlpbmcgSGFuIDx5aW5naGFuQGdvb2dsZS5jb20+DQpDYzogTmljayBQaWdnaW4g PG5waWdnaW5AZ21haWwuY29tPg0KQWNrZWQtYnk6IFJpayB2YW4gUmllbCA8cmllbEByZWRoYXQu Y29tPg0KQ2M6IE1pY2hhbCBIb2NrbyA8bWhvY2tvQHN1c2UuY3o+DQpDYzogSm9oYW5uZXMgV2Vp bmVyIDxoYW5uZXNAY21weGNoZy5vcmc+DQpDYzogTWVsIEdvcm1hbiA8bWVsQGNzbi51bC5pZT4N CkNjOiBLQU1FWkFXQSBIaXJveXVraSA8a2FtZXphd2EuaGlyb3l1QGpwLmZ1aml0c3UuY29tPg0K Q2M6IE1pbmNoYW4gS2ltIDxtaW5jaGFuLmtpbUBnbWFpbC5jb20+DQpDYzogQm9iIExpdSA8bGxp dWJib0BnbWFpbC5jb20+DQpTaWduZWQtb2ZmLWJ5OiBLT1NBS0kgTW90b2hpcm8gPGtvc2FraS5t b3RvaGlyb0BqcC5mdWppdHN1LmNvbT4NClNpZ25lZC1vZmYtYnk6IExpc2EgRHUgPGNsZHVAbWFy dmVsbC5jb20+DQotLS0NCiBpbmNsdWRlL2xpbnV4L21tX2lubGluZS5oIHwgICAyMCArKysrKysr KysrKysrKysrKysrKw0KIGluY2x1ZGUvbGludXgvbW16b25lLmggICAgfCAgICAxIC0NCiBpbmNs dWRlL2xpbnV4L3Ztc3RhdC5oICAgIHwgICAgMSAtDQogbW0vcGFnZS13cml0ZWJhY2suYyAgICAg ICB8ICAgIDEgKw0KIG1tL3BhZ2VfYWxsb2MuYyAgICAgICAgICAgfCAgICA1ICsrLS0tDQogbW0v dm1zY2FuLmMgICAgICAgICAgICAgICB8ICAgNDMgKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQ0KIG1tL3Ztc3RhdC5jICAgICAgICAgICAgICAgfCAgICAzICsrLQ0K IDcgZmlsZXMgY2hhbmdlZCwgMzQgaW5zZXJ0aW9ucygrKSwgNDAgZGVsZXRpb25zKC0pDQoNCmRp ZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L21tX2lubGluZS5oIGIvaW5jbHVkZS9saW51eC9tbV9p bmxpbmUuaA0KaW5kZXggMTM5N2NjZi4uZTIxMmZhZSAxMDA2NDQNCi0tLSBhL2luY2x1ZGUvbGlu dXgvbW1faW5saW5lLmgNCisrKyBiL2luY2x1ZGUvbGludXgvbW1faW5saW5lLmgNCkBAIC0yLDYg KzIsNyBAQA0KICNkZWZpbmUgTElOVVhfTU1fSU5MSU5FX0gNCiANCiAjaW5jbHVkZSA8bGludXgv aHVnZV9tbS5oPg0KKyNpbmNsdWRlIDxsaW51eC9zd2FwLmg+DQogDQogLyoqDQogICogcGFnZV9p c19maWxlX2NhY2hlIC0gc2hvdWxkIHRoZSBwYWdlIGJlIG9uIGEgZmlsZSBMUlUgb3IgYW5vbiBM UlU/DQpAQCAtOTksNCArMTAwLDIzIEBAIHN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgZW51bSBscnVf bGlzdCBwYWdlX2xydShzdHJ1Y3QgcGFnZSAqcGFnZSkNCiAJcmV0dXJuIGxydTsNCiB9DQogDQor c3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIHpvbmVfcmVjbGFpbWFibGVfcGFnZXMoc3RydWN0 IHpvbmUgKnpvbmUpDQorew0KKwlpbnQgbnI7DQorDQorCW5yID0gem9uZV9wYWdlX3N0YXRlKHpv bmUsIE5SX0FDVElWRV9GSUxFKSArDQorCSAgICAgem9uZV9wYWdlX3N0YXRlKHpvbmUsIE5SX0lO QUNUSVZFX0ZJTEUpOw0KKw0KKwlpZiAoZ2V0X25yX3N3YXBfcGFnZXMoKSA+IDApDQorCQluciAr PSB6b25lX3BhZ2Vfc3RhdGUoem9uZSwgTlJfQUNUSVZFX0FOT04pICsNCisJCSAgICAgIHpvbmVf cGFnZV9zdGF0ZSh6b25lLCBOUl9JTkFDVElWRV9BTk9OKTsNCisNCisJcmV0dXJuIG5yOw0KK30N CisNCitzdGF0aWMgaW5saW5lIGJvb2wgem9uZV9yZWNsYWltYWJsZShzdHJ1Y3Qgem9uZSAqem9u ZSkNCit7DQorCXJldHVybiB6b25lLT5wYWdlc19zY2FubmVkIDwgem9uZV9yZWNsYWltYWJsZV9w YWdlcyh6b25lKSAqIDY7DQorfQ0KKw0KICNlbmRpZg0KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGlu dXgvbW16b25lLmggYi9pbmNsdWRlL2xpbnV4L21tem9uZS5oDQppbmRleCBhZjRhM2I3Li5lODM1 OTc0IDEwMDY0NA0KLS0tIGEvaW5jbHVkZS9saW51eC9tbXpvbmUuaA0KKysrIGIvaW5jbHVkZS9s aW51eC9tbXpvbmUuaA0KQEAgLTM1Miw3ICszNTIsNiBAQCBzdHJ1Y3Qgem9uZSB7DQogCSAqIGZy ZWUgYXJlYXMgb2YgZGlmZmVyZW50IHNpemVzDQogCSAqLw0KIAlzcGlubG9ja190CQlsb2NrOw0K LQlpbnQgICAgICAgICAgICAgICAgICAgICBhbGxfdW5yZWNsYWltYWJsZTsgLyogQWxsIHBhZ2Vz IHBpbm5lZCAqLw0KICNpZiBkZWZpbmVkIENPTkZJR19DT01QQUNUSU9OIHx8IGRlZmluZWQgQ09O RklHX0NNQQ0KIAkvKiBTZXQgdG8gdHJ1ZSB3aGVuIHRoZSBQR19taWdyYXRlX3NraXAgYml0cyBz aG91bGQgYmUgY2xlYXJlZCAqLw0KIAlib29sCQkJY29tcGFjdF9ibG9ja3NraXBfZmx1c2g7DQpk aWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC92bXN0YXQuaCBiL2luY2x1ZGUvbGludXgvdm1zdGF0 LmgNCmluZGV4IGM1ODY2NzkuLjZmZmYwMDQgMTAwNjQ0DQotLS0gYS9pbmNsdWRlL2xpbnV4L3Zt c3RhdC5oDQorKysgYi9pbmNsdWRlL2xpbnV4L3Ztc3RhdC5oDQpAQCAtMTQzLDcgKzE0Myw2IEBA IHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyB6b25lX3BhZ2Vfc3RhdGVfc25hcHNob3Qoc3Ry dWN0IHpvbmUgKnpvbmUsDQogfQ0KIA0KIGV4dGVybiB1bnNpZ25lZCBsb25nIGdsb2JhbF9yZWNs YWltYWJsZV9wYWdlcyh2b2lkKTsNCi1leHRlcm4gdW5zaWduZWQgbG9uZyB6b25lX3JlY2xhaW1h YmxlX3BhZ2VzKHN0cnVjdCB6b25lICp6b25lKTsNCiANCiAjaWZkZWYgQ09ORklHX05VTUENCiAv Kg0KZGlmZiAtLWdpdCBhL21tL3BhZ2Utd3JpdGViYWNrLmMgYi9tbS9wYWdlLXdyaXRlYmFjay5j DQppbmRleCAzZjBjODk1Li42MmJmZDkyIDEwMDY0NA0KLS0tIGEvbW0vcGFnZS13cml0ZWJhY2su Yw0KKysrIGIvbW0vcGFnZS13cml0ZWJhY2suYw0KQEAgLTM2LDYgKzM2LDcgQEANCiAjaW5jbHVk ZSA8bGludXgvcGFnZXZlYy5oPg0KICNpbmNsdWRlIDxsaW51eC90aW1lci5oPg0KICNpbmNsdWRl IDxsaW51eC9zY2hlZC9ydC5oPg0KKyNpbmNsdWRlIDxsaW51eC9tbV9pbmxpbmUuaD4NCiAjaW5j bHVkZSA8dHJhY2UvZXZlbnRzL3dyaXRlYmFjay5oPg0KIA0KIC8qDQpkaWZmIC0tZ2l0IGEvbW0v cGFnZV9hbGxvYy5jIGIvbW0vcGFnZV9hbGxvYy5jDQppbmRleCBiMTAwMjU1Li4xOWExOGMwIDEw MDY0NA0KLS0tIGEvbW0vcGFnZV9hbGxvYy5jDQorKysgYi9tbS9wYWdlX2FsbG9jLmMNCkBAIC02 MCw2ICs2MCw3IEBADQogI2luY2x1ZGUgPGxpbnV4L3BhZ2UtZGVidWctZmxhZ3MuaD4NCiAjaW5j bHVkZSA8bGludXgvaHVnZXRsYi5oPg0KICNpbmNsdWRlIDxsaW51eC9zY2hlZC9ydC5oPg0KKyNp bmNsdWRlIDxsaW51eC9tbV9pbmxpbmUuaD4NCiANCiAjaW5jbHVkZSA8YXNtL3NlY3Rpb25zLmg+ DQogI2luY2x1ZGUgPGFzbS90bGJmbHVzaC5oPg0KQEAgLTY0Nyw3ICs2NDgsNiBAQCBzdGF0aWMg dm9pZCBmcmVlX3BjcHBhZ2VzX2J1bGsoc3RydWN0IHpvbmUgKnpvbmUsIGludCBjb3VudCwNCiAJ aW50IHRvX2ZyZWUgPSBjb3VudDsNCiANCiAJc3Bpbl9sb2NrKCZ6b25lLT5sb2NrKTsNCi0Jem9u ZS0+YWxsX3VucmVjbGFpbWFibGUgPSAwOw0KIAl6b25lLT5wYWdlc19zY2FubmVkID0gMDsNCiAN CiAJd2hpbGUgKHRvX2ZyZWUpIHsNCkBAIC02OTYsNyArNjk2LDYgQEAgc3RhdGljIHZvaWQgZnJl ZV9vbmVfcGFnZShzdHJ1Y3Qgem9uZSAqem9uZSwgc3RydWN0IHBhZ2UgKnBhZ2UsIGludCBvcmRl ciwNCiAJCQkJaW50IG1pZ3JhdGV0eXBlKQ0KIHsNCiAJc3Bpbl9sb2NrKCZ6b25lLT5sb2NrKTsN Ci0Jem9uZS0+YWxsX3VucmVjbGFpbWFibGUgPSAwOw0KIAl6b25lLT5wYWdlc19zY2FubmVkID0g MDsNCiANCiAJX19mcmVlX29uZV9wYWdlKHBhZ2UsIHpvbmUsIG9yZGVyLCBtaWdyYXRldHlwZSk7 DQpAQCAtMzA5NSw3ICszMDk0LDcgQEAgdm9pZCBzaG93X2ZyZWVfYXJlYXModW5zaWduZWQgaW50 IGZpbHRlcikNCiAJCQlLKHpvbmVfcGFnZV9zdGF0ZSh6b25lLCBOUl9GUkVFX0NNQV9QQUdFUykp LA0KIAkJCUsoem9uZV9wYWdlX3N0YXRlKHpvbmUsIE5SX1dSSVRFQkFDS19URU1QKSksDQogCQkJ em9uZS0+cGFnZXNfc2Nhbm5lZCwNCi0JCQkoem9uZS0+YWxsX3VucmVjbGFpbWFibGUgPyAieWVz IiA6ICJubyIpDQorCQkJKCF6b25lX3JlY2xhaW1hYmxlKHpvbmUpID8gInllcyIgOiAibm8iKQ0K IAkJCSk7DQogCQlwcmludGsoImxvd21lbV9yZXNlcnZlW106Iik7DQogCQlmb3IgKGkgPSAwOyBp IDwgTUFYX05SX1pPTkVTOyBpKyspDQpkaWZmIC0tZ2l0IGEvbW0vdm1zY2FuLmMgYi9tbS92bXNj YW4uYw0KaW5kZXggMzQ1ODJkOS4uNzUwMWQxZSAxMDA2NDQNCi0tLSBhL21tL3Ztc2Nhbi5jDQor KysgYi9tbS92bXNjYW4uYw0KQEAgLTE3ODksNyArMTc4OSw3IEBAIHN0YXRpYyB2b2lkIGdldF9z Y2FuX2NvdW50KHN0cnVjdCBscnV2ZWMgKmxydXZlYywgc3RydWN0IHNjYW5fY29udHJvbCAqc2Ms DQogCSAqIGxhdGVuY2llcywgc28gaXQncyBiZXR0ZXIgdG8gc2NhbiBhIG1pbmltdW0gYW1vdW50 IHRoZXJlIGFzDQogCSAqIHdlbGwuDQogCSAqLw0KLQlpZiAoY3VycmVudF9pc19rc3dhcGQoKSAm JiB6b25lLT5hbGxfdW5yZWNsYWltYWJsZSkNCisJaWYgKGN1cnJlbnRfaXNfa3N3YXBkKCkgJiYg IXpvbmVfcmVjbGFpbWFibGUoem9uZSkpDQogCQlmb3JjZV9zY2FuID0gdHJ1ZTsNCiAJaWYgKCFn bG9iYWxfcmVjbGFpbShzYykpDQogCQlmb3JjZV9zY2FuID0gdHJ1ZTsNCkBAIC0yMjQ0LDggKzIy NDQsOCBAQCBzdGF0aWMgYm9vbCBzaHJpbmtfem9uZXMoc3RydWN0IHpvbmVsaXN0ICp6b25lbGlz dCwgc3RydWN0IHNjYW5fY29udHJvbCAqc2MpDQogCQlpZiAoZ2xvYmFsX3JlY2xhaW0oc2MpKSB7 DQogCQkJaWYgKCFjcHVzZXRfem9uZV9hbGxvd2VkX2hhcmR3YWxsKHpvbmUsIEdGUF9LRVJORUwp KQ0KIAkJCQljb250aW51ZTsNCi0JCQlpZiAoem9uZS0+YWxsX3VucmVjbGFpbWFibGUgJiYNCi0J CQkJCXNjLT5wcmlvcml0eSAhPSBERUZfUFJJT1JJVFkpDQorCQkJaWYgKCF6b25lX3JlY2xhaW1h YmxlKHpvbmUpICYmDQorCQkJICAgIHNjLT5wcmlvcml0eSAhPSBERUZfUFJJT1JJVFkpDQogCQkJ CWNvbnRpbnVlOwkvKiBMZXQga3N3YXBkIHBvbGwgaXQgKi8NCiAJCQlpZiAoSVNfRU5BQkxFRChD T05GSUdfQ09NUEFDVElPTikpIHsNCiAJCQkJLyoNCkBAIC0yMjgzLDExICsyMjgzLDYgQEAgc3Rh dGljIGJvb2wgc2hyaW5rX3pvbmVzKHN0cnVjdCB6b25lbGlzdCAqem9uZWxpc3QsIHN0cnVjdCBz Y2FuX2NvbnRyb2wgKnNjKQ0KIAlyZXR1cm4gYWJvcnRlZF9yZWNsYWltOw0KIH0NCiANCi1zdGF0 aWMgYm9vbCB6b25lX3JlY2xhaW1hYmxlKHN0cnVjdCB6b25lICp6b25lKQ0KLXsNCi0JcmV0dXJu IHpvbmUtPnBhZ2VzX3NjYW5uZWQgPCB6b25lX3JlY2xhaW1hYmxlX3BhZ2VzKHpvbmUpICogNjsN Ci19DQotDQogLyogQWxsIHpvbmVzIGluIHpvbmVsaXN0IGFyZSB1bnJlY2xhaW1hYmxlPyAqLw0K IHN0YXRpYyBib29sIGFsbF91bnJlY2xhaW1hYmxlKHN0cnVjdCB6b25lbGlzdCAqem9uZWxpc3Qs DQogCQlzdHJ1Y3Qgc2Nhbl9jb250cm9sICpzYykNCkBAIC0yMzAxLDggKzIyOTYsNiBAQCBzdGF0 aWMgYm9vbCBhbGxfdW5yZWNsYWltYWJsZShzdHJ1Y3Qgem9uZWxpc3QgKnpvbmVsaXN0LA0KIAkJ CWNvbnRpbnVlOw0KIAkJaWYgKCFjcHVzZXRfem9uZV9hbGxvd2VkX2hhcmR3YWxsKHpvbmUsIEdG UF9LRVJORUwpKQ0KIAkJCWNvbnRpbnVlOw0KLQkJaWYgKHpvbmUtPmFsbF91bnJlY2xhaW1hYmxl KQ0KLQkJCWNvbnRpbnVlOw0KIAkJaWYgKHpvbmVfcmVjbGFpbWFibGUoem9uZSkpDQogCQkJcmV0 dXJuIGZhbHNlOw0KIAl9DQpAQCAtMjcxNCw3ICsyNzA3LDcgQEAgc3RhdGljIGJvb2wgcGdkYXRf YmFsYW5jZWQocGdfZGF0YV90ICpwZ2RhdCwgaW50IG9yZGVyLCBpbnQgY2xhc3N6b25lX2lkeCkN CiAJCSAqIERFRl9QUklPUklUWS4gRWZmZWN0aXZlbHksIGl0IGNvbnNpZGVycyB0aGVtIGJhbGFu Y2VkIHNvDQogCQkgKiB0aGV5IG11c3QgYmUgY29uc2lkZXJlZCBiYWxhbmNlZCBoZXJlIGFzIHdl bGwhDQogCQkgKi8NCi0JCWlmICh6b25lLT5hbGxfdW5yZWNsYWltYWJsZSkgew0KKwkJaWYgKCF6 b25lX3JlY2xhaW1hYmxlKHpvbmUpKSB7DQogCQkJYmFsYW5jZWRfcGFnZXMgKz0gem9uZS0+bWFu YWdlZF9wYWdlczsNCiAJCQljb250aW51ZTsNCiAJCX0NCkBAIC0yNzc1LDcgKzI3NjgsNiBAQCBz dGF0aWMgYm9vbCBrc3dhcGRfc2hyaW5rX3pvbmUoc3RydWN0IHpvbmUgKnpvbmUsDQogCQkJICAg ICAgIHVuc2lnbmVkIGxvbmcgbHJ1X3BhZ2VzLA0KIAkJCSAgICAgICB1bnNpZ25lZCBsb25nICpu cl9hdHRlbXB0ZWQpDQogew0KLQl1bnNpZ25lZCBsb25nIG5yX3NsYWI7DQogCWludCB0ZXN0b3Jk ZXIgPSBzYy0+b3JkZXI7DQogCXVuc2lnbmVkIGxvbmcgYmFsYW5jZV9nYXA7DQogCXN0cnVjdCBy ZWNsYWltX3N0YXRlICpyZWNsYWltX3N0YXRlID0gY3VycmVudC0+cmVjbGFpbV9zdGF0ZTsNCkBA IC0yODIwLDE1ICsyODEyLDEyIEBAIHN0YXRpYyBib29sIGtzd2FwZF9zaHJpbmtfem9uZShzdHJ1 Y3Qgem9uZSAqem9uZSwNCiAJc2hyaW5rX3pvbmUoem9uZSwgc2MpOw0KIA0KIAlyZWNsYWltX3N0 YXRlLT5yZWNsYWltZWRfc2xhYiA9IDA7DQotCW5yX3NsYWIgPSBzaHJpbmtfc2xhYigmc2hyaW5r LCBzYy0+bnJfc2Nhbm5lZCwgbHJ1X3BhZ2VzKTsNCisJc2hyaW5rX3NsYWIoJnNocmluaywgc2Mt Pm5yX3NjYW5uZWQsIGxydV9wYWdlcyk7DQogCXNjLT5ucl9yZWNsYWltZWQgKz0gcmVjbGFpbV9z dGF0ZS0+cmVjbGFpbWVkX3NsYWI7DQogDQogCS8qIEFjY291bnQgZm9yIHRoZSBudW1iZXIgb2Yg cGFnZXMgYXR0ZW1wdGVkIHRvIHJlY2xhaW0gKi8NCiAJKm5yX2F0dGVtcHRlZCArPSBzYy0+bnJf dG9fcmVjbGFpbTsNCiANCi0JaWYgKG5yX3NsYWIgPT0gMCAmJiAhem9uZV9yZWNsYWltYWJsZSh6 b25lKSkNCi0JCXpvbmUtPmFsbF91bnJlY2xhaW1hYmxlID0gMTsNCi0NCiAJem9uZV9jbGVhcl9m bGFnKHpvbmUsIFpPTkVfV1JJVEVCQUNLKTsNCiANCiAJLyoNCkBAIC0yODM3LDcgKzI4MjYsNyBA QCBzdGF0aWMgYm9vbCBrc3dhcGRfc2hyaW5rX3pvbmUoc3RydWN0IHpvbmUgKnpvbmUsDQogCSAq IEJESXMgYnV0IGFzIHByZXNzdXJlIGlzIHJlbGlldmVkLCBzcGVjdWxhdGl2ZWx5IGF2b2lkIGNv bmdlc3Rpb24NCiAJICogd2FpdHMuDQogCSAqLw0KLQlpZiAoIXpvbmUtPmFsbF91bnJlY2xhaW1h YmxlICYmDQorCWlmICh6b25lX3JlY2xhaW1hYmxlKHpvbmUpICYmDQogCSAgICB6b25lX2JhbGFu Y2VkKHpvbmUsIHRlc3RvcmRlciwgMCwgY2xhc3N6b25lX2lkeCkpIHsNCiAJCXpvbmVfY2xlYXJf ZmxhZyh6b25lLCBaT05FX0NPTkdFU1RFRCk7DQogCQl6b25lX2NsZWFyX2ZsYWcoem9uZSwgWk9O RV9UQUlMX0xSVV9ESVJUWSk7DQpAQCAtMjkwMyw3ICsyODkyLDcgQEAgc3RhdGljIHVuc2lnbmVk IGxvbmcgYmFsYW5jZV9wZ2RhdChwZ19kYXRhX3QgKnBnZGF0LCBpbnQgb3JkZXIsDQogCQkJaWYg KCFwb3B1bGF0ZWRfem9uZSh6b25lKSkNCiAJCQkJY29udGludWU7DQogDQotCQkJaWYgKHpvbmUt PmFsbF91bnJlY2xhaW1hYmxlICYmDQorCQkJaWYgKCF6b25lX3JlY2xhaW1hYmxlKHpvbmUpICYm DQogCQkJICAgIHNjLnByaW9yaXR5ICE9IERFRl9QUklPUklUWSkNCiAJCQkJY29udGludWU7DQog DQpAQCAtMjk4Miw3ICsyOTcxLDcgQEAgc3RhdGljIHVuc2lnbmVkIGxvbmcgYmFsYW5jZV9wZ2Rh dChwZ19kYXRhX3QgKnBnZGF0LCBpbnQgb3JkZXIsDQogCQkJaWYgKCFwb3B1bGF0ZWRfem9uZSh6 b25lKSkNCiAJCQkJY29udGludWU7DQogDQotCQkJaWYgKHpvbmUtPmFsbF91bnJlY2xhaW1hYmxl ICYmDQorCQkJaWYgKCF6b25lX3JlY2xhaW1hYmxlKHpvbmUpICYmDQogCQkJICAgIHNjLnByaW9y aXR5ICE9IERFRl9QUklPUklUWSkNCiAJCQkJY29udGludWU7DQogDQpAQCAtMzI2NywyMCArMzI1 Niw2IEBAIHVuc2lnbmVkIGxvbmcgZ2xvYmFsX3JlY2xhaW1hYmxlX3BhZ2VzKHZvaWQpDQogCXJl dHVybiBucjsNCiB9DQogDQotdW5zaWduZWQgbG9uZyB6b25lX3JlY2xhaW1hYmxlX3BhZ2VzKHN0 cnVjdCB6b25lICp6b25lKQ0KLXsNCi0JaW50IG5yOw0KLQ0KLQluciA9IHpvbmVfcGFnZV9zdGF0 ZSh6b25lLCBOUl9BQ1RJVkVfRklMRSkgKw0KLQkgICAgIHpvbmVfcGFnZV9zdGF0ZSh6b25lLCBO Ul9JTkFDVElWRV9GSUxFKTsNCi0NCi0JaWYgKGdldF9ucl9zd2FwX3BhZ2VzKCkgPiAwKQ0KLQkJ bnIgKz0gem9uZV9wYWdlX3N0YXRlKHpvbmUsIE5SX0FDVElWRV9BTk9OKSArDQotCQkgICAgICB6 b25lX3BhZ2Vfc3RhdGUoem9uZSwgTlJfSU5BQ1RJVkVfQU5PTik7DQotDQotCXJldHVybiBucjsN Ci19DQotDQogI2lmZGVmIENPTkZJR19ISUJFUk5BVElPTg0KIC8qDQogICogVHJ5IHRvIGZyZWUg YG5yX3RvX3JlY2xhaW0nIG9mIG1lbW9yeSwgc3lzdGVtLXdpZGUsIGFuZCByZXR1cm4gdGhlIG51 bWJlciBvZg0KQEAgLTM1NzgsNyArMzU1Myw3IEBAIGludCB6b25lX3JlY2xhaW0oc3RydWN0IHpv bmUgKnpvbmUsIGdmcF90IGdmcF9tYXNrLCB1bnNpZ25lZCBpbnQgb3JkZXIpDQogCSAgICB6b25l X3BhZ2Vfc3RhdGUoem9uZSwgTlJfU0xBQl9SRUNMQUlNQUJMRSkgPD0gem9uZS0+bWluX3NsYWJf cGFnZXMpDQogCQlyZXR1cm4gWk9ORV9SRUNMQUlNX0ZVTEw7DQogDQotCWlmICh6b25lLT5hbGxf dW5yZWNsYWltYWJsZSkNCisJaWYgKCF6b25lX3JlY2xhaW1hYmxlKHpvbmUpKQ0KIAkJcmV0dXJu IFpPTkVfUkVDTEFJTV9GVUxMOw0KIA0KIAkvKg0KZGlmZiAtLWdpdCBhL21tL3Ztc3RhdC5jIGIv bW0vdm1zdGF0LmMNCmluZGV4IDIwYzJlZjQuLmM0OGY3NWIgMTAwNjQ0DQotLS0gYS9tbS92bXN0 YXQuYw0KKysrIGIvbW0vdm1zdGF0LmMNCkBAIC0xOSw2ICsxOSw3IEBADQogI2luY2x1ZGUgPGxp bnV4L21hdGg2NC5oPg0KICNpbmNsdWRlIDxsaW51eC93cml0ZWJhY2suaD4NCiAjaW5jbHVkZSA8 bGludXgvY29tcGFjdGlvbi5oPg0KKyNpbmNsdWRlIDxsaW51eC9tbV9pbmxpbmUuaD4NCiANCiAj aWZkZWYgQ09ORklHX1ZNX0VWRU5UX0NPVU5URVJTDQogREVGSU5FX1BFUl9DUFUoc3RydWN0IHZt X2V2ZW50X3N0YXRlLCB2bV9ldmVudF9zdGF0ZXMpID0ge3swfX07DQpAQCAtMTA1Miw3ICsxMDUz LDcgQEAgc3RhdGljIHZvaWQgem9uZWluZm9fc2hvd19wcmludChzdHJ1Y3Qgc2VxX2ZpbGUgKm0s IHBnX2RhdGFfdCAqcGdkYXQsDQogCQkgICAiXG4gIGFsbF91bnJlY2xhaW1hYmxlOiAldSINCiAJ CSAgICJcbiAgc3RhcnRfcGZuOiAgICAgICAgICVsdSINCiAJCSAgICJcbiAgaW5hY3RpdmVfcmF0 aW86ICAgICV1IiwNCi0JCSAgIHpvbmUtPmFsbF91bnJlY2xhaW1hYmxlLA0KKwkJICAgIXpvbmVf cmVjbGFpbWFibGUoem9uZSksDQogCQkgICB6b25lLT56b25lX3N0YXJ0X3BmbiwNCiAJCSAgIHpv bmUtPmluYWN0aXZlX3JhdGlvKTsNCiAJc2VxX3B1dGMobSwgJ1xuJyk7DQotLSANCjEuNy4wLjQN Cg0KPg0KPj4NCj4+ID4NCj4+ID4NCj4+ID4NCj4+ID4tLQ0KPj4gPktpbmQgcmVnYXJkcywNCj4+ ID5NaW5jaGFuIEtpbQ0KPg0KPi0tDQo+S2luZCByZWdhcmRzLA0KPk1pbmNoYW4gS2ltDQo= -- 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