From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Tue, 1 May 2007 14:58:07 +0100 (BST) From: Mark Fortescue Subject: Re: vm changes from linux-2.6.14 to linux-2.6.15 In-Reply-To: <1177985136.24962.8.camel@localhost.localdomain> Message-ID: References: <20070430145414.88fda272.akpm@linux-foundation.org> <20070430.150407.07642146.davem@davemloft.net> <1177977619.24962.6.camel@localhost.localdomain> <20070430.173806.112621225.davem@davemloft.net> <1177985136.24962.8.camel@localhost.localdomain> MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="1750305931-66181570-1178027887=:4771" Sender: owner-linux-mm@kvack.org Return-Path: To: Benjamin Herrenschmidt Cc: David Miller , akpm@linux-foundation.org, linuxppc-dev@ozlabs.org, wli@holomorphy.com, linux-mm@kvack.org, andrea@suse.de, sparclinux@vger.kernel.org List-ID: --1750305931-66181570-1178027887=:4771 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed On Tue, 1 May 2007, Benjamin Herrenschmidt wrote: > >> At present, update_mmu_cache() and lazy_mmu_prot_update() are always >> called when ptep_set_access_flags() is called so why not move them into >> ptep_set_access_flags() and change ptep_set_access_flags() to have an >> additional boolean parameter (__update) that would when set, cause >> update_mmu_cache() and lazy_mmu_prot_update() to be called. > > Well, ptep_set_access_flags() is a low level arch hook, I'd rather not > start hiding update_mmu_cache() calls in it ... > > Ben. > > I have attached a patch (so pine does not mangle it) for linux-2.6.20.9. Is this what you had in mind? For linux-2.6.21, more work will be needed as it has more code calling ptep_set_access_flags. Regards Mark Fortescue. --1750305931-66181570-1178027887=:4771 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="UpdateMMUCache.patch" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename="UpdateMMUCache.patch" ZGlmZiAtcnVOcGQgbGludXgtMi42LjIwLjkvaW5jbHVkZS9hc20tZ2VuZXJp Yy9wZ3RhYmxlLmggbGludXgtdGVzdC9pbmNsdWRlL2FzbS1nZW5lcmljL3Bn dGFibGUuaA0KLS0tIGxpbnV4LTIuNi4yMC45L2luY2x1ZGUvYXNtLWdlbmVy aWMvcGd0YWJsZS5oCTIwMDctMDUtMDEgMTI6NTc6NTYuMDAwMDAwMDAwICsw MTAwDQorKysgbGludXgtdGVzdC9pbmNsdWRlL2FzbS1nZW5lcmljL3BndGFi bGUuaAkyMDA3LTA1LTAxIDE0OjIwOjA1LjAwMDAwMDAwMCArMDEwMA0KQEAg LTI5LDExICsyOSwxNiBAQCBkbyB7CQkJCSAgCQkJCQlcDQogICogdG8gYSAi bW9yZSBwZXJtaXNzaXZlIiBzZXR0aW5nLCB3aGljaCBhbGxvd3MgbW9zdCBh cmNoaXRlY3R1cmVzDQogICogdG8gb3B0aW1pemUgdGhpcy4NCiAgKi8NCi0j ZGVmaW5lIHB0ZXBfc2V0X2FjY2Vzc19mbGFncyhfX3ZtYSwgX19hZGRyZXNz LCBfX3B0ZXAsIF9fZW50cnksIF9fZGlydHkpIFwNCi1kbyB7CQkJCSAgCQkJ CQkgIFwNCi0Jc2V0X3B0ZV9hdCgoX192bWEpLT52bV9tbSwgKF9fYWRkcmVz cyksIF9fcHRlcCwgX19lbnRyeSk7CSAgXA0KLQlmbHVzaF90bGJfcGFnZShf X3ZtYSwgX19hZGRyZXNzKTsJCQkJICBcDQotfSB3aGlsZSAoMCkNCisjZGVm aW5lIHB0ZXBfc2V0X2FjY2Vzc19mbGFncyhfX3ZtYSwgX19hZGRyZXNzLCBf X3B0ZXAsIF9fZW50cnksIF9fZGlydHksIF9fdXBkYXRlKSBcDQorKHsJCQkJ CQkJCQkJICAgIFwNCisJaWYgKF9fdXBkYXRlKSB7CQkJCSAgCQkJCSAgICBc DQorCQlzZXRfcHRlX2F0KChfX3ZtYSktPnZtX21tLCAoX19hZGRyZXNzKSwg X19wdGVwLCBfX2VudHJ5KTsJICAgIFwNCisJCWZsdXNoX3RsYl9wYWdlKF9f dm1hLCBfX2FkZHJlc3MpOwkJCQkgICAgXA0KKwl9IGVsc2UgaWYgKF9fZGly dHkpIHsJCQkJCQkJICAgIFwNCisJCWZsdXNoX3RsYl9wYWdlKF9fdm1hLCBf X2FkZHJlc3MpOwkJCQkgICAgXA0KKwl9CQkJCQkJCQkJICAgIFwNCisJX191 cGRhdGU7CQkJCQkJCQkgICAgXA0KK30pDQogI2VuZGlmDQogDQogI2lmbmRl ZiBfX0hBVkVfQVJDSF9QVEVQX1RFU1RfQU5EX0NMRUFSX1lPVU5HDQpkaWZm IC1ydU5wZCBsaW51eC0yLjYuMjAuOS9pbmNsdWRlL2FzbS1pMzg2L3BndGFi bGUuaCBsaW51eC10ZXN0L2luY2x1ZGUvYXNtLWkzODYvcGd0YWJsZS5oDQot LS0gbGludXgtMi42LjIwLjkvaW5jbHVkZS9hc20taTM4Ni9wZ3RhYmxlLmgJ MjAwNy0wNS0wMSAxMjo1Nzo1Ni4wMDAwMDAwMDAgKzAxMDANCisrKyBsaW51 eC10ZXN0L2luY2x1ZGUvYXNtLWkzODYvcGd0YWJsZS5oCTIwMDctMDUtMDEg MTM6NDM6MzguMDAwMDAwMDAwICswMTAwDQpAQCAtMjczLDE0ICsyNzMsMTcg QEAgc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWtodWdlKHB0ZV90IHB0ZQ0K ICAqIGJpdCBhdCB0aGUgc2FtZSB0aW1lLg0KICAqLw0KICNkZWZpbmUgIF9f SEFWRV9BUkNIX1BURVBfU0VUX0FDQ0VTU19GTEFHUw0KLSNkZWZpbmUgcHRl cF9zZXRfYWNjZXNzX2ZsYWdzKHZtYSwgYWRkcmVzcywgcHRlcCwgZW50cnks IGRpcnR5KQkJXA0KLWRvIHsJCQkJCQkJCQlcDQotCWlmIChkaXJ0eSkgewkJ CQkJCQlcDQotCQkocHRlcCktPnB0ZV9sb3cgPSAoZW50cnkpLnB0ZV9sb3c7 CQkJXA0KLQkJcHRlX3VwZGF0ZV9kZWZlcigodm1hKS0+dm1fbW0sIChhZGRy ZXNzKSwgKHB0ZXApKTsJXA0KLQkJZmx1c2hfdGxiX3BhZ2Uodm1hLCBhZGRy ZXNzKTsJCQkJXA0KLQl9CQkJCQkJCQlcDQotfSB3aGlsZSAoMCkNCisjZGVm aW5lIHB0ZXBfc2V0X2FjY2Vzc19mbGFncyhfX3ZtYSwgX19hZGRyZXNzLCBf X3B0ZXAsIF9fZW50cnksIF9fZGlydHksIF9fdXBkYXRlKQlcDQorKHsJCQkJ CQkJCQkJCVwNCisJaWYgKF9fZGlydHkpIHsJCQkJCQkJCQlcDQorCQlpZiAo X191cGRhdGUpIHsJCQkJCQkJCVwNCisJCQkoX19wdGVwKS0+cHRlX2xvdyA9 IChfX2VudHJ5KS5wdGVfbG93OwkJCQlcDQorCQkJcHRlX3VwZGF0ZV9kZWZl cigoX192bWEpLT52bV9tbSwgKF9fYWRkcmVzcyksIChfX3B0ZXApKTsJXA0K KwkJfQkJCQkJCQkJCVwNCisJCWZsdXNoX3RsYl9wYWdlKF9fdm1hLCBfX2Fk ZHJlc3MpOwkJCQkJXA0KKwl9CQkJCQkJCQkJCVwNCisJX191cGRhdGU7CQkJ CQkJCQkJXA0KK30pDQogDQogLyoNCiAgKiBXZSBkb24ndCBhY3R1YWxseSBo YXZlIHRoZXNlLCBidXQgd2Ugd2FudCB0byBhZHZlcnRpc2UgdGhlbSBzbyB0 aGF0DQpkaWZmIC1ydU5wZCBsaW51eC0yLjYuMjAuOS9pbmNsdWRlL2FzbS1p YTY0L3BndGFibGUuaCBsaW51eC10ZXN0L2luY2x1ZGUvYXNtLWlhNjQvcGd0 YWJsZS5oDQotLS0gbGludXgtMi42LjIwLjkvaW5jbHVkZS9hc20taWE2NC9w Z3RhYmxlLmgJMjAwNy0wNC0zMCAxOTowNDo1OS4wMDAwMDAwMDAgKzAxMDAN CisrKyBsaW51eC10ZXN0L2luY2x1ZGUvYXNtLWlhNjQvcGd0YWJsZS5oCTIw MDctMDUtMDEgMTM6NDg6MDcuMDAwMDAwMDAwICswMTAwDQpAQCAtNTM3LDE2 ICs1MzcsMjUgQEAgZXh0ZXJuIHZvaWQgbGF6eV9tbXVfcHJvdF91cGRhdGUg KHB0ZV90IA0KICAqIGRhY2Nlc3NfYml0IGluIGl2dC5TKS4NCiAgKi8NCiAj aWZkZWYgQ09ORklHX1NNUA0KLSMgZGVmaW5lIHB0ZXBfc2V0X2FjY2Vzc19m bGFncyhfX3ZtYSwgX19hZGRyLCBfX3B0ZXAsIF9fZW50cnksIF9fc2FmZWx5 X3dyaXRhYmxlKQlcDQotZG8gewkJCQkJCQkJCQkJXA0KLQlpZiAoX19zYWZl bHlfd3JpdGFibGUpIHsJCQkJCQkJXA0KLQkJc2V0X3B0ZShfX3B0ZXAsIF9f ZW50cnkpOwkJCQkJCVwNCisjIGRlZmluZSBwdGVwX3NldF9hY2Nlc3NfZmxh Z3MoX192bWEsIF9fYWRkciwgX19wdGVwLCBfX2VudHJ5LCBfX2RpcnR5LCBf X3VwZGF0ZSkJXA0KKyh7CQkJCQkJCQkJCQlcDQorCWlmIChfX2RpcnR5KSB7 CQkJCQkJCQkJXA0KKwkJaWYgKF9fdXBkYXRlKQkJCQkJCQkJXA0KKwkJCXNl dF9wdGUoX19wdGVwLCBfX2VudHJ5KTsJCQkJCVwNCiAJCWZsdXNoX3RsYl9w YWdlKF9fdm1hLCBfX2FkZHIpOwkJCQkJCVwNCiAJfQkJCQkJCQkJCQlcDQot fSB3aGlsZSAoMCkNCisJX191cGRhdGU7CQkJCQkJCQkJXA0KK30pDQogI2Vs c2UNCi0jIGRlZmluZSBwdGVwX3NldF9hY2Nlc3NfZmxhZ3MoX192bWEsIF9f YWRkciwgX19wdGVwLCBfX2VudHJ5LCBfX3NhZmVseV93cml0YWJsZSkJXA0K LQlwdGVwX2VzdGFibGlzaChfX3ZtYSwgX19hZGRyLCBfX3B0ZXAsIF9fZW50 cnkpDQorIyBkZWZpbmUgcHRlcF9zZXRfYWNjZXNzX2ZsYWdzKF9fdm1hLCBf X2FkZHIsIF9fcHRlcCwgX19lbnRyeSwgX19kaXJ0eSwgX191cGRhdGUpCVwN CisoewkJCQkJCQkJCQkJXA0KKwlpZiAoX191cGRhdGUpCQkJCQkJCQkJXA0K KwkJcHRlcF9lc3RhYmxpc2goX192bWEsIF9fYWRkciwgX19wdGVwLCBfX2Vu dHJ5KTsJCQkJXA0KKwllbHNlIGlmIChfX2RpcnR5KQkJCQkJCQkJXA0KKwkJ Zmx1c2hfdGxiX3BhZ2UoX192bWEsIF9fYWRkcik7CQkJCQkJXA0KKwl9CQkJ CQkJCQkJCVwNCisJX191cGRhdGU7CQkJCQkJCQkJXA0KK30pDQogI2VuZGlm DQogDQogIyAgaWZkZWYgQ09ORklHX1ZJUlRVQUxfTUVNX01BUA0KZGlmZiAt cnVOcGQgbGludXgtMi42LjIwLjkvaW5jbHVkZS9hc20tcG93ZXJwYy9wZ3Rh YmxlLmggbGludXgtdGVzdC9pbmNsdWRlL2FzbS1wb3dlcnBjL3BndGFibGUu aA0KLS0tIGxpbnV4LTIuNi4yMC45L2luY2x1ZGUvYXNtLXBvd2VycGMvcGd0 YWJsZS5oCTIwMDctMDUtMDEgMTI6NTc6NTYuMDAwMDAwMDAwICswMTAwDQor KysgbGludXgtdGVzdC9pbmNsdWRlL2FzbS1wb3dlcnBjL3BndGFibGUuaAky MDA3LTA1LTAxIDEzOjU4OjU2LjAwMDAwMDAwMCArMDEwMA0KQEAgLTQzNywx MSArNDM3LDE1IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBfX3B0ZXBfc2V0X2Fj Y2Vzc19mbGENCiAJOiJyIiAoYml0cyksICJyIiAocHRlcCksICJtIiAoKnB0 ZXApLCAiaSIgKF9QQUdFX0JVU1kpDQogCToiY2MiKTsNCiB9DQotI2RlZmlu ZSAgcHRlcF9zZXRfYWNjZXNzX2ZsYWdzKF9fdm1hLCBfX2FkZHJlc3MsIF9f cHRlcCwgX19lbnRyeSwgX19kaXJ0eSkgXA0KLQlkbyB7CQkJCQkJCQkgICBc DQotCQlfX3B0ZXBfc2V0X2FjY2Vzc19mbGFncyhfX3B0ZXAsIF9fZW50cnks IF9fZGlydHkpOwkgICBcDQotCQlmbHVzaF90bGJfcGFnZV9ub2hhc2goX192 bWEsIF9fYWRkcmVzcyk7CSAgICAgICAJICAgXA0KLQl9IHdoaWxlKDApDQor I2RlZmluZSAgcHRlcF9zZXRfYWNjZXNzX2ZsYWdzKF9fdm1hLCBfX2FkZHJl c3MsIF9fcHRlcCwgX19lbnRyeSwgX19kaXJ0eSwgX191cGRhdGUpIFwNCiso ewkJCQkJCQkJCQkgICAgIFwNCisJaWYgKF9fdXBkYXRlKSB7CQkJCQkJCQkg ICAgIFwNCisJCV9fcHRlcF9zZXRfYWNjZXNzX2ZsYWdzKF9fcHRlcCwgX19l bnRyeSwgX19kaXJ0eSk7CQkgICAgIFwNCisJCWZsdXNoX3RsYl9wYWdlX25v aGFzaChfX3ZtYSwgX19hZGRyZXNzKTsJCQkgICAgIFwNCisJfSBlbHNlIGlm IChfX2RpcnR5KQkJCQkJCQkgICAgIFwNCisJCWZsdXNoX3RsYl9wYWdlKF9f dm1hLCBfX2FkZHJlc3MpOwkJCQkgICAgIFwNCisJX191cGRhdGU7CQkJCQkJ CQkgICAgIFwNCit9KQ0KIA0KIC8qDQogICogTWFjcm8gdG8gbWFyayBhIHBh Z2UgcHJvdGVjdGlvbiB2YWx1ZSBhcyAidW5jYWNoZWFibGUiLg0KZGlmZiAt cnVOcGQgbGludXgtMi42LjIwLjkvaW5jbHVkZS9hc20tcHBjL3BndGFibGUu aCBsaW51eC10ZXN0L2luY2x1ZGUvYXNtLXBwYy9wZ3RhYmxlLmgNCi0tLSBs aW51eC0yLjYuMjAuOS9pbmNsdWRlL2FzbS1wcGMvcGd0YWJsZS5oCTIwMDct MDQtMzAgMTk6MDU6MDAuMDAwMDAwMDAwICswMTAwDQorKysgbGludXgtdGVz dC9pbmNsdWRlL2FzbS1wcGMvcGd0YWJsZS5oCTIwMDctMDUtMDEgMTM6NTA6 MzAuMDAwMDAwMDAwICswMTAwDQpAQCAtNjkzLDExICs2OTMsMTUgQEAgc3Rh dGljIGlubGluZSB2b2lkIF9fcHRlcF9zZXRfYWNjZXNzX2ZsYQ0KIAlwdGVf dXBkYXRlKHB0ZXAsIDAsIGJpdHMpOw0KIH0NCiANCi0jZGVmaW5lICBwdGVw X3NldF9hY2Nlc3NfZmxhZ3MoX192bWEsIF9fYWRkcmVzcywgX19wdGVwLCBf X2VudHJ5LCBfX2RpcnR5KSBcDQotCWRvIHsJCQkJCQkJCSAgIFwNCi0JCV9f cHRlcF9zZXRfYWNjZXNzX2ZsYWdzKF9fcHRlcCwgX19lbnRyeSwgX19kaXJ0 eSk7CSAgIFwNCi0JCWZsdXNoX3RsYl9wYWdlX25vaGFzaChfX3ZtYSwgX19h ZGRyZXNzKTsJICAgICAgIAkgICBcDQotCX0gd2hpbGUoMCkNCisjZGVmaW5l ICBwdGVwX3NldF9hY2Nlc3NfZmxhZ3MoX192bWEsIF9fYWRkcmVzcywgX19w dGVwLCBfX2VudHJ5LCBfX2RpcnR5LCBfX3VwZGF0ZSkgXA0KKyh7CQkJCQkJ CQkJCSAgICAgXA0KKwlpZiAoX191cGRhdGUpIHsJCQkJCQkJCSAgICAgXA0K KwkJX19wdGVwX3NldF9hY2Nlc3NfZmxhZ3MoX19wdGVwLCBfX2VudHJ5LCBf X2RpcnR5KTsJCSAgICAgXA0KKwkJZmx1c2hfdGxiX3BhZ2Vfbm9oYXNoKF9f dm1hLCBfX2FkZHJlc3MpOwkJCSAgICAgXA0KKwl9IGVsc2UgaWYgKF9fZGly dHkpCQkJCQkJCSAgICAgXA0KKwkJZmx1c2hfdGxiX3BhZ2UoX192bWEsIF9f YWRkcmVzcyk7CQkJCSAgICAgXA0KKwlfX3VwZGF0ZTsJCQkJCQkJCSAgICAg XA0KK30pDQogDQogLyoNCiAgKiBNYWNybyB0byBtYXJrIGEgcGFnZSBwcm90 ZWN0aW9uIHZhbHVlIGFzICJ1bmNhY2hlYWJsZSIuDQpkaWZmIC1ydU5wZCBs aW51eC0yLjYuMjAuOS9pbmNsdWRlL2FzbS1zMzkwL3BndGFibGUuaCBsaW51 eC10ZXN0L2luY2x1ZGUvYXNtLXMzOTAvcGd0YWJsZS5oDQotLS0gbGludXgt Mi42LjIwLjkvaW5jbHVkZS9hc20tczM5MC9wZ3RhYmxlLmgJMjAwNy0wNS0w MSAxMjo1Nzo1Ni4wMDAwMDAwMDAgKzAxMDANCisrKyBsaW51eC10ZXN0L2lu Y2x1ZGUvYXNtLXMzOTAvcGd0YWJsZS5oCTIwMDctMDUtMDEgMTQ6MjM6MjQu MDAwMDAwMDAwICswMTAwDQpAQCAtNjI4LDggKzYyOCwxNCBAQCBwdGVwX2Vz dGFibGlzaChzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtDQogCXNldF9wdGUo cHRlcCwgZW50cnkpOw0KIH0NCiANCi0jZGVmaW5lIHB0ZXBfc2V0X2FjY2Vz c19mbGFncyhfX3ZtYSwgX19hZGRyZXNzLCBfX3B0ZXAsIF9fZW50cnksIF9f ZGlydHkpIFwNCi0JcHRlcF9lc3RhYmxpc2goX192bWEsIF9fYWRkcmVzcywg X19wdGVwLCBfX2VudHJ5KQ0KKyNkZWZpbmUgcHRlcF9zZXRfYWNjZXNzX2Zs YWdzKF9fdm1hLCBfX2FkZHJlc3MsIF9fcHRlcCwgX19lbnRyeSwgX19kaXJ0 eSwgX191cGRhdGUpIFwNCisJKHsJCQkJCQkJCQkgICAgXA0KKwkJaWYgKF9f dXBkYXRlKQkJCQkJCQkgICAgXA0KKwkJCXB0ZXBfZXN0YWJsaXNoKF9fdm1h LCBfX2FkZHJlc3MsIF9fcHRlcCwgX19lbnRyeSk7CSAgICBcDQorCQllbHNl IGlmIChfX2RpcnR5KQkJCQkJCSAgICBcDQorCQkJZmx1c2hfdGxiX3BhZ2Uo X192bWEsIF9fYWRkcmVzcyk7CQkJICAgIFwNCisJCV9fdXBkYXRlOwkJCQkJ CQkgICAgXA0KKwl9KQ0KIA0KIC8qDQogICogVGVzdCBhbmQgY2xlYXIgZGly dHkgYml0IGluIHN0b3JhZ2Uga2V5Lg0KZGlmZiAtcnVOcGQgbGludXgtMi42 LjIwLjkvaW5jbHVkZS9hc20tc3BhcmMvcGd0YWJsZS5oIGxpbnV4LXRlc3Qv aW5jbHVkZS9hc20tc3BhcmMvcGd0YWJsZS5oDQotLS0gbGludXgtMi42LjIw LjkvaW5jbHVkZS9hc20tc3BhcmMvcGd0YWJsZS5oCTIwMDctMDQtMzAgMTk6 MDU6MDEuMDAwMDAwMDAwICswMTAwDQorKysgbGludXgtdGVzdC9pbmNsdWRl L2FzbS1zcGFyYy9wZ3RhYmxlLmgJMjAwNy0wNS0wMSAxNDozMjozNS4wMDAw MDAwMDAgKzAxMDANCkBAIC00NDYsNiArNDQ2LDI3IEBAIGV4dGVybiBpbnQg aW9fcmVtYXBfcGZuX3JhbmdlKHN0cnVjdCB2bV8NCiAjZGVmaW5lIEdFVF9J T1NQQUNFKHBmbikJCShwZm4gPj4gKEJJVFNfUEVSX0xPTkcgLSA0KSkNCiAj ZGVmaW5lIEdFVF9QRk4ocGZuKQkJCShwZm4gJiAweDBmZmZmZmZmVUwpDQog DQorI2RlZmluZSBfX0hBVkVfQVJDSF9QVEVQX1NFVF9BQ0NFU1NfRkxBR1MN CisjZGVmaW5lIHB0ZXBfc2V0X2FjY2Vzc19mbGFncyhfX3ZtYSwgX19hZGRy ZXNzLCBfX3B0ZXAsIF9fZW50cnksIF9fZGlydHksIF9fdXBkYXRlKSBcDQor KHsJCQkJCQkJCQkJICAgIFwNCisJaW50IF9fcmV0OwkJCQkJCQkJICAgIFwN CisJCQkJCQkJCQkJICAgIFwNCisJaWYgKHNwYXJjX2NwdV9tb2RlbCA9PSBz dW40YykgewkJCQkJCSAgICBcDQorCQlzZXRfcHRlX2F0KChfX3ZtYSktPnZt X21tLCAoX19hZGRyZXNzKSwgX19wdGVwLCBfX2VudHJ5KTsJICAgIFwNCisJ CWZsdXNoX3RsYl9wYWdlKF9fdm1hLCBfX2FkZHJlc3MpOwkJCQkgICAgXA0K KwkJX19yZXQgPSAxOwkJCQkJCQkgICAgXA0KKwl9IGVsc2UgewkJCQkJCQkJ ICAgIFwNCisJCWlmIChfX3VwZGF0ZSkgewkJCSAgCQkJCSAgICBcDQorCQkJ c2V0X3B0ZV9hdCgoX192bWEpLT52bV9tbSwgKF9fYWRkcmVzcyksIF9fcHRl cCwgX19lbnRyeSk7ICAgXA0KKwkJCWZsdXNoX3RsYl9wYWdlKF9fdm1hLCBf X2FkZHJlc3MpOwkJCSAgICBcDQorCQl9IGVsc2UgaWYgKF9fZGlydHkpIHsJ CQkJCQkgICAgXA0KKwkJCWZsdXNoX3RsYl9wYWdlKF9fdm1hLCBfX2FkZHJl c3MpOwkJCSAgICBcDQorCQl9CQkJCQkJCQkgICAgXA0KKwkJX19yZXQgPSBf X3VwZGF0ZTsJCQkJCQkgICAgXA0KKwl9CQkJCQkJCQkJICAgIFwNCisJX19y ZXQ7CQkJCQkJCQkJICAgIFwNCit9KQ0KKw0KICNpbmNsdWRlIDxhc20tZ2Vu ZXJpYy9wZ3RhYmxlLmg+DQogDQogI2VuZGlmIC8qICEoX19BU1NFTUJMWV9f KSAqLw0KZGlmZiAtcnVOcGQgbGludXgtMi42LjIwLjkvaW5jbHVkZS9hc20t eDg2XzY0L3BndGFibGUuaCBsaW51eC10ZXN0L2luY2x1ZGUvYXNtLXg4Nl82 NC9wZ3RhYmxlLmgNCi0tLSBsaW51eC0yLjYuMjAuOS9pbmNsdWRlL2FzbS14 ODZfNjQvcGd0YWJsZS5oCTIwMDctMDUtMDEgMTI6NTc6NTcuMDAwMDAwMDAw ICswMTAwDQorKysgbGludXgtdGVzdC9pbmNsdWRlL2FzbS14ODZfNjQvcGd0 YWJsZS5oCTIwMDctMDUtMDEgMTM6Mzc6MDguMDAwMDAwMDAwICswMTAwDQpA QCAtMzk2LDEzICszOTYsMTUgQEAgc3RhdGljIGlubGluZSBwdGVfdCBwdGVf bW9kaWZ5KHB0ZV90IHB0ZQ0KICAqIHJhY2Ugd2l0aCBvdGhlciBDUFUncyB0 aGF0IG1pZ2h0IGJlIHVwZGF0aW5nIHRoZSBkaXJ0eQ0KICAqIGJpdCBhdCB0 aGUgc2FtZSB0aW1lLiAqLw0KICNkZWZpbmUgIF9fSEFWRV9BUkNIX1BURVBf U0VUX0FDQ0VTU19GTEFHUw0KLSNkZWZpbmUgcHRlcF9zZXRfYWNjZXNzX2Zs YWdzKF9fdm1hLCBfX2FkZHJlc3MsIF9fcHRlcCwgX19lbnRyeSwgX19kaXJ0 eSkgXA0KLQlkbyB7CQkJCQkJCQkgIFwNCi0JCWlmIChfX2RpcnR5KSB7CQkJ CQkJICBcDQotCQkJc2V0X3B0ZShfX3B0ZXAsIF9fZW50cnkpOwkJCSAgXA0K LQkJCWZsdXNoX3RsYl9wYWdlKF9fdm1hLCBfX2FkZHJlc3MpOwkJICBcDQot CQl9CQkJCQkJCSAgXA0KLQl9IHdoaWxlICgwKQ0KKyNkZWZpbmUgcHRlcF9z ZXRfYWNjZXNzX2ZsYWdzKF9fdm1hLCBfX2FkZHJlc3MsIF9fcHRlcCwgX19l bnRyeSwgX19kaXJ0eSwgX191cGRhdGUpIFwNCisJKHsJCQkJCQkJCQkgICAg XA0KKwkJaWYgKF9fZGlydHkpIHsJCQkJCQkJICAgIFwNCisJCQlpZiAoX191 cGRhdGUpCQkJCQkJICAgIFwNCisJCQkJc2V0X3B0ZShfX3B0ZXAsIF9fZW50 cnkpOwkJCSAgICBcDQorCQkJZmx1c2hfdGxiX3BhZ2UoX192bWEsIF9fYWRk cmVzcyk7CQkJICAgIFwNCisJCX0JCQkJCQkJCSAgICBcDQorCQlfX3VwZGF0 ZTsJCQkJCQkJICAgIFwNCisJfSkNCiANCiAvKiBFbmNvZGUgYW5kIGRlLWNv ZGUgYSBzd2FwIGVudHJ5ICovDQogI2RlZmluZSBfX3N3cF90eXBlKHgpCQkJ KCgoeCkudmFsID4+IDEpICYgMHgzZikNCmRpZmYgLXJ1TnBkIGxpbnV4LTIu Ni4yMC45L21tL2h1Z2V0bGIuYyBsaW51eC10ZXN0L21tL2h1Z2V0bGIuYw0K LS0tIGxpbnV4LTIuNi4yMC45L21tL2h1Z2V0bGIuYwkyMDA3LTA1LTAxIDEz OjAxOjEwLjAwMDAwMDAwMCArMDEwMA0KKysrIGxpbnV4LXRlc3QvbW0vaHVn ZXRsYi5jCTIwMDctMDUtMDEgMTM6MTc6MjYuMDAwMDAwMDAwICswMTAwDQpA QCAtMzEzLDkgKzMxMywxMCBAQCBzdGF0aWMgdm9pZCBzZXRfaHVnZV9wdGVw X3dyaXRhYmxlKHN0cnVjDQogCXB0ZV90IGVudHJ5Ow0KIA0KIAllbnRyeSA9 IHB0ZV9ta3dyaXRlKHB0ZV9ta2RpcnR5KCpwdGVwKSk7DQotCXB0ZXBfc2V0 X2FjY2Vzc19mbGFncyh2bWEsIGFkZHJlc3MsIHB0ZXAsIGVudHJ5LCAxKTsN Ci0JdXBkYXRlX21tdV9jYWNoZSh2bWEsIGFkZHJlc3MsIGVudHJ5KTsNCi0J bGF6eV9tbXVfcHJvdF91cGRhdGUoZW50cnkpOw0KKwlpZiAocHRlcF9zZXRf YWNjZXNzX2ZsYWdzKHZtYSwgYWRkcmVzcywgcHRlcCwgZW50cnksIDEsIDEp KSB7DQorCQl1cGRhdGVfbW11X2NhY2hlKHZtYSwgYWRkcmVzcywgZW50cnkp Ow0KKwkJbGF6eV9tbXVfcHJvdF91cGRhdGUoZW50cnkpOw0KKwl9DQogfQ0K IA0KIA0KZGlmZiAtcnVOcGQgbGludXgtMi42LjIwLjkvbW0vbWVtb3J5LmMg bGludXgtdGVzdC9tbS9tZW1vcnkuYw0KLS0tIGxpbnV4LTIuNi4yMC45L21t L21lbW9yeS5jCTIwMDctMDUtMDEgMTI6NTc6NTcuMDAwMDAwMDAwICswMTAw DQorKysgbGludXgtdGVzdC9tbS9tZW1vcnkuYwkyMDA3LTA1LTAxIDE0OjI2 OjM4LjAwMDAwMDAwMCArMDEwMA0KQEAgLTE1NTMsOSArMTU1MywxMSBAQCBz dGF0aWMgaW50IGRvX3dwX3BhZ2Uoc3RydWN0IG1tX3N0cnVjdCAqDQogCQlm bHVzaF9jYWNoZV9wYWdlKHZtYSwgYWRkcmVzcywgcHRlX3BmbihvcmlnX3B0 ZSkpOw0KIAkJZW50cnkgPSBwdGVfbWt5b3VuZyhvcmlnX3B0ZSk7DQogCQll bnRyeSA9IG1heWJlX21rd3JpdGUocHRlX21rZGlydHkoZW50cnkpLCB2bWEp Ow0KLQkJcHRlcF9zZXRfYWNjZXNzX2ZsYWdzKHZtYSwgYWRkcmVzcywgcGFn ZV90YWJsZSwgZW50cnksIDEpOw0KLQkJdXBkYXRlX21tdV9jYWNoZSh2bWEs IGFkZHJlc3MsIGVudHJ5KTsNCi0JCWxhenlfbW11X3Byb3RfdXBkYXRlKGVu dHJ5KTsNCisJCWlmIChwdGVwX3NldF9hY2Nlc3NfZmxhZ3Modm1hLCBhZGRy ZXNzLCBwYWdlX3RhYmxlLA0KKwkJCQkJICBlbnRyeSwgMSwgMSkpIHsNCisJ CQl1cGRhdGVfbW11X2NhY2hlKHZtYSwgYWRkcmVzcywgZW50cnkpOw0KKwkJ CWxhenlfbW11X3Byb3RfdXBkYXRlKGVudHJ5KTsNCisJCX0NCiAJCXJldCB8 PSBWTV9GQVVMVF9XUklURTsNCiAJCWdvdG8gdW5sb2NrOw0KIAl9DQpAQCAt MjQyMywxOSArMjQyNSwxMCBAQCBzdGF0aWMgaW5saW5lIGludCBoYW5kbGVf cHRlX2ZhdWx0KHN0cnVjDQogCQllbnRyeSA9IHB0ZV9ta2RpcnR5KGVudHJ5 KTsNCiAJfQ0KIAllbnRyeSA9IHB0ZV9ta3lvdW5nKGVudHJ5KTsNCi0JaWYg KCFwdGVfc2FtZShvbGRfZW50cnksIGVudHJ5KSkgew0KLQkJcHRlcF9zZXRf YWNjZXNzX2ZsYWdzKHZtYSwgYWRkcmVzcywgcHRlLCBlbnRyeSwgd3JpdGVf YWNjZXNzKTsNCisJaWYgKHB0ZXBfc2V0X2FjY2Vzc19mbGFncyh2bWEsIGFk ZHJlc3MsIHB0ZSwgZW50cnksIHdyaXRlX2FjY2VzcywNCisJCQkJICAhcHRl X3NhbWUob2xkX2VudHJ5LCBlbnRyeSkpKSB7DQogCQl1cGRhdGVfbW11X2Nh Y2hlKHZtYSwgYWRkcmVzcywgZW50cnkpOw0KIAkJbGF6eV9tbXVfcHJvdF91 cGRhdGUoZW50cnkpOw0KLQl9IGVsc2Ugew0KLQkJLyoNCi0JCSAqIFRoaXMg aXMgbmVlZGVkIG9ubHkgZm9yIHByb3RlY3Rpb24gZmF1bHRzIGJ1dCB0aGUg YXJjaCBjb2RlDQotCQkgKiBpcyBub3QgeWV0IHRlbGxpbmcgdXMgaWYgdGhp cyBpcyBhIHByb3RlY3Rpb24gZmF1bHQgb3Igbm90Lg0KLQkJICogVGhpcyBz dGlsbCBhdm9pZHMgdXNlbGVzcyB0bGIgZmx1c2hlcyBmb3IgLnRleHQgcGFn ZSBmYXVsdHMNCi0JCSAqIHdpdGggdGhyZWFkcy4NCi0JCSAqLw0KLQkJaWYg KHdyaXRlX2FjY2VzcykNCi0JCQlmbHVzaF90bGJfcGFnZSh2bWEsIGFkZHJl c3MpOw0KIAl9DQogdW5sb2NrOg0KIAlwdGVfdW5tYXBfdW5sb2NrKHB0ZSwg cHRsKTsNCg== --1750305931-66181570-1178027887=:4771-- -- 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