From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Sun, 24 Sep 2000 21:34:43 +0200 (CEST) From: Ingo Molnar Reply-To: mingo@elte.hu Subject: [patch] vmfixes-2.4.0-test9-B2 In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="655616-645435355-969824083=:7843" Sender: owner-linux-mm@kvack.org Return-Path: To: Linus Torvalds Cc: Rik van Riel , Roger Larsson , MM mailing list , linux-kernel@vger.kernel.org List-ID: --655616-645435355-969824083=:7843 Content-Type: TEXT/PLAIN; charset=US-ASCII the attached vmfixes-B2 patch adds the following fixes/cleanups: vmscan.c: - check for __GFP_WAIT not __GFP_IO when yielding the CPU. This fixes GFP_BUFFER deadlocks. In fact since no caller to do_try_to_free_pages() can expect that function to not block, we dont test for __GFP_WAIT either. [GFP_KSWAPD is the only caller without __GFP_WAIT set.] - do shrink_[d|i]cache_memory() even if !__GFP_IO. This improves balance. - push the __GFP_IO test into shm_swap(). - after shm_swap() do not test for !count but for <= 0, because count could be negative if in the future the shrink_ functions return bigger than 1, and we could then get into an infinite loop. Same after swap_out() and refill_inactive_scan(). No performance penalty, test for zero is exchanged with test for sign. - kmem_cache_reap() is done within refill_inactive(), so it's unnecessery to call it at the beginning of do_try_to_free_pages(). Moved to the else branch. (i saw kmem_cache_reap() show up in profiles) - (small codestyle cleanup.) page_alloc.c: - in __alloc_pages(), the infinite allocation loop yields the CPU if necessery. This prevents a potential lockup on UP, and even on SMP it can prevent livelocks. (i saw this happen.) mm.h: - made the GFP_ flag definitions easier to parse for humans :-) - remove shrink_mmap() prototype, it doesnt exist anymore. shm.c: - the trivial test for __GFP_IO. swap_state.c, filemap.c: - (shrink_mmap doesnt exist anymore, it's refill_inactive.) (The patch applies and compiles cleanly, and is tested under various VM loads i use.) Ingo --655616-645435355-969824083=:7843 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="vmfixes-2.4.0-test9-B2" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename="vmfixes-2.4.0-test9-B2" LS0tIGxpbnV4L21tL3Ztc2Nhbi5jLm9yaWcJU3VuIFNlcCAyNCAxMTo0MToz OCAyMDAwDQorKysgbGludXgvbW0vdm1zY2FuLmMJU3VuIFNlcCAyNCAxMjoy MDoyNyAyMDAwDQpAQCAtMTE5LDcgKzExOSw3IEBADQogCSAqIG91ciBzY2Fu Lg0KIAkgKg0KIAkgKiBCYXNpY2FsbHksIHRoaXMganVzdCBtYWtlcyBpdCBw b3NzaWJsZSBmb3IgdXMgdG8gZG8NCi0JICogc29tZSByZWFsIHdvcmsgaW4g dGhlIGZ1dHVyZSBpbiAic2hyaW5rX21tYXAoKSIuDQorCSAqIHNvbWUgcmVh bCB3b3JrIGluIHRoZSBmdXR1cmUgaW4gInJlZmlsbF9pbmFjdGl2ZSgpIi4N CiAJICovDQogCWlmICghcHRlX2RpcnR5KHB0ZSkpIHsNCiAJCWZsdXNoX2Nh Y2hlX3BhZ2Uodm1hLCBhZGRyZXNzKTsNCkBAIC0xNTksNyArMTU5LDcgQEAN CiAJICogTk9URSBOT1RFIE5PVEUhIFRoaXMgc2hvdWxkIGp1c3Qgc2V0IGEN CiAJICogZGlydHkgYml0IGluICdwYWdlJywgYW5kIGp1c3QgZHJvcCB0aGUN CiAJICogcHRlLiBBbGwgdGhlIGhhcmQgd29yayB3b3VsZCBiZSBkb25lIGJ5 DQotCSAqIHNocmlua19tbWFwKCkuDQorCSAqIHJlZmlsbF9pbmFjdGl2ZSgp Lg0KIAkgKg0KIAkgKiBUaGF0IHdvdWxkIGdldCByaWQgb2YgYSBsb3Qgb2Yg cHJvYmxlbXMuDQogCSAqLw0KQEAgLTg5MSw3ICs4OTEsNyBAQA0KIAlkbyB7 DQogCQltYWRlX3Byb2dyZXNzID0gMDsNCiANCi0JCWlmIChjdXJyZW50LT5u ZWVkX3Jlc2NoZWQgJiYgKGdmcF9tYXNrICYgX19HRlBfSU8pKSB7DQorCQlp ZiAoY3VycmVudC0+bmVlZF9yZXNjaGVkKSB7DQogCQkJX19zZXRfY3VycmVu dF9zdGF0ZShUQVNLX1JVTk5JTkcpOw0KIAkJCXNjaGVkdWxlKCk7DQogCQl9 DQpAQCAtODk5LDM0ICs4OTksMzIgQEANCiAJCXdoaWxlIChyZWZpbGxfaW5h Y3RpdmVfc2Nhbihwcmlvcml0eSwgMSkgfHwNCiAJCQkJc3dhcF9vdXQocHJp b3JpdHksIGdmcF9tYXNrLCBpZGxlX3RpbWUpKSB7DQogCQkJbWFkZV9wcm9n cmVzcyA9IDE7DQotCQkJaWYgKCEtLWNvdW50KQ0KKwkJCWlmICgtLWNvdW50 IDw9IDApDQogCQkJCWdvdG8gZG9uZTsNCiAJCX0NCiANCi0JCS8qIFRyeSB0 byBnZXQgcmlkIG9mIHNvbWUgc2hhcmVkIG1lbW9yeSBwYWdlcy4uICovDQot CQlpZiAoZ2ZwX21hc2sgJiBfX0dGUF9JTykgew0KLQkJCS8qDQotCQkJICog ZG9uJ3QgYmUgdG9vIGxpZ2h0IGFnYWluc3QgdGhlIGQvaSBjYWNoZSBzaW5j ZQ0KLQkJICAgCSAqIHNocmlua19tbWFwKCkgYWxtb3N0IG5ldmVyIGZhaWwg d2hlbiB0aGVyZSdzDQotCQkgICAJICogcmVhbGx5IHBsZW50eSBvZiBtZW1v cnkgZnJlZS4gDQotCQkJICovDQotCQkJY291bnQgLT0gc2hyaW5rX2RjYWNo ZV9tZW1vcnkocHJpb3JpdHksIGdmcF9tYXNrKTsNCi0JCQljb3VudCAtPSBz aHJpbmtfaWNhY2hlX21lbW9yeShwcmlvcml0eSwgZ2ZwX21hc2spOw0KLQkJ CS8qDQotCQkJICogTm90IGN1cnJlbnRseSB3b3JraW5nLCBzZWUgZml4bWUg aW4gc2hyaW5rXz9jYWNoZV9tZW1vcnkNCi0JCQkgKiBJbiB0aGUgaW5uZXIg ZnVudGlvbnMgdGhlcmUgaXMgYSBjb21tZW50Og0KLQkJCSAqICJUbyBoZWxw IGRlYnVnZ2luZywgYSB6ZXJvIGV4aXQgc3RhdHVzIGluZGljYXRlcw0KLQkJ CSAqICBhbGwgc2xhYnMgd2VyZSByZWxlYXNlZC4iICgtYXJjYT8pDQotCQkJ ICogbGV0cyBoYW5kbGUgaXQgaW4gYSBwcmltaXRpdmUgYnV0IHdvcmtpbmcg d2F5Li4uDQotCQkJICoJaWYgKGNvdW50IDw9IDApDQotCQkJICoJCWdvdG8g ZG9uZTsNCi0JCQkgKi8NCisJCS8qDQorCQkgKiBkb24ndCBiZSB0b28gbGln aHQgYWdhaW5zdCB0aGUgZC9pIGNhY2hlIHNpbmNlDQorCSAgIAkgKiByZWZp bGxfaW5hY3RpdmUoKSBhbG1vc3QgbmV2ZXIgZmFpbCB3aGVuIHRoZXJlJ3MN CisJICAgCSAqIHJlYWxseSBwbGVudHkgb2YgbWVtb3J5IGZyZWUuIA0KKwkJ ICovDQorCQljb3VudCAtPSBzaHJpbmtfZGNhY2hlX21lbW9yeShwcmlvcml0 eSwgZ2ZwX21hc2spOw0KKwkJY291bnQgLT0gc2hyaW5rX2ljYWNoZV9tZW1v cnkocHJpb3JpdHksIGdmcF9tYXNrKTsNCisJCS8qDQorCQkgKiBOb3QgY3Vy cmVudGx5IHdvcmtpbmcsIHNlZSBmaXhtZSBpbiBzaHJpbmtfP2NhY2hlX21l bW9yeQ0KKwkJICogSW4gdGhlIGlubmVyIGZ1bnRpb25zIHRoZXJlIGlzIGEg Y29tbWVudDoNCisJCSAqICJUbyBoZWxwIGRlYnVnZ2luZywgYSB6ZXJvIGV4 aXQgc3RhdHVzIGluZGljYXRlcw0KKwkJICogIGFsbCBzbGFicyB3ZXJlIHJl bGVhc2VkLiIgKC1hcmNhPykNCisJCSAqIGxldHMgaGFuZGxlIGl0IGluIGEg cHJpbWl0aXZlIGJ1dCB3b3JraW5nIHdheS4uLg0KKwkJICoJaWYgKGNvdW50 IDw9IDApDQorCQkgKgkJZ290byBkb25lOw0KKwkJICovDQogDQotCQkJd2hp bGUgKHNobV9zd2FwKHByaW9yaXR5LCBnZnBfbWFzaykpIHsNCi0JCQkJbWFk ZV9wcm9ncmVzcyA9IDE7DQotCQkJCWlmICghLS1jb3VudCkNCi0JCQkJCWdv dG8gZG9uZTsNCi0JCQl9DQorCQkvKiBUcnkgdG8gZ2V0IHJpZCBvZiBzb21l IHNoYXJlZCBtZW1vcnkgcGFnZXMuLiAqLw0KKwkJd2hpbGUgKHNobV9zd2Fw KHByaW9yaXR5LCBnZnBfbWFzaykpIHsNCisJCQltYWRlX3Byb2dyZXNzID0g MTsNCisJCQlpZiAoLS1jb3VudCA8PSAwKQ0KKwkJCQlnb3RvIGRvbmU7DQog CQl9DQogDQogCQkvKg0KQEAgLTkzNCw3ICs5MzIsNyBAQA0KIAkJICovDQog CQl3aGlsZSAoc3dhcF9vdXQocHJpb3JpdHksIGdmcF9tYXNrLCAwKSkgew0K IAkJCW1hZGVfcHJvZ3Jlc3MgPSAxOw0KLQkJCWlmICghLS1jb3VudCkNCisJ CQlpZiAoLS1jb3VudCA8PSAwKQ0KIAkJCQlnb3RvIGRvbmU7DQogCQl9DQog DQpAQCAtOTU1LDkgKzk1Myw5IEBADQogCQkJcHJpb3JpdHktLTsNCiAJfSB3 aGlsZSAocHJpb3JpdHkgPj0gMCk7DQogDQotCS8qIEFsd2F5cyBlbmQgb24g YSBzaHJpbmtfbW1hcC4uLCBtYXkgc2xlZXAuLi4gKi8NCisJLyogQWx3YXlz IGVuZCBvbiBhIHJlZmlsbF9pbmFjdGl2ZS4uLCBtYXkgc2xlZXAuLi4gKi8N CiAJd2hpbGUgKHJlZmlsbF9pbmFjdGl2ZV9zY2FuKDAsIDEpKSB7DQotCQlp ZiAoIS0tY291bnQpDQorCQlpZiAoLS1jb3VudCA8PSAwKQ0KIAkJCWdvdG8g ZG9uZTsNCiAJfQ0KIA0KQEAgLTk3MCwxMSArOTY4LDYgQEANCiAJaW50IHJl dCA9IDA7DQogDQogCS8qDQotCSAqIEZpcnN0LCByZWNsYWltIHVudXNlZCBz bGFiIGNhY2hlIG1lbW9yeS4NCi0JICovDQotCWttZW1fY2FjaGVfcmVhcChn ZnBfbWFzayk7DQotDQotCS8qDQogCSAqIElmIHdlJ3JlIGxvdyBvbiBmcmVl IHBhZ2VzLCBtb3ZlIHBhZ2VzIGZyb20gdGhlDQogCSAqIGluYWN0aXZlX2Rp cnR5IGxpc3QgdG8gdGhlIGluYWN0aXZlX2NsZWFuIGxpc3QuDQogCSAqDQpA QCAtOTkyLDEzICs5ODUsMTQgQEANCiAJICogdGhlIGlub2RlIGFuZCBkZW50 cnkgY2FjaGUgd2hlbmV2ZXIgd2UgZG8gdGhpcy4NCiAJICovDQogCWlmIChm cmVlX3Nob3J0YWdlKCkgfHwgaW5hY3RpdmVfc2hvcnRhZ2UoKSkgew0KLQkJ aWYgKGdmcF9tYXNrICYgX19HRlBfSU8pIHsNCi0JCQlyZXQgKz0gc2hyaW5r X2RjYWNoZV9tZW1vcnkoNiwgZ2ZwX21hc2spOw0KLQkJCXJldCArPSBzaHJp bmtfaWNhY2hlX21lbW9yeSg2LCBnZnBfbWFzayk7DQotCQl9DQotDQorCQly ZXQgKz0gc2hyaW5rX2RjYWNoZV9tZW1vcnkoNiwgZ2ZwX21hc2spOw0KKwkJ cmV0ICs9IHNocmlua19pY2FjaGVfbWVtb3J5KDYsIGdmcF9tYXNrKTsNCiAJ CXJldCArPSByZWZpbGxfaW5hY3RpdmUoZ2ZwX21hc2ssIHVzZXIpOw0KIAl9 IGVsc2Ugew0KKwkJLyoNCisJCSAqIFJlY2xhaW0gdW51c2VkIHNsYWIgY2Fj aGUgbWVtb3J5Lg0KKwkJICovDQorCQlrbWVtX2NhY2hlX3JlYXAoZ2ZwX21h c2spOw0KIAkJcmV0ID0gMTsNCiAJfQ0KIA0KQEAgLTExNTMsOSArMTE0Nyw4 IEBADQogew0KIAlpbnQgcmV0ID0gMTsNCiANCi0JaWYgKGdmcF9tYXNrICYg X19HRlBfV0FJVCkgew0KKwlpZiAoZ2ZwX21hc2sgJiBfX0dGUF9XQUlUKQ0K IAkJcmV0ID0gZG9fdHJ5X3RvX2ZyZWVfcGFnZXMoZ2ZwX21hc2ssIDEpOw0K LQl9DQogDQogCXJldHVybiByZXQ7DQogfQ0KLS0tIGxpbnV4L21tL3BhZ2Vf YWxsb2MuYy5vcmlnCVN1biBTZXAgMjQgMTE6NDQ6NTkgMjAwMA0KKysrIGxp bnV4L21tL3BhZ2VfYWxsb2MuYwlTdW4gU2VwIDI0IDExOjUyOjAwIDIwMDAN CkBAIC00NDQsNiArNDQ0LDEzIEBADQogCQkgKiBwcm9jZXNzZXMsIGV0Yyku DQogCQkgKi8NCiAJCWlmIChnZnBfbWFzayAmIF9fR0ZQX1dBSVQpIHsNCisJ CQkvKg0KKwkJCSAqIEdpdmUgb3RoZXIgcHJvY2Vzc2VzIGEgY2hhbmNlIHRv IHJ1bjoNCisJCQkgKi8NCisJCQlpZiAoY3VycmVudC0+bmVlZF9yZXNjaGVk KSB7DQorCQkJCV9fc2V0X2N1cnJlbnRfc3RhdGUoVEFTS19SVU5OSU5HKTsN CisJCQkJc2NoZWR1bGUoKTsNCisJCQl9DQogCQkJdHJ5X3RvX2ZyZWVfcGFn ZXMoZ2ZwX21hc2spOw0KIAkJCW1lbW9yeV9wcmVzc3VyZSsrOw0KIAkJCWdv dG8gdHJ5X2FnYWluOw0KLS0tIGxpbnV4L21tL2ZpbGVtYXAuYy5vcmlnCVN1 biBTZXAgMjQgMTI6MjA6MzUgMjAwMA0KKysrIGxpbnV4L21tL2ZpbGVtYXAu YwlTdW4gU2VwIDI0IDEyOjIwOjQ4IDIwMDANCkBAIC0xOTI1LDEwICsxOTI1 LDEwIEBADQogICogQXBwbGljYXRpb24gbm8gbG9uZ2VyIG5lZWRzIHRoZXNl IHBhZ2VzLiAgSWYgdGhlIHBhZ2VzIGFyZSBkaXJ0eSwNCiAgKiBpdCdzIE9L IHRvIGp1c3QgdGhyb3cgdGhlbSBhd2F5LiAgVGhlIGFwcCB3aWxsIGJlIG1v cmUgY2FyZWZ1bCBhYm91dA0KICAqIGRhdGEgaXQgd2FudHMgdG8ga2VlcC4g IEJlIHN1cmUgdG8gZnJlZSBzd2FwIHJlc291cmNlcyB0b28uICBUaGUNCi0g KiB6YXBfcGFnZV9yYW5nZSBjYWxsIHNldHMgdGhpbmdzIHVwIGZvciBzaHJp bmtfbW1hcCB0byBhY3R1YWxseSBmcmVlDQorICogemFwX3BhZ2VfcmFuZ2Ug Y2FsbCBzZXRzIHRoaW5ncyB1cCBmb3IgcmVmaWxsX2luYWN0aXZlIHRvIGFj dHVhbGx5IGZyZWUNCiAgKiB0aGVzZSBwYWdlcyBsYXRlciBpZiBubyBvbmUg ZWxzZSBoYXMgdG91Y2hlZCB0aGVtIGluIHRoZSBtZWFudGltZSwNCiAgKiBh bHRob3VnaCB3ZSBjb3VsZCBhZGQgdGhlc2UgcGFnZXMgdG8gYSBnbG9iYWwg cmV1c2UgbGlzdCBmb3INCi0gKiBzaHJpbmtfbW1hcCB0byBwaWNrIHVwIGJl Zm9yZSByZWNsYWltaW5nIG90aGVyIHBhZ2VzLg0KKyAqIHJlZmlsbF9pbmFj dGl2ZSB0byBwaWNrIHVwIGJlZm9yZSByZWNsYWltaW5nIG90aGVyIHBhZ2Vz Lg0KICAqDQogICogTkI6IFRoaXMgaW50ZXJmYWNlIGRpc2NhcmRzIGRhdGEg cmF0aGVyIHRoYW4gcHVzaGVzIGl0IG91dCB0byBzd2FwLA0KICAqIGFzIHNv bWUgaW1wbGVtZW50YXRpb25zIGRvLiAgVGhpcyBoYXMgcGVyZm9ybWFuY2Ug aW1wbGljYXRpb25zIGZvcg0KLS0tIGxpbnV4L21tL3N3YXBfc3RhdGUuYy5v cmlnCVN1biBTZXAgMjQgMTI6MjE6MDIgMjAwMA0KKysrIGxpbnV4L21tL3N3 YXBfc3RhdGUuYwlTdW4gU2VwIDI0IDEyOjIxOjEzIDIwMDANCkBAIC0xNjYs NyArMTY2LDcgQEANCiAJCQlyZXR1cm4gMDsNCiAJCS8qDQogCQkgKiBUaG91 Z2ggdGhlICJmb3VuZCIgcGFnZSB3YXMgaW4gdGhlIHN3YXAgY2FjaGUgYW4g aW5zdGFudA0KLQkJICogZWFybGllciwgaXQgbWlnaHQgaGF2ZSBiZWVuIHJl bW92ZWQgYnkgc2hyaW5rX21tYXAgZXRjLg0KKwkJICogZWFybGllciwgaXQg bWlnaHQgaGF2ZSBiZWVuIHJlbW92ZWQgYnkgcmVmaWxsX2luYWN0aXZlIGV0 Yy4NCiAJCSAqIFJlIHNlYXJjaCAuLi4gU2luY2UgZmluZF9sb2NrX3BhZ2Ug Z3JhYnMgYSByZWZlcmVuY2Ugb24NCiAJCSAqIHRoZSBwYWdlLCBpdCBjYW4g bm90IGJlIHJldXNlZCBmb3IgYW55dGhpbmcgZWxzZSwgbmFtZWx5DQogCQkg KiBpdCBjYW4gbm90IGJlIGFzc29jaWF0ZWQgd2l0aCBhbm90aGVyIHN3YXBo YW5kbGUsIHNvIGl0DQotLS0gbGludXgvaW5jbHVkZS9saW51eC9tbS5oLm9y aWcJU3VuIFNlcCAyNCAxMTo0NjozNyAyMDAwDQorKysgbGludXgvaW5jbHVk ZS9saW51eC9tbS5oCVN1biBTZXAgMjQgMTI6MjE6NTQgMjAwMA0KQEAgLTQ0 MSw3ICs0NDEsNiBAQA0KIC8qIGZpbGVtYXAuYyAqLw0KIGV4dGVybiB2b2lk IHJlbW92ZV9pbm9kZV9wYWdlKHN0cnVjdCBwYWdlICopOw0KIGV4dGVybiB1 bnNpZ25lZCBsb25nIHBhZ2VfdW51c2Uoc3RydWN0IHBhZ2UgKik7DQotZXh0 ZXJuIGludCBzaHJpbmtfbW1hcChpbnQsIGludCk7DQogZXh0ZXJuIHZvaWQg dHJ1bmNhdGVfaW5vZGVfcGFnZXMoc3RydWN0IGFkZHJlc3Nfc3BhY2UgKiwg bG9mZl90KTsNCiANCiAvKiBnZW5lcmljIHZtX2FyZWFfb3BzIGV4cG9ydGVk IGZvciBzdGFja2FibGUgZmlsZSBzeXN0ZW1zICovDQpAQCAtNDY5LDExICs0 NjgsMTEgQEANCiANCiAjZGVmaW5lIEdGUF9CVUZGRVIJKF9fR0ZQX0hJR0gg fCBfX0dGUF9XQUlUKQ0KICNkZWZpbmUgR0ZQX0FUT01JQwkoX19HRlBfSElH SCkNCi0jZGVmaW5lIEdGUF9VU0VSCShfX0dGUF9XQUlUIHwgX19HRlBfSU8p DQotI2RlZmluZSBHRlBfSElHSFVTRVIJKEdGUF9VU0VSIHwgX19HRlBfSElH SE1FTSkNCisjZGVmaW5lIEdGUF9VU0VSCSggICAgICAgICAgICAgX19HRlBf V0FJVCB8IF9fR0ZQX0lPKQ0KKyNkZWZpbmUgR0ZQX0hJR0hVU0VSCSggICAg ICAgICAgICAgX19HRlBfV0FJVCB8IF9fR0ZQX0lPIHwgX19HRlBfSElHSE1F TSkNCiAjZGVmaW5lIEdGUF9LRVJORUwJKF9fR0ZQX0hJR0ggfCBfX0dGUF9X QUlUIHwgX19HRlBfSU8pDQogI2RlZmluZSBHRlBfTkZTCQkoX19HRlBfSElH SCB8IF9fR0ZQX1dBSVQgfCBfX0dGUF9JTykNCi0jZGVmaW5lIEdGUF9LU1dB UEQJKF9fR0ZQX0lPKQ0KKyNkZWZpbmUgR0ZQX0tTV0FQRAkoICAgICAgICAg ICAgICAgICAgICAgICAgICBfX0dGUF9JTykNCiANCiAvKiBGbGFnIC0gaW5k aWNhdGVzIHRoYXQgdGhlIGJ1ZmZlciB3aWxsIGJlIHN1aXRhYmxlIGZvciBE TUEuICBJZ25vcmVkIG9uIHNvbWUNCiAgICBwbGF0Zm9ybXMsIHVzZWQgYXMg YXBwcm9wcmlhdGUgb24gb3RoZXJzICovDQotLS0gbGludXgvaXBjL3NobS5j Lm9yaWcJU3VuIFNlcCAyNCAxMTo0NToxNiAyMDAwDQorKysgbGludXgvaXBj L3NobS5jCVN1biBTZXAgMjQgMTE6NTM6NTkgMjAwMA0KQEAgLTE1MzYsNiAr MTUzNiwxMiBAQA0KIAlpbnQgY291bnRlcjsNCiAJc3RydWN0IHBhZ2UgKiBw YWdlX21hcDsNCiANCisJLyoNCisJICogUHVzaCB0aGlzIGluc2lkZToNCisJ ICovDQorCWlmICghKGdmcF9tYXNrICYgX19HRlBfSU8pKQ0KKwkJcmV0dXJu IDA7DQorDQogCXpzaG1fc3dhcChwcmlvLCBnZnBfbWFzayk7DQogCWNvdW50 ZXIgPSBzaG1fcnNzID4+IHByaW87DQogCWlmICghY291bnRlcikNCg== --655616-645435355-969824083=:7843-- -- 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.eu.org/Linux-MM/