From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Wed, 2 May 2007 00:08:31 +0100 (BST) From: Mark Fortescue Subject: Re: vm changes from linux-2.6.14 to linux-2.6.15 In-Reply-To: <1178055110.13263.2.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> <1178055110.13263.2.camel@localhost.localdomain> MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="1750305931-1115632949-1178060911=:12808" 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-1115632949-1178060911=:12808 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed On Wed, 2 May 2007, Benjamin Herrenschmidt wrote: > >> 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. > > I'm not 100% sure we need the 'update' argument... we can remove the > whole old_entry, pte_same, etc... and just have pte_set_access_flags() > read the old PTE and decide wether something needs to be changed or not. > > Ben. > > The attached patch works on sun4c (with my simple ADA compile test) but the change in functionality may break things other platforms. The advantage of the previous patch is that the functionality is only changed for sparc sun4c so less testing would be required. Regards Mark Fortescue. --1750305931-1115632949-1178060911=:12808 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="Update-MMUCache-2.patch" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename="Update-MMUCache-2.patch" ZGlmZiAtcnVOcGQgbGludXgtMi42LjIwLjkvaW5jbHVkZS9hc20tZ2VuZXJp Yy9wZ3RhYmxlLmggbGludXgtdGVzdC9pbmNsdWRlL2FzbS1nZW5lcmljL3Bn dGFibGUuaA0KLS0tIGxpbnV4LTIuNi4yMC45L2luY2x1ZGUvYXNtLWdlbmVy aWMvcGd0YWJsZS5oCTIwMDctMDUtMDEgMTI6NTc6NTYuMDAwMDAwMDAwICsw MTAwDQorKysgbGludXgtdGVzdC9pbmNsdWRlL2FzbS1nZW5lcmljL3BndGFi bGUuaAkyMDA3LTA1LTAxIDIzOjEzOjIzLjAwMDAwMDAwMCArMDEwMA0KQEAg LTMwLDEwICszMCwxNyBAQCBkbyB7CQkJCSAgCQkJCQlcDQogICogdG8gb3B0 aW1pemUgdGhpcy4NCiAgKi8NCiAjZGVmaW5lIHB0ZXBfc2V0X2FjY2Vzc19m bGFncyhfX3ZtYSwgX19hZGRyZXNzLCBfX3B0ZXAsIF9fZW50cnksIF9fZGly dHkpIFwNCi1kbyB7CQkJCSAgCQkJCQkgIFwNCi0Jc2V0X3B0ZV9hdCgoX192 bWEpLT52bV9tbSwgKF9fYWRkcmVzcyksIF9fcHRlcCwgX19lbnRyeSk7CSAg XA0KLQlmbHVzaF90bGJfcGFnZShfX3ZtYSwgX19hZGRyZXNzKTsJCQkJICBc DQotfSB3aGlsZSAoMCkNCisoewkJCQkJCQkJCSAgXA0KKwlpbnQgX191cGRh dGUgPSAhcHRlX3NhbWUoKihfX3B0ZXApLCBfX2VudHJ5KTsJCQkgIFwNCisJ CQkJCQkJCQkgIFwNCisJaWYgKF9fdXBkYXRlKSB7CQkJCSAgCQkJICBcDQor CQlzZXRfcHRlX2F0KChfX3ZtYSktPnZtX21tLCAoX19hZGRyZXNzKSwgX19w dGVwLCBfX2VudHJ5KTsgXA0KKwkJZmx1c2hfdGxiX3BhZ2UoX192bWEsIF9f YWRkcmVzcyk7CQkJICBcDQorCX0gZWxzZSBpZiAoX19kaXJ0eSkgewkJCQkJ CSAgXA0KKwkJZmx1c2hfdGxiX3BhZ2UoX192bWEsIF9fYWRkcmVzcyk7CQkJ ICBcDQorCX0JCQkJCQkJCSAgXA0KKwlfX3VwZGF0ZTsJCQkJCQkJICBcDQor fSkNCiAjZW5kaWYNCiANCiAjaWZuZGVmIF9fSEFWRV9BUkNIX1BURVBfVEVT VF9BTkRfQ0xFQVJfWU9VTkcNCmRpZmYgLXJ1TnBkIGxpbnV4LTIuNi4yMC45 L2luY2x1ZGUvYXNtLWkzODYvcGd0YWJsZS5oIGxpbnV4LXRlc3QvaW5jbHVk ZS9hc20taTM4Ni9wZ3RhYmxlLmgNCi0tLSBsaW51eC0yLjYuMjAuOS9pbmNs dWRlL2FzbS1pMzg2L3BndGFibGUuaAkyMDA3LTA1LTAxIDEyOjU3OjU2LjAw MDAwMDAwMCArMDEwMA0KKysrIGxpbnV4LXRlc3QvaW5jbHVkZS9hc20taTM4 Ni9wZ3RhYmxlLmgJMjAwNy0wNS0wMSAyMzoxODo1MC4wMDAwMDAwMDAgKzAx MDANCkBAIC0yNzMsMTQgKzI3MywxOSBAQCBzdGF0aWMgaW5saW5lIHB0ZV90 IHB0ZV9ta2h1Z2UocHRlX3QgcHRlDQogICogYml0IGF0IHRoZSBzYW1lIHRp bWUuDQogICovDQogI2RlZmluZSAgX19IQVZFX0FSQ0hfUFRFUF9TRVRfQUND RVNTX0ZMQUdTDQotI2RlZmluZSBwdGVwX3NldF9hY2Nlc3NfZmxhZ3Modm1h LCBhZGRyZXNzLCBwdGVwLCBlbnRyeSwgZGlydHkpCQlcDQotZG8gewkJCQkJ CQkJCVwNCi0JaWYgKGRpcnR5KSB7CQkJCQkJCVwNCi0JCShwdGVwKS0+cHRl X2xvdyA9IChlbnRyeSkucHRlX2xvdzsJCQlcDQotCQlwdGVfdXBkYXRlX2Rl ZmVyKCh2bWEpLT52bV9tbSwgKGFkZHJlc3MpLCAocHRlcCkpOwlcDQotCQlm bHVzaF90bGJfcGFnZSh2bWEsIGFkZHJlc3MpOwkJCQlcDQotCX0JCQkJCQkJ CVwNCi19IHdoaWxlICgwKQ0KKyNkZWZpbmUgcHRlcF9zZXRfYWNjZXNzX2Zs YWdzKF9fdm1hLCBfX2FkZHJlc3MsIF9fcHRlcCwgX19lbnRyeSwgX19kaXJ0 eSkJIFwNCisoewkJCQkJCQkJCQkgXA0KKwlpbnQgX191cGRhdGUgPSAhcHRl X3NhbWUoKihfX3B0ZXApLCBfX2VudHJ5KTsJCQkJIFwNCisJCQkJCQkJCQkJ IFwNCisJaWYgKF9fZGlydHkpIHsJCQkJCQkJCSBcDQorCQlpZiAoX191cGRh dGUpIHsJCQkJCQkJIFwNCisJCQkoX19wdGVwKS0+cHRlX2xvdyA9IChfX2Vu dHJ5KS5wdGVfbG93OwkJCSBcDQorCQkJcHRlX3VwZGF0ZV9kZWZlcigoX192 bWEpLT52bV9tbSwgKF9fYWRkcmVzcyksIChfX3B0ZXApKTsgXA0KKwkJfQkJ CQkJCQkJIFwNCisJCWZsdXNoX3RsYl9wYWdlKF9fdm1hLCBfX2FkZHJlc3Mp OwkJCQkgXA0KKwl9CQkJCQkJCQkJIFwNCisJX191cGRhdGU7CQkJCQkJCQkg XA0KK30pDQogDQogLyoNCiAgKiBXZSBkb24ndCBhY3R1YWxseSBoYXZlIHRo ZXNlLCBidXQgd2Ugd2FudCB0byBhZHZlcnRpc2UgdGhlbSBzbyB0aGF0DQpk aWZmIC1ydU5wZCBsaW51eC0yLjYuMjAuOS9pbmNsdWRlL2FzbS1pYTY0L3Bn dGFibGUuaCBsaW51eC10ZXN0L2luY2x1ZGUvYXNtLWlhNjQvcGd0YWJsZS5o DQotLS0gbGludXgtMi42LjIwLjkvaW5jbHVkZS9hc20taWE2NC9wZ3RhYmxl LmgJMjAwNy0wNC0zMCAxOTowNDo1OS4wMDAwMDAwMDAgKzAxMDANCisrKyBs aW51eC10ZXN0L2luY2x1ZGUvYXNtLWlhNjQvcGd0YWJsZS5oCTIwMDctMDUt MDEgMjM6MTY6NDcuMDAwMDAwMDAwICswMTAwDQpAQCAtNTM3LDE2ICs1Mzcs MjkgQEAgZXh0ZXJuIHZvaWQgbGF6eV9tbXVfcHJvdF91cGRhdGUgKHB0ZV90 IA0KICAqIGRhY2Nlc3NfYml0IGluIGl2dC5TKS4NCiAgKi8NCiAjaWZkZWYg Q09ORklHX1NNUA0KLSMgZGVmaW5lIHB0ZXBfc2V0X2FjY2Vzc19mbGFncyhf X3ZtYSwgX19hZGRyLCBfX3B0ZXAsIF9fZW50cnksIF9fc2FmZWx5X3dyaXRh YmxlKQlcDQotZG8gewkJCQkJCQkJCQkJXA0KLQlpZiAoX19zYWZlbHlfd3Jp dGFibGUpIHsJCQkJCQkJXA0KLQkJc2V0X3B0ZShfX3B0ZXAsIF9fZW50cnkp OwkJCQkJCVwNCi0JCWZsdXNoX3RsYl9wYWdlKF9fdm1hLCBfX2FkZHIpOwkJ CQkJCVwNCi0JfQkJCQkJCQkJCQlcDQotfSB3aGlsZSAoMCkNCisjIGRlZmlu ZSBwdGVwX3NldF9hY2Nlc3NfZmxhZ3MoX192bWEsIF9fYWRkciwgX19wdGVw LCBfX2VudHJ5LCBfX2RpcnR5KQlcDQorKHsJCQkJCQkJCQlcDQorCWludCBf X3VwZGF0ZSA9ICFwdGVfc2FtZSgqKF9fcHRlcCksIF9fZW50cnkpOwkJCVwN CisJCQkJCQkJCQlcDQorCWlmIChfX2RpcnR5KSB7CQkJCQkJCVwNCisJCWlm IChfX3VwZGF0ZSkJCQkJCQlcDQorCQkJc2V0X3B0ZShfX3B0ZXAsIF9fZW50 cnkpOwkJCVwNCisJCWZsdXNoX3RsYl9wYWdlKF9fdm1hLCBfX2FkZHIpOwkJ CQlcDQorCX0JCQkJCQkJCVwNCisJX191cGRhdGU7CQkJCQkJCVwNCit9KQ0K ICNlbHNlDQotIyBkZWZpbmUgcHRlcF9zZXRfYWNjZXNzX2ZsYWdzKF9fdm1h LCBfX2FkZHIsIF9fcHRlcCwgX19lbnRyeSwgX19zYWZlbHlfd3JpdGFibGUp CVwNCi0JcHRlcF9lc3RhYmxpc2goX192bWEsIF9fYWRkciwgX19wdGVwLCBf X2VudHJ5KQ0KKyMgZGVmaW5lIHB0ZXBfc2V0X2FjY2Vzc19mbGFncyhfX3Zt YSwgX19hZGRyLCBfX3B0ZXAsIF9fZW50cnksIF9fZGlydHkpCVwNCisoewkJ CQkJCQkJCVwNCisJaW50IF9fdXBkYXRlID0gIXB0ZV9zYW1lKCooX19wdGVw KSwgX19lbnRyeSk7CQkJXA0KKwkJCQkJCQkJCVwNCisJaWYgKF9fdXBkYXRl KQkJCQkJCQlcDQorCQlwdGVwX2VzdGFibGlzaChfX3ZtYSwgX19hZGRyLCBf X3B0ZXAsIF9fZW50cnkpOwkJXA0KKwllbHNlIGlmIChfX2RpcnR5KQkJCQkJ CVwNCisJCWZsdXNoX3RsYl9wYWdlKF9fdm1hLCBfX2FkZHIpOwkJCQlcDQor CX0JCQkJCQkJCVwNCisJX191cGRhdGU7CQkJCQkJCVwNCit9KQ0KICNlbmRp Zg0KIA0KICMgIGlmZGVmIENPTkZJR19WSVJUVUFMX01FTV9NQVANCmRpZmYg LXJ1TnBkIGxpbnV4LTIuNi4yMC45L2luY2x1ZGUvYXNtLXBvd2VycGMvcGd0 YWJsZS5oIGxpbnV4LXRlc3QvaW5jbHVkZS9hc20tcG93ZXJwYy9wZ3RhYmxl LmgNCi0tLSBsaW51eC0yLjYuMjAuOS9pbmNsdWRlL2FzbS1wb3dlcnBjL3Bn dGFibGUuaAkyMDA3LTA1LTAxIDEyOjU3OjU2LjAwMDAwMDAwMCArMDEwMA0K KysrIGxpbnV4LXRlc3QvaW5jbHVkZS9hc20tcG93ZXJwYy9wZ3RhYmxlLmgJ MjAwNy0wNS0wMSAyMzoyMToxOC4wMDAwMDAwMDAgKzAxMDANCkBAIC00Mzgs MTAgKzQzOCwxNiBAQCBzdGF0aWMgaW5saW5lIHZvaWQgX19wdGVwX3NldF9h Y2Nlc3NfZmxhDQogCToiY2MiKTsNCiB9DQogI2RlZmluZSAgcHRlcF9zZXRf YWNjZXNzX2ZsYWdzKF9fdm1hLCBfX2FkZHJlc3MsIF9fcHRlcCwgX19lbnRy eSwgX19kaXJ0eSkgXA0KLQlkbyB7CQkJCQkJCQkgICBcDQorKHsJCQkJCQkJ CQkgICBcDQorCWludCBfX3VwZGF0ZSA9ICFwdGVfc2FtZSgqKF9fcHRlcCks IF9fZW50cnkpOwkJCSAgIFwNCisJCQkJCQkJCQkgICBcDQorCWlmIChfX3Vw ZGF0ZSkgewkJCQkJCQkgICBcDQogCQlfX3B0ZXBfc2V0X2FjY2Vzc19mbGFn cyhfX3B0ZXAsIF9fZW50cnksIF9fZGlydHkpOwkgICBcDQotCQlmbHVzaF90 bGJfcGFnZV9ub2hhc2goX192bWEsIF9fYWRkcmVzcyk7CSAgICAgICAJICAg XA0KLQl9IHdoaWxlKDApDQorCQlmbHVzaF90bGJfcGFnZV9ub2hhc2goX192 bWEsIF9fYWRkcmVzcyk7CQkgICBcDQorCX0gZWxzZSBpZiAoX19kaXJ0eSkJ CQkJCQkgICBcDQorCQlmbHVzaF90bGJfcGFnZShfX3ZtYSwgX19hZGRyZXNz KTsJCQkgICBcDQorCV9fdXBkYXRlOwkJCQkJCQkgICBcDQorfSkNCiANCiAv Kg0KICAqIE1hY3JvIHRvIG1hcmsgYSBwYWdlIHByb3RlY3Rpb24gdmFsdWUg YXMgInVuY2FjaGVhYmxlIi4NCmRpZmYgLXJ1TnBkIGxpbnV4LTIuNi4yMC45 L2luY2x1ZGUvYXNtLXBwYy9wZ3RhYmxlLmggbGludXgtdGVzdC9pbmNsdWRl L2FzbS1wcGMvcGd0YWJsZS5oDQotLS0gbGludXgtMi42LjIwLjkvaW5jbHVk ZS9hc20tcHBjL3BndGFibGUuaAkyMDA3LTA0LTMwIDE5OjA1OjAwLjAwMDAw MDAwMCArMDEwMA0KKysrIGxpbnV4LXRlc3QvaW5jbHVkZS9hc20tcHBjL3Bn dGFibGUuaAkyMDA3LTA1LTAxIDIzOjE1OjI5LjAwMDAwMDAwMCArMDEwMA0K QEAgLTY5NCwxMCArNjk0LDE2IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBfX3B0 ZXBfc2V0X2FjY2Vzc19mbGENCiB9DQogDQogI2RlZmluZSAgcHRlcF9zZXRf YWNjZXNzX2ZsYWdzKF9fdm1hLCBfX2FkZHJlc3MsIF9fcHRlcCwgX19lbnRy eSwgX19kaXJ0eSkgXA0KLQlkbyB7CQkJCQkJCQkgICBcDQorKHsJCQkJCQkJ CQkgICBcDQorCWludCBfX3VwZGF0ZSA9ICFwdGVfc2FtZSgqKF9fcHRlcCks IF9fZW50cnkpOwkJCSAgIFwNCisJCQkJCQkJCQkgICBcDQorCWlmIChfX3Vw ZGF0ZSkgewkJCQkJCQkgICBcDQogCQlfX3B0ZXBfc2V0X2FjY2Vzc19mbGFn cyhfX3B0ZXAsIF9fZW50cnksIF9fZGlydHkpOwkgICBcDQotCQlmbHVzaF90 bGJfcGFnZV9ub2hhc2goX192bWEsIF9fYWRkcmVzcyk7CSAgICAgICAJICAg XA0KLQl9IHdoaWxlKDApDQorCQlmbHVzaF90bGJfcGFnZV9ub2hhc2goX192 bWEsIF9fYWRkcmVzcyk7CQkgICBcDQorCX0gZWxzZSBpZiAoX19kaXJ0eSkJ CQkJCQkgICBcDQorCQlmbHVzaF90bGJfcGFnZShfX3ZtYSwgX19hZGRyZXNz KTsJCQkgICBcDQorCV9fdXBkYXRlOwkJCQkJCQkgICBcDQorfSkNCiANCiAv Kg0KICAqIE1hY3JvIHRvIG1hcmsgYSBwYWdlIHByb3RlY3Rpb24gdmFsdWUg YXMgInVuY2FjaGVhYmxlIi4NCmRpZmYgLXJ1TnBkIGxpbnV4LTIuNi4yMC45 L2luY2x1ZGUvYXNtLXMzOTAvcGd0YWJsZS5oIGxpbnV4LXRlc3QvaW5jbHVk ZS9hc20tczM5MC9wZ3RhYmxlLmgNCi0tLSBsaW51eC0yLjYuMjAuOS9pbmNs dWRlL2FzbS1zMzkwL3BndGFibGUuaAkyMDA3LTA1LTAxIDEyOjU3OjU2LjAw MDAwMDAwMCArMDEwMA0KKysrIGxpbnV4LXRlc3QvaW5jbHVkZS9hc20tczM5 MC9wZ3RhYmxlLmgJMjAwNy0wNS0wMSAyMzoxOTo1OC4wMDAwMDAwMDAgKzAx MDANCkBAIC02MjgsOCArNjI4LDE2IEBAIHB0ZXBfZXN0YWJsaXNoKHN0cnVj dCB2bV9hcmVhX3N0cnVjdCAqdm0NCiAJc2V0X3B0ZShwdGVwLCBlbnRyeSk7 DQogfQ0KIA0KLSNkZWZpbmUgcHRlcF9zZXRfYWNjZXNzX2ZsYWdzKF9fdm1h LCBfX2FkZHJlc3MsIF9fcHRlcCwgX19lbnRyeSwgX19kaXJ0eSkgXA0KLQlw dGVwX2VzdGFibGlzaChfX3ZtYSwgX19hZGRyZXNzLCBfX3B0ZXAsIF9fZW50 cnkpDQorI2RlZmluZSBwdGVwX3NldF9hY2Nlc3NfZmxhZ3MoX192bWEsIF9f YWRkcmVzcywgX19wdGVwLCBfX2VudHJ5LCBfX2RpcnR5KSAgXA0KKwkoewkJ CQkJCQkJICAgXA0KKwkJaW50IF9fdXBkYXRlID0gIXB0ZV9zYW1lKCooX19w dGVwKSwgX19lbnRyeSk7CQkgICBcDQorCQkJCQkJCQkJICAgXA0KKwkJaWYg KF9fdXBkYXRlKQkJCQkJCSAgIFwNCisJCQlwdGVwX2VzdGFibGlzaChfX3Zt YSwgX19hZGRyZXNzLCBfX3B0ZXAsIF9fZW50cnkpOyBcDQorCQllbHNlIGlm IChfX2RpcnR5KQkJCQkJICAgXA0KKwkJCWZsdXNoX3RsYl9wYWdlKF9fdm1h LCBfX2FkZHJlc3MpOwkJICAgXA0KKwkJX191cGRhdGU7CQkJCQkJICAgXA0K Kwl9KQ0KIA0KIC8qDQogICogVGVzdCBhbmQgY2xlYXIgZGlydHkgYml0IGlu IHN0b3JhZ2Uga2V5Lg0KZGlmZiAtcnVOcGQgbGludXgtMi42LjIwLjkvaW5j bHVkZS9hc20tc3BhcmMvcGd0YWJsZS5oIGxpbnV4LXRlc3QvaW5jbHVkZS9h c20tc3BhcmMvcGd0YWJsZS5oDQotLS0gbGludXgtMi42LjIwLjkvaW5jbHVk ZS9hc20tc3BhcmMvcGd0YWJsZS5oCTIwMDctMDQtMzAgMTk6MDU6MDEuMDAw MDAwMDAwICswMTAwDQorKysgbGludXgtdGVzdC9pbmNsdWRlL2FzbS1zcGFy Yy9wZ3RhYmxlLmgJMjAwNy0wNS0wMSAyMzoxMDo0OS4wMDAwMDAwMDAgKzAx MDANCkBAIC00NDYsNiArNDQ2LDI3IEBAIGV4dGVybiBpbnQgaW9fcmVtYXBf cGZuX3JhbmdlKHN0cnVjdCB2bV8NCiAjZGVmaW5lIEdFVF9JT1NQQUNFKHBm bikJCShwZm4gPj4gKEJJVFNfUEVSX0xPTkcgLSA0KSkNCiAjZGVmaW5lIEdF VF9QRk4ocGZuKQkJCShwZm4gJiAweDBmZmZmZmZmVUwpDQogDQorI2RlZmlu ZSBfX0hBVkVfQVJDSF9QVEVQX1NFVF9BQ0NFU1NfRkxBR1MNCisjZGVmaW5l IHB0ZXBfc2V0X2FjY2Vzc19mbGFncyhfX3ZtYSwgX19hZGRyZXNzLCBfX3B0 ZXAsIF9fZW50cnksIF9fZGlydHkpIFwNCisoewkJCQkJCQkJCQkgICAgXA0K KwlpbnQgX191cGRhdGU7CQkJCQkJCQkgICAgXA0KKwkJCQkJCQkJCQkgICAg XA0KKwlpZiAoc3BhcmNfY3B1X21vZGVsID09IHN1bjRjKSB7CQkJCQkJICAg IFwNCisJCXNldF9wdGVfYXQoKF9fdm1hKS0+dm1fbW0sIChfX2FkZHJlc3Mp LCBfX3B0ZXAsIF9fZW50cnkpOwkgICAgXA0KKwkJZmx1c2hfdGxiX3BhZ2Uo X192bWEsIF9fYWRkcmVzcyk7CQkJCSAgICBcDQorCQlfX3VwZGF0ZSA9IDE7 CQkJCQkJCSAgICBcDQorCX0gZWxzZSB7CQkJCQkJCQkgICAgXA0KKwkJX191 cGRhdGUgPSAhcHRlX3NhbWUoKihfX3B0ZXApLCBfX2VudHJ5KTsJCQkgICAg XA0KKwkJaWYgKF9fdXBkYXRlKSB7CQkJICAJCQkJICAgIFwNCisJCQlzZXRf cHRlX2F0KChfX3ZtYSktPnZtX21tLCAoX19hZGRyZXNzKSwgX19wdGVwLCBf X2VudHJ5KTsgICBcDQorCQkJZmx1c2hfdGxiX3BhZ2UoX192bWEsIF9fYWRk cmVzcyk7CQkJICAgIFwNCisJCX0gZWxzZSBpZiAoX19kaXJ0eSkgewkJCQkJ CSAgICBcDQorCQkJZmx1c2hfdGxiX3BhZ2UoX192bWEsIF9fYWRkcmVzcyk7 CQkJICAgIFwNCisJCX0JCQkJCQkJCSAgICBcDQorCX0JCQkJCQkJCQkgICAg XA0KKwlfX3VwZGF0ZTsJCQkJCQkJCSAgICBcDQorfSkNCisNCiAjaW5jbHVk ZSA8YXNtLWdlbmVyaWMvcGd0YWJsZS5oPg0KIA0KICNlbmRpZiAvKiAhKF9f QVNTRU1CTFlfXykgKi8NCmRpZmYgLXJ1TnBkIGxpbnV4LTIuNi4yMC45L2lu Y2x1ZGUvYXNtLXg4Nl82NC9wZ3RhYmxlLmggbGludXgtdGVzdC9pbmNsdWRl L2FzbS14ODZfNjQvcGd0YWJsZS5oDQotLS0gbGludXgtMi42LjIwLjkvaW5j bHVkZS9hc20teDg2XzY0L3BndGFibGUuaAkyMDA3LTA1LTAxIDEyOjU3OjU3 LjAwMDAwMDAwMCArMDEwMA0KKysrIGxpbnV4LXRlc3QvaW5jbHVkZS9hc20t eDg2XzY0L3BndGFibGUuaAkyMDA3LTA1LTAxIDIzOjEzOjUzLjAwMDAwMDAw MCArMDEwMA0KQEAgLTM5NywxMiArMzk3LDE2IEBAIHN0YXRpYyBpbmxpbmUg cHRlX3QgcHRlX21vZGlmeShwdGVfdCBwdGUNCiAgKiBiaXQgYXQgdGhlIHNh bWUgdGltZS4gKi8NCiAjZGVmaW5lICBfX0hBVkVfQVJDSF9QVEVQX1NFVF9B Q0NFU1NfRkxBR1MNCiAjZGVmaW5lIHB0ZXBfc2V0X2FjY2Vzc19mbGFncyhf X3ZtYSwgX19hZGRyZXNzLCBfX3B0ZXAsIF9fZW50cnksIF9fZGlydHkpIFwN Ci0JZG8gewkJCQkJCQkJICBcDQorCSh7CQkJCQkJCQkgIFwNCisJCWludCBf X3VwZGF0ZSA9ICFwdGVfc2FtZSgqKF9fcHRlcCksIF9fZW50cnkpOwkJICBc DQorCQkJCQkJCQkJICBcDQogCQlpZiAoX19kaXJ0eSkgewkJCQkJCSAgXA0K LQkJCXNldF9wdGUoX19wdGVwLCBfX2VudHJ5KTsJCQkgIFwNCisJCQlpZiAo X191cGRhdGUpCQkJCQkgIFwNCisJCQkJc2V0X3B0ZShfX3B0ZXAsIF9fZW50 cnkpOwkJICBcDQogCQkJZmx1c2hfdGxiX3BhZ2UoX192bWEsIF9fYWRkcmVz cyk7CQkgIFwNCiAJCX0JCQkJCQkJICBcDQotCX0gd2hpbGUgKDApDQorCQlf X3VwZGF0ZTsJCQkJCQkgIFwNCisJfSkNCiANCiAvKiBFbmNvZGUgYW5kIGRl LWNvZGUgYSBzd2FwIGVudHJ5ICovDQogI2RlZmluZSBfX3N3cF90eXBlKHgp CQkJKCgoeCkudmFsID4+IDEpICYgMHgzZikNCmRpZmYgLXJ1TnBkIGxpbnV4 LTIuNi4yMC45L21tL2h1Z2V0bGIuYyBsaW51eC10ZXN0L21tL2h1Z2V0bGIu Yw0KLS0tIGxpbnV4LTIuNi4yMC45L21tL2h1Z2V0bGIuYwkyMDA3LTA1LTAx IDEzOjAxOjEwLjAwMDAwMDAwMCArMDEwMA0KKysrIGxpbnV4LXRlc3QvbW0v aHVnZXRsYi5jCTIwMDctMDUtMDEgMjM6MDI6MDguMDAwMDAwMDAwICswMTAw DQpAQCAtMzEzLDkgKzMxMywxMCBAQCBzdGF0aWMgdm9pZCBzZXRfaHVnZV9w dGVwX3dyaXRhYmxlKHN0cnVjDQogCXB0ZV90IGVudHJ5Ow0KIA0KIAllbnRy eSA9IHB0ZV9ta3dyaXRlKHB0ZV9ta2RpcnR5KCpwdGVwKSk7DQotCXB0ZXBf c2V0X2FjY2Vzc19mbGFncyh2bWEsIGFkZHJlc3MsIHB0ZXAsIGVudHJ5LCAx KTsNCi0JdXBkYXRlX21tdV9jYWNoZSh2bWEsIGFkZHJlc3MsIGVudHJ5KTsN Ci0JbGF6eV9tbXVfcHJvdF91cGRhdGUoZW50cnkpOw0KKwlpZiAocHRlcF9z ZXRfYWNjZXNzX2ZsYWdzKHZtYSwgYWRkcmVzcywgcHRlcCwgZW50cnksIDEp KSB7DQorCQl1cGRhdGVfbW11X2NhY2hlKHZtYSwgYWRkcmVzcywgZW50cnkp Ow0KKwkJbGF6eV9tbXVfcHJvdF91cGRhdGUoZW50cnkpOw0KKwl9DQogfQ0K IA0KIA0KZGlmZiAtcnVOcGQgbGludXgtMi42LjIwLjkvbW0vbWVtb3J5LmMg bGludXgtdGVzdC9tbS9tZW1vcnkuYw0KLS0tIGxpbnV4LTIuNi4yMC45L21t L21lbW9yeS5jCTIwMDctMDUtMDEgMTI6NTc6NTcuMDAwMDAwMDAwICswMTAw DQorKysgbGludXgtdGVzdC9tbS9tZW1vcnkuYwkyMDA3LTA1LTAxIDIzOjA2 OjIxLjAwMDAwMDAwMCArMDEwMA0KQEAgLTE1NTMsOSArMTU1MywxMSBAQCBz dGF0aWMgaW50IGRvX3dwX3BhZ2Uoc3RydWN0IG1tX3N0cnVjdCAqDQogCQlm bHVzaF9jYWNoZV9wYWdlKHZtYSwgYWRkcmVzcywgcHRlX3BmbihvcmlnX3B0 ZSkpOw0KIAkJZW50cnkgPSBwdGVfbWt5b3VuZyhvcmlnX3B0ZSk7DQogCQll bnRyeSA9IG1heWJlX21rd3JpdGUocHRlX21rZGlydHkoZW50cnkpLCB2bWEp Ow0KLQkJcHRlcF9zZXRfYWNjZXNzX2ZsYWdzKHZtYSwgYWRkcmVzcywgcGFn ZV90YWJsZSwgZW50cnksIDEpOw0KLQkJdXBkYXRlX21tdV9jYWNoZSh2bWEs IGFkZHJlc3MsIGVudHJ5KTsNCi0JCWxhenlfbW11X3Byb3RfdXBkYXRlKGVu dHJ5KTsNCisJCWlmIChwdGVwX3NldF9hY2Nlc3NfZmxhZ3Modm1hLCBhZGRy ZXNzLA0KKwkJCQkJICBwYWdlX3RhYmxlLCBlbnRyeSwgMSkpIHsNCisJCQl1 cGRhdGVfbW11X2NhY2hlKHZtYSwgYWRkcmVzcywgZW50cnkpOw0KKwkJCWxh enlfbW11X3Byb3RfdXBkYXRlKGVudHJ5KTsNCisJCX0NCiAJCXJldCB8PSBW TV9GQVVMVF9XUklURTsNCiAJCWdvdG8gdW5sb2NrOw0KIAl9DQpAQCAtMjM4 NywxMCArMjM4OSw5IEBAIHN0YXRpYyBpbmxpbmUgaW50IGhhbmRsZV9wdGVf ZmF1bHQoc3RydWMNCiAJCXB0ZV90ICpwdGUsIHBtZF90ICpwbWQsIGludCB3 cml0ZV9hY2Nlc3MpDQogew0KIAlwdGVfdCBlbnRyeTsNCi0JcHRlX3Qgb2xk X2VudHJ5Ow0KIAlzcGlubG9ja190ICpwdGw7DQogDQotCW9sZF9lbnRyeSA9 IGVudHJ5ID0gKnB0ZTsNCisJZW50cnkgPSAqcHRlOw0KIAlpZiAoIXB0ZV9w cmVzZW50KGVudHJ5KSkgew0KIAkJaWYgKHB0ZV9ub25lKGVudHJ5KSkgew0K IAkJCWlmICh2bWEtPnZtX29wcykgew0KQEAgLTI0MjMsMTkgKzI0MjQsOSBA QCBzdGF0aWMgaW5saW5lIGludCBoYW5kbGVfcHRlX2ZhdWx0KHN0cnVjDQog CQllbnRyeSA9IHB0ZV9ta2RpcnR5KGVudHJ5KTsNCiAJfQ0KIAllbnRyeSA9 IHB0ZV9ta3lvdW5nKGVudHJ5KTsNCi0JaWYgKCFwdGVfc2FtZShvbGRfZW50 cnksIGVudHJ5KSkgew0KLQkJcHRlcF9zZXRfYWNjZXNzX2ZsYWdzKHZtYSwg YWRkcmVzcywgcHRlLCBlbnRyeSwgd3JpdGVfYWNjZXNzKTsNCisJaWYgKHB0 ZXBfc2V0X2FjY2Vzc19mbGFncyh2bWEsIGFkZHJlc3MsIHB0ZSwgZW50cnks IHdyaXRlX2FjY2VzcykpIHsNCiAJCXVwZGF0ZV9tbXVfY2FjaGUodm1hLCBh ZGRyZXNzLCBlbnRyeSk7DQogCQlsYXp5X21tdV9wcm90X3VwZGF0ZShlbnRy eSk7DQotCX0gZWxzZSB7DQotCQkvKg0KLQkJICogVGhpcyBpcyBuZWVkZWQg b25seSBmb3IgcHJvdGVjdGlvbiBmYXVsdHMgYnV0IHRoZSBhcmNoIGNvZGUN Ci0JCSAqIGlzIG5vdCB5ZXQgdGVsbGluZyB1cyBpZiB0aGlzIGlzIGEgcHJv dGVjdGlvbiBmYXVsdCBvciBub3QuDQotCQkgKiBUaGlzIHN0aWxsIGF2b2lk cyB1c2VsZXNzIHRsYiBmbHVzaGVzIGZvciAudGV4dCBwYWdlIGZhdWx0cw0K LQkJICogd2l0aCB0aHJlYWRzLg0KLQkJICovDQotCQlpZiAod3JpdGVfYWNj ZXNzKQ0KLQkJCWZsdXNoX3RsYl9wYWdlKHZtYSwgYWRkcmVzcyk7DQogCX0N CiB1bmxvY2s6DQogCXB0ZV91bm1hcF91bmxvY2socHRlLCBwdGwpOw0K --1750305931-1115632949-1178060911=:12808-- -- 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