From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from zps76.corp.google.com (zps76.corp.google.com [172.25.146.76]) by smtp-out.google.com with ESMTP id m04FxNUO020985 for ; Fri, 4 Jan 2008 07:59:23 -0800 Received: from fg-out-1718.google.com (fge22.prod.google.com [10.86.5.22]) by zps76.corp.google.com with ESMTP id m04FxM0a018689 for ; Fri, 4 Jan 2008 07:59:22 -0800 Received: by fg-out-1718.google.com with SMTP id 22so4061846fge.24 for ; Fri, 04 Jan 2008 07:59:21 -0800 (PST) Message-ID: Date: Fri, 4 Jan 2008 10:59:21 -0500 From: "Ross Biro" Subject: RFC/Patch Make Page Tables Relocatable Part 1/2 Page Table Migration Code MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_25514_12215680.1199462361663" Sender: owner-linux-mm@kvack.org Return-Path: To: linux-mm@kvack.org List-ID: ------=_Part_25514_12215680.1199462361663 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline This patch allows setting a flag that a particular mm is in need of a flush, but delaying the flush until more changes are made. Similar to lazy mode, but not quite the same. Ross ------=_Part_25514_12215680.1199462361663 Content-Type: application/octet-stream; name=maybeflush.patch Content-Transfer-Encoding: base64 X-Attachment-Id: f_fb0wvhnz0 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 My9hcmNoL3h0ZW5zYS9tbS90bGIuYyAyLjYuMjNhL2FyY2gveHRlbnNhL21tL3RsYi5jCi0tLSAy LjYuMjMvYXJjaC94dGVuc2EvbW0vdGxiLmMJMjAwNy0xMC0wOSAxMzozMTozOC4wMDAwMDAwMDAg LTA3MDAKKysrIDIuNi4yM2EvYXJjaC94dGVuc2EvbW0vdGxiLmMJMjAwNy0xMC0yOSAxMzo1Nzoy Ni4wMDAwMDAwMDAgLTA3MDAKQEAgLTYzLDYgKzYzLDggQEAKIAogdm9pZCBmbHVzaF90bGJfbW0o c3RydWN0IG1tX3N0cnVjdCAqbW0pCiB7CisJY2xlYXJfYml0KE1NRl9OTkVEX0ZMVVNILCBtbS0+ ZmxhZ3MpOworCiAJaWYgKG1tID09IGN1cnJlbnQtPmFjdGl2ZV9tbSkgewogCQlpbnQgZmxhZ3M7 CiAJCWxvY2FsX3NhdmVfZmxhZ3MoZmxhZ3MpOwpkaWZmIC11cndOYkIgMi42LjIzL2luY2x1ZGUv YXNtLWdlbmVyaWMvdGxiLmggMi42LjIzYS9pbmNsdWRlL2FzbS1nZW5lcmljL3RsYi5oCi0tLSAy LjYuMjMvaW5jbHVkZS9hc20tZ2VuZXJpYy90bGIuaAkyMDA3LTEwLTA5IDEzOjMxOjM4LjAwMDAw MDAwMCAtMDcwMAorKysgMi42LjIzYS9pbmNsdWRlL2FzbS1nZW5lcmljL3RsYi5oCTIwMDctMTEt MzAgMDg6MDQ6MDkuMDAwMDAwMDAwIC0wODAwCkBAIC0xNDUsNCArMTQ1LDIzIEBACiAKICNkZWZp bmUgdGxiX21pZ3JhdGVfZmluaXNoKG1tKSBkbyB7fSB3aGlsZSAoMCkKIAorLyogZmx1c2ggYW4g bW0gdGhhdCB3ZSBtZXNzZWQgd2l0aCBlYXJsaWVyLCBidXQgZGVsYXllZCB0aGUgZmx1c2gKKyAg IGFzc3VtaW5nIHRoYXQgd2Ugd291bGQgbXVjayB3aXRoIGl0IGEgd2hvbGUgbG90IG1vcmUuICov CitzdGF0aWMgaW5saW5lIHZvaWQgbWF5YmVfZmx1c2hfdGxiX21tKHN0cnVjdCBtbV9zdHJ1Y3Qg Km1tKQoreworCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoTU1GX05FRURfRkxVU0gsICZtbS0+Zmxh Z3MpKQorCQlmbHVzaF90bGJfbW0obW0pOworfQorCisvKiBwb3NzaWJseSBmbGFnIGFuIG1tIGFz IG5lZWRpbmcgdG8gYmUgZmx1c2hlZC4gKi8KK3N0YXRpYyBpbmxpbmUgaW50IG1heWJlX25lZWRf Zmx1c2hfbW0oc3RydWN0IG1tX3N0cnVjdCAqbW0pCit7CisJaWYgKCFjcHVzX2VtcHR5KG1tLT5j cHVfdm1fbWFzaykpIHsKKwkJc2V0X2JpdChNTUZfTkVFRF9GTFVTSCwgJm1tLT5mbGFncyk7CisJ CXJldHVybiAxOworCX0KKwlyZXR1cm4gMDsKK30KKworCiAjZW5kaWYgLyogX0FTTV9HRU5FUklD X19UTEJfSCAqLwpkaWZmIC11cndOYkIgMi42LjIzL2luY2x1ZGUvbGludXgvc2NoZWQuaCAyLjYu MjNhL2luY2x1ZGUvbGludXgvc2NoZWQuaAotLS0gMi42LjIzL2luY2x1ZGUvbGludXgvc2NoZWQu aAkyMDA3LTEwLTA5IDEzOjMxOjM4LjAwMDAwMDAwMCAtMDcwMAorKysgMi42LjIzYS9pbmNsdWRl L2xpbnV4L3NjaGVkLmgJMjAwOC0wMS0wMiAwODo0OTo0MC4wMDAwMDAwMDAgLTA4MDAKQEAgLTM2 Niw2ICszNjYsMTAgQEAKICNkZWZpbmUgTU1GX0RVTVBfRklMVEVSX0RFRkFVTFQgXAogCSgoMSA8 PCBNTUZfRFVNUF9BTk9OX1BSSVZBVEUpIHwJKDEgPDwgTU1GX0RVTVBfQU5PTl9TSEFSRUQpKQog CisvKiBNaXNjIE1NIGZsYWdzLiAqLworI2RlZmluZSBNTUZfTkVFRF9GTFVTSAkJNgorI2RlZmlu ZSBNTUZfTkVFRF9SRUxPQUQJCTcJLyogT25seSBtZWFuaW5nZnVsIG9uIHNvbWUgYXJjaHMuICov CisKIHN0cnVjdCBtbV9zdHJ1Y3QgewogCXN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqIG1tYXA7CQkv KiBsaXN0IG9mIFZNQXMgKi8KIAlzdHJ1Y3QgcmJfcm9vdCBtbV9yYjsK ------=_Part_25514_12215680.1199462361663-- -- 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