From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from zps78.corp.google.com (zps78.corp.google.com [172.25.146.78]) by smtp-out.google.com with ESMTP id lAUGZ9pR005117 for ; Fri, 30 Nov 2007 16:35:09 GMT Received: from nf-out-0910.google.com (nfbb2.prod.google.com [10.48.28.2]) by zps78.corp.google.com with ESMTP id lAUGYnFh004263 for ; Fri, 30 Nov 2007 08:35:08 -0800 Received: by nf-out-0910.google.com with SMTP id b2so2287671nfb for ; Fri, 30 Nov 2007 08:35:07 -0800 (PST) Message-ID: Date: Fri, 30 Nov 2007 11:35:06 -0500 From: "Ross Biro" Subject: Re: RFC/POC Make Page Tables Relocatable Part 1 Create Conditional Flush MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_1999_5564456.1196440507023" Sender: owner-linux-mm@kvack.org Return-Path: To: Mel Gorman Cc: Dave Hansen , linux-mm@kvack.org, Mel Gorman List-ID: ------=_Part_1999_5564456.1196440507023 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Here's the latest version of my changes to make page tables relocatable. Currently they work, but they have not been adequately tested. They are also incomplete because top level page tables cannot be relocated because they cannot be forced to reload across all cpus. lmbench shows the overhead of rewalking the page tables is less than that of spinlock debugging. I'll do real bench marks once everything is complete. I wanted to send this out now since I'll be on vacation and I wanted people to have a chance to look at them sooner rather than later. Ross ------=_Part_1999_5564456.1196440507023 Content-Type: application/octet-stream; name=maybeflush.patch Content-Transfer-Encoding: base64 X-Attachment-Id: f_f9mxmt3a0 Content-Disposition: attachment; filename=maybeflush.patch ZGlmZiAtdXJ3TmJCIDIuNi4yMy9hcmNoL2FscGhhL2tlcm5lbC9zbXAuYyAyLjYuMjNhL2FyY2gv YWxwaGEva2VybmVsL3NtcC5jCi0tLSAyLjYuMjMvYXJjaC9hbHBoYS9rZXJuZWwvc21wLmMJMjAw Ny0xMC0wOSAxMzozMTozOC4wMDAwMDAwMDAgLTA3MDAKKysrIDIuNi4yM2EvYXJjaC9hbHBoYS9r ZXJuZWwvc21wLmMJMjAwNy0xMC0yOSAxMzo1MDowNi4wMDAwMDAwMDAgLTA3MDAKQEAgLTg1MCw2 ICs4NTAsOCBAQAogewogCXByZWVtcHRfZGlzYWJsZSgpOwogCisJY2xlYXJfYml0KE1NRl9OTkVE X0ZMVVNILCBtbS0+ZmxhZ3MpOworCiAJaWYgKG1tID09IGN1cnJlbnQtPmFjdGl2ZV9tbSkgewog CQlmbHVzaF90bGJfY3VycmVudChtbSk7CiAJCWlmIChhdG9taWNfcmVhZCgmbW0tPm1tX3VzZXJz KSA8PSAxKSB7CmRpZmYgLXVyd05iQiAyLjYuMjMvYXJjaC9hcm0va2VybmVsL3NtcC5jIDIuNi4y M2EvYXJjaC9hcm0va2VybmVsL3NtcC5jCi0tLSAyLjYuMjMvYXJjaC9hcm0va2VybmVsL3NtcC5j CTIwMDctMTAtMDkgMTM6MzE6MzguMDAwMDAwMDAwIC0wNzAwCisrKyAyLjYuMjNhL2FyY2gvYXJt L2tlcm5lbC9zbXAuYwkyMDA3LTEwLTI5IDEzOjUwOjIxLjAwMDAwMDAwMCAtMDcwMApAQCAtNzEz LDYgKzcxMyw4IEBACiB7CiAJY3B1bWFza190IG1hc2sgPSBtbS0+Y3B1X3ZtX21hc2s7CiAKKwlj bGVhcl9iaXQoTU1GX05ORURfRkxVU0gsIG1tLT5mbGFncyk7CisKIAlvbl9lYWNoX2NwdV9tYXNr KGlwaV9mbHVzaF90bGJfbW0sIG1tLCAxLCAxLCBtYXNrKTsKIH0KIApkaWZmIC11cndOYkIgMi42 LjIzL2FyY2gvYXZyMzIvbW0vdGxiLmMgMi42LjIzYS9hcmNoL2F2cjMyL21tL3RsYi5jCi0tLSAy LjYuMjMvYXJjaC9hdnIzMi9tbS90bGIuYwkyMDA3LTEwLTA5IDEzOjMxOjM4LjAwMDAwMDAwMCAt MDcwMAorKysgMi42LjIzYS9hcmNoL2F2cjMyL21tL3RsYi5jCTIwMDctMTAtMjkgMTM6NTA6Mzku MDAwMDAwMDAwIC0wNzAwCkBAIC0yNDksNiArMjQ5LDggQEAKIAogdm9pZCBmbHVzaF90bGJfbW0o c3RydWN0IG1tX3N0cnVjdCAqbW0pCiB7CisJY2xlYXJfYml0KE1NRl9OTkVEX0ZMVVNILCBtbS0+ ZmxhZ3MpOworCiAJLyogSW52YWxpZGF0ZSBhbGwgVExCIGVudHJpZXMgb2YgdGhpcyBwcm9jZXNz IGJ5IGdldHRpbmcgYSBuZXcgQVNJRCAqLwogCWlmIChtbS0+Y29udGV4dCAhPSBOT19DT05URVhU KSB7CiAJCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CmRpZmYgLXVyd05iQiAyLjYuMjMvYXJjaC9jcmlz L2FyY2gtdjEwL21tL3RsYi5jIDIuNi4yM2EvYXJjaC9jcmlzL2FyY2gtdjEwL21tL3RsYi5jCi0t LSAyLjYuMjMvYXJjaC9jcmlzL2FyY2gtdjEwL21tL3RsYi5jCTIwMDctMTAtMDkgMTM6MzE6Mzgu MDAwMDAwMDAwIC0wNzAwCisrKyAyLjYuMjNhL2FyY2gvY3Jpcy9hcmNoLXYxMC9tbS90bGIuYwky MDA3LTEwLTI5IDEzOjUwOjU1LjAwMDAwMDAwMCAtMDcwMApAQCAtNjksNiArNjksOCBAQAogCiAJ RChwcmludGsoInRsYjogZmx1c2ggbW0gY29udGV4dCAlZCAoJXApXG4iLCBwYWdlX2lkLCBtbSkp OwogCisJY2xlYXJfYml0KE1NRl9OTkVEX0ZMVVNILCBtbS0+ZmxhZ3MpOworCiAJaWYocGFnZV9p ZCA9PSBOT19DT05URVhUKQogCQlyZXR1cm47CiAJCmRpZmYgLXVyd05iQiAyLjYuMjMvYXJjaC9j cmlzL2FyY2gtdjMyL2tlcm5lbC9zbXAuYyAyLjYuMjNhL2FyY2gvY3Jpcy9hcmNoLXYzMi9rZXJu ZWwvc21wLmMKLS0tIDIuNi4yMy9hcmNoL2NyaXMvYXJjaC12MzIva2VybmVsL3NtcC5jCTIwMDct MTAtMDkgMTM6MzE6MzguMDAwMDAwMDAwIC0wNzAwCisrKyAyLjYuMjNhL2FyY2gvY3Jpcy9hcmNo LXYzMi9rZXJuZWwvc21wLmMJMjAwNy0xMC0yOSAxMzo1MTowNi4wMDAwMDAwMDAgLTA3MDAKQEAg LTIzNyw2ICsyMzcsNyBAQAogCiB2b2lkIGZsdXNoX3RsYl9tbShzdHJ1Y3QgbW1fc3RydWN0ICpt bSkKIHsKKwljbGVhcl9iaXQoTU1GX05ORURfRkxVU0gsIG1tLT5mbGFncyk7CiAJX19mbHVzaF90 bGJfbW0obW0pOwogCWZsdXNoX3RsYl9jb21tb24obW0sIEZMVVNIX0FMTCwgMCk7CiAJLyogTm8g bW9yZSBtYXBwaW5ncyBpbiBvdGhlciBDUFVzICovCmRpZmYgLXVyd05iQiAyLjYuMjMvYXJjaC9p Mzg2L2tlcm5lbC9zbXAuYyAyLjYuMjNhL2FyY2gvaTM4Ni9rZXJuZWwvc21wLmMKLS0tIDIuNi4y My9hcmNoL2kzODYva2VybmVsL3NtcC5jCTIwMDctMTAtMDkgMTM6MzE6MzguMDAwMDAwMDAwIC0w NzAwCisrKyAyLjYuMjNhL2FyY2gvaTM4Ni9rZXJuZWwvc21wLmMJMjAwNy0xMC0yOSAxMzo1MTo0 Ny4wMDAwMDAwMDAgLTA3MDAKQEAgLTQxMCw2ICs0MTAsOCBAQAogewogCWNwdW1hc2tfdCBjcHVf bWFzazsKIAorCWNsZWFyX2JpdChNTUZfTk5FRF9GTFVTSCwgbW0tPmZsYWdzKTsKKwogCXByZWVt cHRfZGlzYWJsZSgpOwogCWNwdV9tYXNrID0gbW0tPmNwdV92bV9tYXNrOwogCWNwdV9jbGVhcihz bXBfcHJvY2Vzc29yX2lkKCksIGNwdV9tYXNrKTsKZGlmZiAtdXJ3TmJCIDIuNi4yMy9hcmNoL2kz ODYvbWFjaC12b3lhZ2VyL3ZveWFnZXJfc21wLmMgMi42LjIzYS9hcmNoL2kzODYvbWFjaC12b3lh Z2VyL3ZveWFnZXJfc21wLmMKLS0tIDIuNi4yMy9hcmNoL2kzODYvbWFjaC12b3lhZ2VyL3ZveWFn ZXJfc21wLmMJMjAwNy0xMC0wOSAxMzozMTozOC4wMDAwMDAwMDAgLTA3MDAKKysrIDIuNi4yM2Ev YXJjaC9pMzg2L21hY2gtdm95YWdlci92b3lhZ2VyX3NtcC5jCTIwMDctMTAtMjkgMTM6NTE6NTUu MDAwMDAwMDAwIC0wNzAwCkBAIC05MjQsNiArOTI0LDggQEAKIHsKIAl1bnNpZ25lZCBsb25nIGNw dV9tYXNrOwogCisJY2xlYXJfYml0KE1NRl9OTkVEX0ZMVVNILCBtbS0+ZmxhZ3MpOworCiAJcHJl ZW1wdF9kaXNhYmxlKCk7CiAKIAljcHVfbWFzayA9IGNwdXNfYWRkcihtbS0+Y3B1X3ZtX21hc2sp WzBdICYgfigxIDw8IHNtcF9wcm9jZXNzb3JfaWQoKSk7CmRpZmYgLXVyd05iQiAyLjYuMjMvYXJj aC9pYTY0L2tlcm5lbC9zbXAuYyAyLjYuMjNhL2FyY2gvaWE2NC9rZXJuZWwvc21wLmMKLS0tIDIu Ni4yMy9hcmNoL2lhNjQva2VybmVsL3NtcC5jCTIwMDctMTAtMDkgMTM6MzE6MzguMDAwMDAwMDAw IC0wNzAwCisrKyAyLjYuMjNhL2FyY2gvaWE2NC9rZXJuZWwvc21wLmMJMjAwNy0xMC0yOSAxMzo1 MjowMy4wMDAwMDAwMDAgLTA3MDAKQEAgLTMyNSw2ICszMjUsOCBAQAogdm9pZAogc21wX2ZsdXNo X3RsYl9tbSAoc3RydWN0IG1tX3N0cnVjdCAqbW0pCiB7CisJY2xlYXJfYml0KE1NRl9OTkVEX0ZM VVNILCBtbS0+ZmxhZ3MpOworCiAJcHJlZW1wdF9kaXNhYmxlKCk7CiAJLyogdGhpcyBoYXBwZW5z IGZvciB0aGUgY29tbW9uIGNhc2Ugb2YgYSBzaW5nbGUtdGhyZWFkZWQgZm9yaygpOiAgKi8KIAlp ZiAobGlrZWx5KG1tID09IGN1cnJlbnQtPmFjdGl2ZV9tbSAmJiBhdG9taWNfcmVhZCgmbW0tPm1t X3VzZXJzKSA9PSAxKSkKZGlmZiAtdXJ3TmJCIDIuNi4yMy9hcmNoL20zMnIva2VybmVsL3NtcC5j IDIuNi4yM2EvYXJjaC9tMzJyL2tlcm5lbC9zbXAuYwotLS0gMi42LjIzL2FyY2gvbTMyci9rZXJu ZWwvc21wLmMJMjAwNy0xMC0wOSAxMzozMTozOC4wMDAwMDAwMDAgLTA3MDAKKysrIDIuNi4yM2Ev YXJjaC9tMzJyL2tlcm5lbC9zbXAuYwkyMDA3LTEwLTI5IDEzOjUyOjQ5LjAwMDAwMDAwMCAtMDcw MApAQCAtMjgwLDYgKzI4MCw4IEBACiAJdW5zaWduZWQgbG9uZyAqbW1jOwogCXVuc2lnbmVkIGxv bmcgZmxhZ3M7CiAKKwljbGVhcl9iaXQoTU1GX05ORURfRkxVU0gsIG1tLT5mbGFncyk7CisKIAlw cmVlbXB0X2Rpc2FibGUoKTsKIAljcHVfaWQgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CiAJbW1jID0g Jm1tLT5jb250ZXh0W2NwdV9pZF07CmRpZmYgLXVyd05iQiAyLjYuMjMvYXJjaC9taXBzL2tlcm5l bC9zbXAuYyAyLjYuMjNhL2FyY2gvbWlwcy9rZXJuZWwvc21wLmMKLS0tIDIuNi4yMy9hcmNoL21p cHMva2VybmVsL3NtcC5jCTIwMDctMTAtMDkgMTM6MzE6MzguMDAwMDAwMDAwIC0wNzAwCisrKyAy LjYuMjNhL2FyY2gvbWlwcy9rZXJuZWwvc21wLmMJMjAwNy0xMC0yOSAxMzo1MzoyMS4wMDAwMDAw MDAgLTA3MDAKQEAgLTM4Nyw2ICszODcsOCBAQAogCiB2b2lkIGZsdXNoX3RsYl9tbShzdHJ1Y3Qg bW1fc3RydWN0ICptbSkKIHsKKwljbGVhcl9iaXQoTU1GX05ORURfRkxVU0gsIG1tLT5mbGFncyk7 CisKIAlwcmVlbXB0X2Rpc2FibGUoKTsKIAogCWlmICgoYXRvbWljX3JlYWQoJm1tLT5tbV91c2Vy cykgIT0gMSkgfHwgKGN1cnJlbnQtPm1tICE9IG1tKSkgewpkaWZmIC11cndOYkIgMi42LjIzL2Fy Y2gvcG93ZXJwYy9tbS90bGJfMzIuYyAyLjYuMjNhL2FyY2gvcG93ZXJwYy9tbS90bGJfMzIuYwot LS0gMi42LjIzL2FyY2gvcG93ZXJwYy9tbS90bGJfMzIuYwkyMDA3LTEwLTA5IDEzOjMxOjM4LjAw MDAwMDAwMCAtMDcwMAorKysgMi42LjIzYS9hcmNoL3Bvd2VycGMvbW0vdGxiXzMyLmMJMjAwNy0x MC0yOSAxMzo1NDowNi4wMDAwMDAwMDAgLTA3MDAKQEAgLTE0NCw2ICsxNDQsOCBAQAogewogCXN0 cnVjdCB2bV9hcmVhX3N0cnVjdCAqbXA7CiAKKwljbGVhcl9iaXQoTU1GX05ORURfRkxVU0gsIG1t LT5mbGFncyk7CisKIAlpZiAoSGFzaCA9PSAwKSB7CiAJCV90bGJpYSgpOwogCQlyZXR1cm47CmRp ZmYgLXVyd05iQiAyLjYuMjMvYXJjaC9wcGMvbW0vdGxiLmMgMi42LjIzYS9hcmNoL3BwYy9tbS90 bGIuYwotLS0gMi42LjIzL2FyY2gvcHBjL21tL3RsYi5jCTIwMDctMTAtMDkgMTM6MzE6MzguMDAw MDAwMDAwIC0wNzAwCisrKyAyLjYuMjNhL2FyY2gvcHBjL21tL3RsYi5jCTIwMDctMTAtMjkgMTM6 NTQ6MjEuMDAwMDAwMDAwIC0wNzAwCkBAIC0xNDQsNiArMTQ0LDggQEAKIHsKIAlzdHJ1Y3Qgdm1f YXJlYV9zdHJ1Y3QgKm1wOwogCisJY2xlYXJfYml0KE1NRl9OTkVEX0ZMVVNILCBtbS0+ZmxhZ3Mp OworCiAJaWYgKEhhc2ggPT0gMCkgewogCQlfdGxiaWEoKTsKIAkJcmV0dXJuOwpkaWZmIC11cndO YkIgMi42LjIzL2FyY2gvc2g2NC9tbS9mYXVsdC5jIDIuNi4yM2EvYXJjaC9zaDY0L21tL2ZhdWx0 LmMKLS0tIDIuNi4yMy9hcmNoL3NoNjQvbW0vZmF1bHQuYwkyMDA3LTEwLTA5IDEzOjMxOjM4LjAw MDAwMDAwMCAtMDcwMAorKysgMi42LjIzYS9hcmNoL3NoNjQvbW0vZmF1bHQuYwkyMDA3LTEwLTI5 IDEzOjU1OjAzLjAwMDAwMDAwMCAtMDcwMApAQCAtNTE3LDYgKzUxNyw4IEBACiAJKytjYWxsc190 b19mbHVzaF90bGJfbW07CiAjZW5kaWYKIAorCWNsZWFyX2JpdChNTUZfTk5FRF9GTFVTSCwgbW0t PmZsYWdzKTsKKwogCWlmIChtbS0+Y29udGV4dCA9PSBOT19DT05URVhUKQogCQlyZXR1cm47CiAK ZGlmZiAtdXJ3TmJCIDIuNi4yMy9hcmNoL3NwYXJjL2tlcm5lbC9zbXAuYyAyLjYuMjNhL2FyY2gv c3BhcmMva2VybmVsL3NtcC5jCi0tLSAyLjYuMjMvYXJjaC9zcGFyYy9rZXJuZWwvc21wLmMJMjAw Ny0xMC0wOSAxMzozMTozOC4wMDAwMDAwMDAgLTA3MDAKKysrIDIuNi4yM2EvYXJjaC9zcGFyYy9r ZXJuZWwvc21wLmMJMjAwNy0xMC0yOSAxMzo1NToyMi4wMDAwMDAwMDAgLTA3MDAKQEAgLTE2Myw2 ICsxNjMsOCBAQAogCiB2b2lkIHNtcF9mbHVzaF90bGJfbW0oc3RydWN0IG1tX3N0cnVjdCAqbW0p CiB7CisJY2xlYXJfYml0KE1NRl9OTkVEX0ZMVVNILCBtbS0+ZmxhZ3MpOworCiAJaWYobW0tPmNv bnRleHQgIT0gTk9fQ09OVEVYVCkgewogCQljcHVtYXNrX3QgY3B1X21hc2sgPSBtbS0+Y3B1X3Zt X21hc2s7CiAJCWNwdV9jbGVhcihzbXBfcHJvY2Vzc29yX2lkKCksIGNwdV9tYXNrKTsKZGlmZiAt dXJ3TmJCIDIuNi4yMy9hcmNoL3NwYXJjNjQva2VybmVsL3NtcC5jIDIuNi4yM2EvYXJjaC9zcGFy YzY0L2tlcm5lbC9zbXAuYwotLS0gMi42LjIzL2FyY2gvc3BhcmM2NC9rZXJuZWwvc21wLmMJMjAw Ny0xMC0wOSAxMzozMTozOC4wMDAwMDAwMDAgLTA3MDAKKysrIDIuNi4yM2EvYXJjaC9zcGFyYzY0 L2tlcm5lbC9zbXAuYwkyMDA3LTEwLTI5IDEzOjU2OjMyLjAwMDAwMDAwMCAtMDcwMApAQCAtMTEx Miw2ICsxMTEyLDggQEAKIAl1MzIgY3R4ID0gQ1RYX0hXQklUUyhtbS0+Y29udGV4dCk7CiAJaW50 IGNwdSA9IGdldF9jcHUoKTsKIAorCWNsZWFyX2JpdChNTUZfTk5FRF9GTFVTSCwgbW0tPmZsYWdz KTsKKwogCWlmIChhdG9taWNfcmVhZCgmbW0tPm1tX3VzZXJzKSA9PSAxKSB7CiAJCW1tLT5jcHVf dm1fbWFzayA9IGNwdW1hc2tfb2ZfY3B1KGNwdSk7CiAJCWdvdG8gbG9jYWxfZmx1c2hfYW5kX291 dDsKZGlmZiAtdXJ3TmJCIDIuNi4yMy9hcmNoL3VtL2tlcm5lbC90bGIuYyAyLjYuMjNhL2FyY2gv dW0va2VybmVsL3RsYi5jCi0tLSAyLjYuMjMvYXJjaC91bS9rZXJuZWwvdGxiLmMJMjAwNy0xMC0w OSAxMzozMTozOC4wMDAwMDAwMDAgLTA3MDAKKysrIDIuNi4yM2EvYXJjaC91bS9rZXJuZWwvdGxi LmMJMjAwNy0xMC0yOSAxMzo1NzowNS4wMDAwMDAwMDAgLTA3MDAKQEAgLTQwMiw2ICs0MDIsNyBA QAogCiB2b2lkIGZsdXNoX3RsYl9tbShzdHJ1Y3QgbW1fc3RydWN0ICptbSkKIHsKKwljbGVhcl9i aXQoTU1GX05ORURfRkxVU0gsIG1tLT5mbGFncyk7CiAJQ0hPT1NFX01PREVfUFJPQyhmbHVzaF90 bGJfbW1fdHQsIGZsdXNoX3RsYl9tbV9za2FzLCBtbSk7CiB9CiAKZGlmZiAtdXJ3TmJCIDIuNi4y My9hcmNoL3g4Nl82NC9rZXJuZWwvc21wLmMgMi42LjIzYS9hcmNoL3g4Nl82NC9rZXJuZWwvc21w LmMKLS0tIDIuNi4yMy9hcmNoL3g4Nl82NC9rZXJuZWwvc21wLmMJMjAwNy0xMC0wOSAxMzozMToz OC4wMDAwMDAwMDAgLTA3MDAKKysrIDIuNi4yM2EvYXJjaC94ODZfNjQva2VybmVsL3NtcC5jCTIw MDctMTAtMzAgMDY6Mjc6MjAuMDAwMDAwMDAwIC0wNzAwCkBAIC0yMjksNiArMjI5LDggQEAKIHsK IAljcHVtYXNrX3QgY3B1X21hc2s7CiAKKwljbGVhcl9iaXQoTU1GX05FRURfRkxVU0gsICZtbS0+ ZmxhZ3MpOworCiAJcHJlZW1wdF9kaXNhYmxlKCk7CiAJY3B1X21hc2sgPSBtbS0+Y3B1X3ZtX21h c2s7CiAJY3B1X2NsZWFyKHNtcF9wcm9jZXNzb3JfaWQoKSwgY3B1X21hc2spOwpkaWZmIC11cndO YkIgMi42LjIzL2FyY2gveHRlbnNhL21tL3RsYi5jIDIuNi4yM2EvYXJjaC94dGVuc2EvbW0vdGxi LmMKLS0tIDIuNi4yMy9hcmNoL3h0ZW5zYS9tbS90bGIuYwkyMDA3LTEwLTA5IDEzOjMxOjM4LjAw MDAwMDAwMCAtMDcwMAorKysgMi42LjIzYS9hcmNoL3h0ZW5zYS9tbS90bGIuYwkyMDA3LTEwLTI5 IDEzOjU3OjI2LjAwMDAwMDAwMCAtMDcwMApAQCAtNjMsNiArNjMsOCBAQAogCiB2b2lkIGZsdXNo X3RsYl9tbShzdHJ1Y3QgbW1fc3RydWN0ICptbSkKIHsKKwljbGVhcl9iaXQoTU1GX05ORURfRkxV U0gsIG1tLT5mbGFncyk7CisKIAlpZiAobW0gPT0gY3VycmVudC0+YWN0aXZlX21tKSB7CiAJCWlu dCBmbGFnczsKIAkJbG9jYWxfc2F2ZV9mbGFncyhmbGFncyk7CmRpZmYgLXVyd05iQiAyLjYuMjMv aW5jbHVkZS9hc20tZ2VuZXJpYy90bGIuaCAyLjYuMjNhL2luY2x1ZGUvYXNtLWdlbmVyaWMvdGxi LmgKLS0tIDIuNi4yMy9pbmNsdWRlL2FzbS1nZW5lcmljL3RsYi5oCTIwMDctMTAtMDkgMTM6MzE6 MzguMDAwMDAwMDAwIC0wNzAwCisrKyAyLjYuMjNhL2luY2x1ZGUvYXNtLWdlbmVyaWMvdGxiLmgJ MjAwNy0xMS0zMCAwODowNDowOS4wMDAwMDAwMDAgLTA4MDAKQEAgLTE0NSw0ICsxNDUsMjMgQEAK IAogI2RlZmluZSB0bGJfbWlncmF0ZV9maW5pc2gobW0pIGRvIHt9IHdoaWxlICgwKQogCisvKiBm bHVzaCBhbiBtbSB0aGF0IHdlIG1lc3NlZCB3aXRoIGVhcmxpZXIsIGJ1dCBkZWxheWVkIHRoZSBm bHVzaAorICAgYXNzdW1pbmcgdGhhdCB3ZSB3b3VsZCBtdWNrIHdpdGggaXQgYSB3aG9sZSBsb3Qg bW9yZS4gKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBtYXliZV9mbHVzaF90bGJfbW0oc3RydWN0IG1t X3N0cnVjdCAqbW0pCit7CisJaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChNTUZfTkVFRF9GTFVTSCwg Jm1tLT5mbGFncykpCisJCWZsdXNoX3RsYl9tbShtbSk7Cit9CisKKy8qIHBvc3NpYmx5IGZsYWcg YW4gbW0gYXMgbmVlZGluZyB0byBiZSBmbHVzaGVkLiAqLworc3RhdGljIGlubGluZSBpbnQgbWF5 YmVfbmVlZF9mbHVzaF9tbShzdHJ1Y3QgbW1fc3RydWN0ICptbSkKK3sKKwlpZiAoIWNwdXNfZW1w dHkobW0tPmNwdV92bV9tYXNrKSkgeworCQlzZXRfYml0KE1NRl9ORUVEX0ZMVVNILCAmbW0tPmZs YWdzKTsKKwkJcmV0dXJuIDE7CisJfQorCXJldHVybiAwOworfQorCisKICNlbmRpZiAvKiBfQVNN X0dFTkVSSUNfX1RMQl9IICovCmRpZmYgLXVyd05iQiAyLjYuMjMvaW5jbHVkZS9saW51eC9zY2hl ZC5oIDIuNi4yM2EvaW5jbHVkZS9saW51eC9zY2hlZC5oCi0tLSAyLjYuMjMvaW5jbHVkZS9saW51 eC9zY2hlZC5oCTIwMDctMTAtMDkgMTM6MzE6MzguMDAwMDAwMDAwIC0wNzAwCisrKyAyLjYuMjNh L2luY2x1ZGUvbGludXgvc2NoZWQuaAkyMDA3LTEwLTI5IDEzOjQ0OjMwLjAwMDAwMDAwMCAtMDcw MApAQCAtMzY2LDYgKzM2Niw5IEBACiAjZGVmaW5lIE1NRl9EVU1QX0ZJTFRFUl9ERUZBVUxUIFwK IAkoKDEgPDwgTU1GX0RVTVBfQU5PTl9QUklWQVRFKSB8CSgxIDw8IE1NRl9EVU1QX0FOT05fU0hB UkVEKSkKIAorLyogTWlzYyBNTSBmbGFncy4gKi8KKyNkZWZpbmUgTU1GX05FRURfRkxVU0gJCTYK Kwogc3RydWN0IG1tX3N0cnVjdCB7CiAJc3RydWN0IHZtX2FyZWFfc3RydWN0ICogbW1hcDsJCS8q IGxpc3Qgb2YgVk1BcyAqLwogCXN0cnVjdCByYl9yb290IG1tX3JiOwo= ------=_Part_1999_5564456.1196440507023-- -- 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