Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Thu, 16 Jan 2003 00:57:28 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Thu, 16 Jan 2003 00:57:28 -0500 Received: from franka.aracnet.com ([216.99.193.44]:5297 "EHLO franka.aracnet.com") by vger.kernel.org with ESMTP id ; Thu, 16 Jan 2003 00:57:24 -0500 Date: Wed, 15 Jan 2003 22:05:31 -0800 From: "Martin J. Bligh" To: Erich Focht , Michael Hohnbaum , Christoph Hellwig cc: Andrew Theurer , Robert Love , Ingo Molnar , linux-kernel , lse-tech Subject: Re: [PATCH 2.5.58] new NUMA scheduler: fix Message-ID: <23340000.1042697129@titus> In-Reply-To: <200301151610.43204.efocht@ess.nec.de> References: <52570000.1042156448@flay> <200301141743.25513.efocht@ess.nec.de> <1042570956.27149.178.camel@dyn9-47-17-164.beaverton.ibm.com> <200301151610.43204.efocht@ess.nec.de> X-Mailer: Mulberry/2.2.1 (Linux/x86) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="==========1827629384==========" Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org --==========1827629384========== Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline I'm not keen on the way the minisched patch got reformatted. I changed it into a seperate function, which I think is much cleaner by the time you've added the third patch - no #ifdef CONFIG_NUMA in load_balance. Rejigged patches attatched, no functional changes. Anyway, I perf tested this, and it comes out more or less the same as the tuned version I was poking at last night (ie best of the bunch). Looks pretty good to me. M. PS. The fourth patch was so small, and touching the same stuff as 3 that I rolled it into the third one here. Seems like a universal benefit ;-) --==========1827629384========== Content-Type: application/octet-stream; name=numasched1 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=numasched1; size=1653 ZGlmZiAtdXJwTiAtWCAvaG9tZS9mbGV0Y2gvLmRpZmYuZXhjbHVkZSB2aXJnaW4va2VybmVsL3Nj aGVkLmMgbnVtYXNjaGVkMS9rZXJuZWwvc2NoZWQuYwotLS0gdmlyZ2luL2tlcm5lbC9zY2hlZC5j CU1vbiBKYW4gMTMgMjE6MDk6MjggMjAwMworKysgbnVtYXNjaGVkMS9rZXJuZWwvc2NoZWQuYwlX ZWQgSmFuIDE1IDE5OjUyOjA3IDIwMDMKQEAgLTYyNCw2ICs2MjQsMjIgQEAgc3RhdGljIGlubGlu ZSB2b2lkIGRvdWJsZV9ycV91bmxvY2socnVucQogCQlzcGluX3VubG9jaygmcnEyLT5sb2NrKTsK IH0KIAorI2lmZGVmIENPTkZJR19OVU1BCisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBj cHVzX3RvX2JhbGFuY2UoaW50IHRoaXNfY3B1KQoreworCXJldHVybiBfX25vZGVfdG9fY3B1X21h c2soX19jcHVfdG9fbm9kZSh0aGlzX2NwdSkpOworfQorCisjZWxzZSAvKiAhQ09ORklHX05VTUEg Ki8KKworc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIGNwdXNfdG9fYmFsYW5jZShpbnQgdGhp c19jcHUpCit7CisJcmV0dXJuIGNwdV9vbmxpbmVfbWFwOworfQorCisjZW5kaWYgLyogQ09ORklH X05VTUEgKi8KKwogI2lmIENPTkZJR19TTVAKIAogLyoKQEAgLTY1Miw5ICs2NjgsOSBAQCBzdGF0 aWMgaW5saW5lIHVuc2lnbmVkIGludCBkb3VibGVfbG9ja19iCiB9CiAKIC8qCi0gKiBmaW5kX2J1 c2llc3RfcXVldWUgLSBmaW5kIHRoZSBidXNpZXN0IHJ1bnF1ZXVlLgorICogZmluZF9idXNpZXN0 X3F1ZXVlIC0gZmluZCB0aGUgYnVzaWVzdCBydW5xdWV1ZSBhbW9uZyB0aGUgY3B1cyBpbiBjcHVt YXNrLgogICovCi1zdGF0aWMgaW5saW5lIHJ1bnF1ZXVlX3QgKmZpbmRfYnVzaWVzdF9xdWV1ZShy dW5xdWV1ZV90ICp0aGlzX3JxLCBpbnQgdGhpc19jcHUsIGludCBpZGxlLCBpbnQgKmltYmFsYW5j ZSkKK3N0YXRpYyBpbmxpbmUgcnVucXVldWVfdCAqZmluZF9idXNpZXN0X3F1ZXVlKHJ1bnF1ZXVl X3QgKnRoaXNfcnEsIGludCB0aGlzX2NwdSwgaW50IGlkbGUsIGludCAqaW1iYWxhbmNlLCB1bnNp Z25lZCBsb25nIGNwdW1hc2spCiB7CiAJaW50IG5yX3J1bm5pbmcsIGxvYWQsIG1heF9sb2FkLCBp OwogCXJ1bnF1ZXVlX3QgKmJ1c2llc3QsICpycV9zcmM7CkBAIC02ODksNyArNzA1LDcgQEAgc3Rh dGljIGlubGluZSBydW5xdWV1ZV90ICpmaW5kX2J1c2llc3RfcQogCWJ1c2llc3QgPSBOVUxMOwog CW1heF9sb2FkID0gMTsKIAlmb3IgKGkgPSAwOyBpIDwgTlJfQ1BVUzsgaSsrKSB7Ci0JCWlmICgh Y3B1X29ubGluZShpKSkKKwkJaWYgKCEoKDFVTCA8PCBpKSAmIGNwdW1hc2spKQogCQkJY29udGlu dWU7CiAKIAkJcnFfc3JjID0gY3B1X3JxKGkpOwpAQCAtNzY0LDcgKzc4MCw4IEBAIHN0YXRpYyB2 b2lkIGxvYWRfYmFsYW5jZShydW5xdWV1ZV90ICp0aGkKIAlzdHJ1Y3QgbGlzdF9oZWFkICpoZWFk LCAqY3VycjsKIAl0YXNrX3QgKnRtcDsKIAotCWJ1c2llc3QgPSBmaW5kX2J1c2llc3RfcXVldWUo dGhpc19ycSwgdGhpc19jcHUsIGlkbGUsICZpbWJhbGFuY2UpOworCWJ1c2llc3QgPSBmaW5kX2J1 c2llc3RfcXVldWUodGhpc19ycSwgdGhpc19jcHUsIGlkbGUsICZpbWJhbGFuY2UsCisJCQkJCWNw dXNfdG9fYmFsYW5jZSh0aGlzX2NwdSkpOwogCWlmICghYnVzaWVzdCkKIAkJZ290byBvdXQ7CiAK --==========1827629384========== Content-Type: application/octet-stream; name=numasched2 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=numasched2; size=5907 ZGlmZiAtdXJwTiAtWCAvaG9tZS9mbGV0Y2gvLmRpZmYuZXhjbHVkZSBudW1hc2NoZWQxL2ZzL2V4 ZWMuYyBudW1hc2NoZWQyL2ZzL2V4ZWMuYwotLS0gbnVtYXNjaGVkMS9mcy9leGVjLmMJTW9uIEph biAxMyAyMTowOToxMyAyMDAzCisrKyBudW1hc2NoZWQyL2ZzL2V4ZWMuYwlXZWQgSmFuIDE1IDE5 OjEwOjA0IDIwMDMKQEAgLTEwMzEsNiArMTAzMSw4IEBAIGludCBkb19leGVjdmUoY2hhciAqIGZp bGVuYW1lLCBjaGFyICoqIGEKIAlpbnQgcmV0dmFsOwogCWludCBpOwogCisJc2NoZWRfYmFsYW5j ZV9leGVjKCk7CisKIAlmaWxlID0gb3Blbl9leGVjKGZpbGVuYW1lKTsKIAogCXJldHZhbCA9IFBU Ul9FUlIoZmlsZSk7CmRpZmYgLXVycE4gLVggL2hvbWUvZmxldGNoLy5kaWZmLmV4Y2x1ZGUgbnVt YXNjaGVkMS9pbmNsdWRlL2xpbnV4L3NjaGVkLmggbnVtYXNjaGVkMi9pbmNsdWRlL2xpbnV4L3Nj aGVkLmgKLS0tIG51bWFzY2hlZDEvaW5jbHVkZS9saW51eC9zY2hlZC5oCU1vbiBKYW4gMTMgMjE6 MDk6MjggMjAwMworKysgbnVtYXNjaGVkMi9pbmNsdWRlL2xpbnV4L3NjaGVkLmgJV2VkIEphbiAx NSAxOToxMDowNCAyMDAzCkBAIC00NDQsNiArNDQ0LDE0IEBAIGV4dGVybiB2b2lkIHNldF9jcHVz X2FsbG93ZWQodGFza190ICpwLCAKICMgZGVmaW5lIHNldF9jcHVzX2FsbG93ZWQocCwgbmV3X21h c2spIGRvIHsgfSB3aGlsZSAoMCkKICNlbmRpZgogCisjaWZkZWYgQ09ORklHX05VTUEKK2V4dGVy biB2b2lkIHNjaGVkX2JhbGFuY2VfZXhlYyh2b2lkKTsKK2V4dGVybiB2b2lkIG5vZGVfbnJfcnVu bmluZ19pbml0KHZvaWQpOworI2Vsc2UKKyNkZWZpbmUgc2NoZWRfYmFsYW5jZV9leGVjKCkgICB7 fQorI2RlZmluZSBub2RlX25yX3J1bm5pbmdfaW5pdCgpIHt9CisjZW5kaWYKKwogZXh0ZXJuIHZv aWQgc2V0X3VzZXJfbmljZSh0YXNrX3QgKnAsIGxvbmcgbmljZSk7CiBleHRlcm4gaW50IHRhc2tf cHJpbyh0YXNrX3QgKnApOwogZXh0ZXJuIGludCB0YXNrX25pY2UodGFza190ICpwKTsKZGlmZiAt dXJwTiAtWCAvaG9tZS9mbGV0Y2gvLmRpZmYuZXhjbHVkZSBudW1hc2NoZWQxL2luaXQvbWFpbi5j IG51bWFzY2hlZDIvaW5pdC9tYWluLmMKLS0tIG51bWFzY2hlZDEvaW5pdC9tYWluLmMJVGh1IEph biAgOSAxOToxNjoxNSAyMDAzCisrKyBudW1hc2NoZWQyL2luaXQvbWFpbi5jCVdlZCBKYW4gMTUg MTk6MTA6MDQgMjAwMwpAQCAtNDk1LDYgKzQ5NSw3IEBAIHN0YXRpYyB2b2lkIGRvX3ByZV9zbXBf aW5pdGNhbGxzKHZvaWQpCiAKIAltaWdyYXRpb25faW5pdCgpOwogI2VuZGlmCisJbm9kZV9ucl9y dW5uaW5nX2luaXQoKTsKIAlzcGF3bl9rc29mdGlycWQoKTsKIH0KIApkaWZmIC11cnBOIC1YIC9o b21lL2ZsZXRjaC8uZGlmZi5leGNsdWRlIG51bWFzY2hlZDEva2VybmVsL3NjaGVkLmMgbnVtYXNj aGVkMi9rZXJuZWwvc2NoZWQuYwotLS0gbnVtYXNjaGVkMS9rZXJuZWwvc2NoZWQuYwlXZWQgSmFu IDE1IDE5OjUyOjA3IDIwMDMKKysrIG51bWFzY2hlZDIva2VybmVsL3NjaGVkLmMJV2VkIEphbiAx NSAxOTo1Njo0MiAyMDAzCkBAIC0xNTMsNyArMTUzLDkgQEAgc3RydWN0IHJ1bnF1ZXVlIHsKIAl0 YXNrX3QgKmN1cnIsICppZGxlOwogCXByaW9fYXJyYXlfdCAqYWN0aXZlLCAqZXhwaXJlZCwgYXJy YXlzWzJdOwogCWludCBwcmV2X25yX3J1bm5pbmdbTlJfQ1BVU107Ci0KKyNpZmRlZiBDT05GSUdf TlVNQQorCWF0b21pY190ICpub2RlX25yX3J1bm5pbmc7CisjZW5kaWYKIAl0YXNrX3QgKm1pZ3Jh dGlvbl90aHJlYWQ7CiAJc3RydWN0IGxpc3RfaGVhZCBtaWdyYXRpb25fcXVldWU7CiAKQEAgLTE3 Nyw2ICsxNzksNDggQEAgc3RhdGljIHN0cnVjdCBydW5xdWV1ZSBydW5xdWV1ZXNbTlJfQ1BVUwog IyBkZWZpbmUgdGFza19ydW5uaW5nKHJxLCBwKQkJKChycSktPmN1cnIgPT0gKHApKQogI2VuZGlm CiAKKyNpZmRlZiBDT05GSUdfTlVNQQorCisvKgorICogS2VlcCB0cmFjayBvZiBydW5uaW5nIHRh c2tzLgorICovCisKK3N0YXRpYyBhdG9taWNfdCBub2RlX25yX3J1bm5pbmdbTUFYX05VTU5PREVT XSBfX19fY2FjaGVsaW5lX21heGFsaWduZWRfaW5fc21wID0KKwl7WzAgLi4uTUFYX05VTU5PREVT LTFdID0gQVRPTUlDX0lOSVQoMCl9OworCitzdGF0aWMgaW5saW5lIHZvaWQgbnJfcnVubmluZ19p bml0KHN0cnVjdCBydW5xdWV1ZSAqcnEpCit7CisJcnEtPm5vZGVfbnJfcnVubmluZyA9ICZub2Rl X25yX3J1bm5pbmdbMF07Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBucl9ydW5uaW5nX2luYyhy dW5xdWV1ZV90ICpycSkKK3sKKwlhdG9taWNfaW5jKHJxLT5ub2RlX25yX3J1bm5pbmcpOworCXJx LT5ucl9ydW5uaW5nKys7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBucl9ydW5uaW5nX2RlYyhy dW5xdWV1ZV90ICpycSkKK3sKKwlhdG9taWNfZGVjKHJxLT5ub2RlX25yX3J1bm5pbmcpOworCXJx LT5ucl9ydW5uaW5nLS07Cit9CisKK19faW5pdCB2b2lkIG5vZGVfbnJfcnVubmluZ19pbml0KHZv aWQpCit7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgTlJfQ1BVUzsgaSsrKQorCQljcHVf cnEoaSktPm5vZGVfbnJfcnVubmluZyA9ICZub2RlX25yX3J1bm5pbmdbX19jcHVfdG9fbm9kZShp KV07Cit9CisKKyNlbHNlIC8qICFDT05GSUdfTlVNQSAqLworCisjIGRlZmluZSBucl9ydW5uaW5n X2luaXQocnEpICAgZG8geyB9IHdoaWxlICgwKQorIyBkZWZpbmUgbnJfcnVubmluZ19pbmMocnEp ICAgIGRvIHsgKHJxKS0+bnJfcnVubmluZysrOyB9IHdoaWxlICgwKQorIyBkZWZpbmUgbnJfcnVu bmluZ19kZWMocnEpICAgIGRvIHsgKHJxKS0+bnJfcnVubmluZy0tOyB9IHdoaWxlICgwKQorCisj ZW5kaWYgLyogQ09ORklHX05VTUEgKi8KKwogLyoKICAqIHRhc2tfcnFfbG9jayAtIGxvY2sgdGhl IHJ1bnF1ZXVlIGEgZ2l2ZW4gdGFzayByZXNpZGVzIG9uIGFuZCBkaXNhYmxlCiAgKiBpbnRlcnJ1 cHRzLiAgTm90ZSB0aGUgb3JkZXJpbmc6IHdlIGNhbiBzYWZlbHkgbG9va3VwIHRoZSB0YXNrX3Jx IHdpdGhvdXQKQEAgLTI5NCw3ICszMzgsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgYWN0aXZhdGVf dGFzayh0YXNrX3QgCiAJCXAtPnByaW8gPSBlZmZlY3RpdmVfcHJpbyhwKTsKIAl9CiAJZW5xdWV1 ZV90YXNrKHAsIGFycmF5KTsKLQlycS0+bnJfcnVubmluZysrOworCW5yX3J1bm5pbmdfaW5jKHJx KTsKIH0KIAogLyoKQEAgLTMwMiw3ICszNDYsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgYWN0aXZh dGVfdGFzayh0YXNrX3QgCiAgKi8KIHN0YXRpYyBpbmxpbmUgdm9pZCBkZWFjdGl2YXRlX3Rhc2so c3RydWN0IHRhc2tfc3RydWN0ICpwLCBydW5xdWV1ZV90ICpycSkKIHsKLQlycS0+bnJfcnVubmlu Zy0tOworCW5yX3J1bm5pbmdfZGVjKHJxKTsKIAlpZiAocC0+c3RhdGUgPT0gVEFTS19VTklOVEVS UlVQVElCTEUpCiAJCXJxLT5ucl91bmludGVycnVwdGlibGUrKzsKIAlkZXF1ZXVlX3Rhc2socCwg cC0+YXJyYXkpOwpAQCAtNjI0LDcgKzY2OCw3MiBAQCBzdGF0aWMgaW5saW5lIHZvaWQgZG91Ymxl X3JxX3VubG9jayhydW5xCiAJCXNwaW5fdW5sb2NrKCZycTItPmxvY2spOwogfQogCi0jaWZkZWYg Q09ORklHX05VTUEKKyNpZiBDT05GSUdfTlVNQQorLyoKKyAqIElmIGRlc3RfY3B1IGlzIGFsbG93 ZWQgZm9yIHRoaXMgcHJvY2VzcywgbWlncmF0ZSB0aGUgdGFzayB0byBpdC4KKyAqIFRoaXMgaXMg YWNjb21wbGlzaGVkIGJ5IGZvcmNpbmcgdGhlIGNwdV9hbGxvd2VkIG1hc2sgdG8gb25seQorICog YWxsb3cgZGVzdF9jcHUsIHdoaWNoIHdpbGwgZm9yY2UgdGhlIGNwdSBvbnRvIGRlc3RfY3B1LiAg VGhlbgorICogdGhlIGNwdV9hbGxvd2VkIG1hc2sgaXMgcmVzdG9yZWQuCisgKi8KK3N0YXRpYyB2 b2lkIHNjaGVkX21pZ3JhdGVfdGFzayh0YXNrX3QgKnAsIGludCBkZXN0X2NwdSkKK3sKKwl1bnNp Z25lZCBsb25nIG9sZF9tYXNrOworCisJb2xkX21hc2sgPSBwLT5jcHVzX2FsbG93ZWQ7CisJaWYg KCEob2xkX21hc2sgJiAoMVVMIDw8IGRlc3RfY3B1KSkpCisJCXJldHVybjsKKwkvKiBmb3JjZSB0 aGUgcHJvY2VzcyBvbnRvIHRoZSBzcGVjaWZpZWQgQ1BVICovCisJc2V0X2NwdXNfYWxsb3dlZChw LCAxVUwgPDwgZGVzdF9jcHUpOworCisJLyogcmVzdG9yZSB0aGUgY3B1cyBhbGxvd2VkIG1hc2sg Ki8KKwlzZXRfY3B1c19hbGxvd2VkKHAsIG9sZF9tYXNrKTsKK30KKworLyoKKyAqIEZpbmQgdGhl IGxlYXN0IGxvYWRlZCBDUFUuICBTbGlnaHRseSBmYXZvciB0aGUgY3VycmVudCBDUFUgYnkKKyAq IHNldHRpbmcgaXRzIHJ1bnF1ZXVlIGxlbmd0aCBhcyB0aGUgbWluaW11bSB0byBzdGFydC4KKyAq Lworc3RhdGljIGludCBzY2hlZF9iZXN0X2NwdShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCit7CisJ aW50IGksIG1pbmxvYWQsIGxvYWQsIGJlc3RfY3B1LCBub2RlID0gMDsKKwl1bnNpZ25lZCBsb25n IGNwdW1hc2s7CisKKwliZXN0X2NwdSA9IHRhc2tfY3B1KHApOworCWlmIChjcHVfcnEoYmVzdF9j cHUpLT5ucl9ydW5uaW5nIDw9IDIpCisJCXJldHVybiBiZXN0X2NwdTsKKworCW1pbmxvYWQgPSAx MDAwMDAwMDsKKwlmb3IgKGkgPSAwOyBpIDwgbnVtbm9kZXM7IGkrKykgeworCQlsb2FkID0gYXRv bWljX3JlYWQoJm5vZGVfbnJfcnVubmluZ1tpXSk7CisJCWlmIChsb2FkIDwgbWlubG9hZCkgewor CQkJbWlubG9hZCA9IGxvYWQ7CisJCQlub2RlID0gaTsKKwkJfQorCX0KKworCW1pbmxvYWQgPSAx MDAwMDAwMDsKKwljcHVtYXNrID0gX19ub2RlX3RvX2NwdV9tYXNrKG5vZGUpOworCWZvciAoaSA9 IDA7IGkgPCBOUl9DUFVTOyArK2kpIHsKKwkJaWYgKCEoY3B1bWFzayAmICgxVUwgPDwgaSkpKQor CQkJY29udGludWU7CisJCWlmIChjcHVfcnEoaSktPm5yX3J1bm5pbmcgPCBtaW5sb2FkKSB7CisJ CQliZXN0X2NwdSA9IGk7CisJCQltaW5sb2FkID0gY3B1X3JxKGkpLT5ucl9ydW5uaW5nOworCQl9 CisJfQorCXJldHVybiBiZXN0X2NwdTsKK30KKwordm9pZCBzY2hlZF9iYWxhbmNlX2V4ZWModm9p ZCkKK3sKKwlpbnQgbmV3X2NwdTsKKworCWlmIChudW1ub2RlcyA+IDEpIHsKKwkJbmV3X2NwdSA9 IHNjaGVkX2Jlc3RfY3B1KGN1cnJlbnQpOworCQlpZiAobmV3X2NwdSAhPSBzbXBfcHJvY2Vzc29y X2lkKCkpCisJCQlzY2hlZF9taWdyYXRlX3Rhc2soY3VycmVudCwgbmV3X2NwdSk7CisJfQorfQog CiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgY3B1c190b19iYWxhbmNlKGludCB0aGlzX2Nw dSkKIHsKQEAgLTc1Miw5ICs4NjEsOSBAQCBvdXQ6CiBzdGF0aWMgaW5saW5lIHZvaWQgcHVsbF90 YXNrKHJ1bnF1ZXVlX3QgKnNyY19ycSwgcHJpb19hcnJheV90ICpzcmNfYXJyYXksIHRhc2tfdCAq cCwgcnVucXVldWVfdCAqdGhpc19ycSwgaW50IHRoaXNfY3B1KQogewogCWRlcXVldWVfdGFzayhw LCBzcmNfYXJyYXkpOwotCXNyY19ycS0+bnJfcnVubmluZy0tOworCW5yX3J1bm5pbmdfZGVjKHNy Y19ycSk7CiAJc2V0X3Rhc2tfY3B1KHAsIHRoaXNfY3B1KTsKLQl0aGlzX3JxLT5ucl9ydW5uaW5n Kys7CisJbnJfcnVubmluZ19pbmModGhpc19ycSk7CiAJZW5xdWV1ZV90YXNrKHAsIHRoaXNfcnEt PmFjdGl2ZSk7CiAJLyoKIAkgKiBOb3RlIHRoYXQgaWRsZSB0aHJlYWRzIGhhdmUgYSBwcmlvIG9m IE1BWF9QUklPLCBmb3IgdGhpcyB0ZXN0CkBAIC0yMjQ4LDYgKzIzNTcsNyBAQCB2b2lkIF9faW5p dCBzY2hlZF9pbml0KHZvaWQpCiAJCXNwaW5fbG9ja19pbml0KCZycS0+bG9jayk7CiAJCUlOSVRf TElTVF9IRUFEKCZycS0+bWlncmF0aW9uX3F1ZXVlKTsKIAkJYXRvbWljX3NldCgmcnEtPm5yX2lv d2FpdCwgMCk7CisJCW5yX3J1bm5pbmdfaW5pdChycSk7CiAKIAkJZm9yIChqID0gMDsgaiA8IDI7 IGorKykgewogCQkJYXJyYXkgPSBycS0+YXJyYXlzICsgajsK --==========1827629384========== Content-Type: application/octet-stream; name=numasched3 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=numasched3; size=4620 ZGlmZiAtdXJwTiAtWCAvaG9tZS9mbGV0Y2gvLmRpZmYuZXhjbHVkZSBudW1hc2NoZWQyL2luY2x1 ZGUvYXNtLWdlbmVyaWMvdG9wb2xvZ3kuaCBudW1hc2NoZWQzL2luY2x1ZGUvYXNtLWdlbmVyaWMv dG9wb2xvZ3kuaAotLS0gbnVtYXNjaGVkMi9pbmNsdWRlL2FzbS1nZW5lcmljL3RvcG9sb2d5LmgJ U3VuIE5vdiAxNyAyMDoyOToyMiAyMDAyCisrKyBudW1hc2NoZWQzL2luY2x1ZGUvYXNtLWdlbmVy aWMvdG9wb2xvZ3kuaAlXZWQgSmFuIDE1IDE5OjI2OjAxIDIwMDMKQEAgLTQ4LDQgKzQ4LDkgQEAK ICNkZWZpbmUgX19ub2RlX3RvX21lbWJsayhub2RlKQkJKDApCiAjZW5kaWYKIAorLyogQ3Jvc3Mt bm9kZSBsb2FkIGJhbGFuY2luZyBpbnRlcnZhbC4gKi8KKyNpZm5kZWYgTk9ERV9CQUxBTkNFX1JB VEUKKyNkZWZpbmUgTk9ERV9CQUxBTkNFX1JBVEUgMTAKKyNlbmRpZgorCiAjZW5kaWYgLyogX0FT TV9HRU5FUklDX1RPUE9MT0dZX0ggKi8KZGlmZiAtdXJwTiAtWCAvaG9tZS9mbGV0Y2gvLmRpZmYu ZXhjbHVkZSBudW1hc2NoZWQyL2luY2x1ZGUvYXNtLWkzODYvdG9wb2xvZ3kuaCBudW1hc2NoZWQz L2luY2x1ZGUvYXNtLWkzODYvdG9wb2xvZ3kuaAotLS0gbnVtYXNjaGVkMi9pbmNsdWRlL2FzbS1p Mzg2L3RvcG9sb2d5LmgJVGh1IEphbiAgOSAxOToxNjoxMSAyMDAzCisrKyBudW1hc2NoZWQzL2lu Y2x1ZGUvYXNtLWkzODYvdG9wb2xvZ3kuaAlXZWQgSmFuIDE1IDE5OjI2OjAxIDIwMDMKQEAgLTYx LDYgKzYxLDkgQEAgc3RhdGljIGlubGluZSBpbnQgX19ub2RlX3RvX2ZpcnN0X2NwdShpbgogLyog UmV0dXJucyB0aGUgbnVtYmVyIG9mIHRoZSBmaXJzdCBNZW1CbGsgb24gTm9kZSAnbm9kZScgKi8K ICNkZWZpbmUgX19ub2RlX3RvX21lbWJsayhub2RlKSAobm9kZSkKIAorLyogQ3Jvc3Mtbm9kZSBs b2FkIGJhbGFuY2luZyBpbnRlcnZhbC4gKi8KKyNkZWZpbmUgTk9ERV9CQUxBTkNFX1JBVEUgMTAw CisKICNlbHNlIC8qICFDT05GSUdfTlVNQSAqLwogLyoKICAqIE90aGVyIGkzODYgcGxhdGZvcm1z IHNob3VsZCBkZWZpbmUgdGhlaXIgb3duIHZlcnNpb24gb2YgdGhlIApkaWZmIC11cnBOIC1YIC9o b21lL2ZsZXRjaC8uZGlmZi5leGNsdWRlIG51bWFzY2hlZDIvaW5jbHVkZS9hc20taWE2NC90b3Bv bG9neS5oIG51bWFzY2hlZDMvaW5jbHVkZS9hc20taWE2NC90b3BvbG9neS5oCi0tLSBudW1hc2No ZWQyL2luY2x1ZGUvYXNtLWlhNjQvdG9wb2xvZ3kuaAlTdW4gTm92IDE3IDIwOjI5OjIwIDIwMDIK KysrIG51bWFzY2hlZDMvaW5jbHVkZS9hc20taWE2NC90b3BvbG9neS5oCVdlZCBKYW4gMTUgMTk6 MjY6MDEgMjAwMwpAQCAtNjAsNCArNjAsNyBAQAogICovCiAjZGVmaW5lIF9fbm9kZV90b19tZW1i bGsobm9kZSkgKG5vZGUpCiAKKy8qIENyb3NzLW5vZGUgbG9hZCBiYWxhbmNpbmcgaW50ZXJ2YWwu ICovCisjZGVmaW5lIE5PREVfQkFMQU5DRV9SQVRFIDEwCisKICNlbmRpZiAvKiBfQVNNX0lBNjRf VE9QT0xPR1lfSCAqLwpkaWZmIC11cnBOIC1YIC9ob21lL2ZsZXRjaC8uZGlmZi5leGNsdWRlIG51 bWFzY2hlZDIvaW5jbHVkZS9hc20tcHBjNjQvdG9wb2xvZ3kuaCBudW1hc2NoZWQzL2luY2x1ZGUv YXNtLXBwYzY0L3RvcG9sb2d5LmgKLS0tIG51bWFzY2hlZDIvaW5jbHVkZS9hc20tcHBjNjQvdG9w b2xvZ3kuaAlUaHUgSmFuICA5IDE5OjE2OjEyIDIwMDMKKysrIG51bWFzY2hlZDMvaW5jbHVkZS9h c20tcHBjNjQvdG9wb2xvZ3kuaAlXZWQgSmFuIDE1IDE5OjI2OjAxIDIwMDMKQEAgLTQ2LDYgKzQ2 LDkgQEAgc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIF9fbm9kZV90b19jcAogCXJldHVybiBt YXNrOwogfQogCisvKiBDcm9zcy1ub2RlIGxvYWQgYmFsYW5jaW5nIGludGVydmFsLiAqLworI2Rl ZmluZSBOT0RFX0JBTEFOQ0VfUkFURSAxMAorCiAjZWxzZSAvKiAhQ09ORklHX05VTUEgKi8KIAog I2RlZmluZSBfX2NwdV90b19ub2RlKGNwdSkJCSgwKQpkaWZmIC11cnBOIC1YIC9ob21lL2ZsZXRj aC8uZGlmZi5leGNsdWRlIG51bWFzY2hlZDIva2VybmVsL3NjaGVkLmMgbnVtYXNjaGVkMy9rZXJu ZWwvc2NoZWQuYwotLS0gbnVtYXNjaGVkMi9rZXJuZWwvc2NoZWQuYwlXZWQgSmFuIDE1IDE5OjU2 OjQyIDIwMDMKKysrIG51bWFzY2hlZDMva2VybmVsL3NjaGVkLmMJV2VkIEphbiAxNSAyMDowMTox MiAyMDAzCkBAIC02Nyw2ICs2Nyw3IEBACiAjZGVmaW5lIElOVEVSQUNUSVZFX0RFTFRBCTIKICNk ZWZpbmUgTUFYX1NMRUVQX0FWRwkJKDIqSFopCiAjZGVmaW5lIFNUQVJWQVRJT05fTElNSVQJKDIq SFopCisjZGVmaW5lIE5PREVfVEhSRVNIT0xEICAgICAgICAgIDEyNQogCiAvKgogICogSWYgYSB0 YXNrIGlzICdpbnRlcmFjdGl2ZScgdGhlbiB3ZSByZWluc2VydCBpdCBpbiB0aGUgYWN0aXZlCkBA IC0xNTUsNiArMTU2LDggQEAgc3RydWN0IHJ1bnF1ZXVlIHsKIAlpbnQgcHJldl9ucl9ydW5uaW5n W05SX0NQVVNdOwogI2lmZGVmIENPTkZJR19OVU1BCiAJYXRvbWljX3QgKm5vZGVfbnJfcnVubmlu ZzsKKwl1bnNpZ25lZCBpbnQgbnJfYmFsYW5jZWQ7CisJaW50IHByZXZfbm9kZV9sb2FkW01BWF9O VU1OT0RFU107CiAjZW5kaWYKIAl0YXNrX3QgKm1pZ3JhdGlvbl90aHJlYWQ7CiAJc3RydWN0IGxp c3RfaGVhZCBtaWdyYXRpb25fcXVldWU7CkBAIC03MzUsMTQgKzczOCw1MiBAQCB2b2lkIHNjaGVk X2JhbGFuY2VfZXhlYyh2b2lkKQogCX0KIH0KIAotc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25n IGNwdXNfdG9fYmFsYW5jZShpbnQgdGhpc19jcHUpCisvKgorICogRmluZCB0aGUgYnVzaWVzdCBu b2RlLiBBbGwgcHJldmlvdXMgbm9kZSBsb2FkcyBjb250cmlidXRlIHdpdGggYSAKKyAqIGdlb21l dHJpY2FsbHkgZGVjY2F5aW5nIHdlaWdodCB0byB0aGUgbG9hZCBtZWFzdXJlOgorICogICAgICBs b2FkX3t0fSA9IGxvYWRfe3QtMX0vMiArIG5yX25vZGVfcnVubmluZ197dH0KKyAqIFRoaXMgd2F5 IHN1ZGRlbiBsb2FkIHBlYWtzIGFyZSBmbGF0dGVuZWQgb3V0IGEgYml0LgorICovCitzdGF0aWMg aW50IGZpbmRfYnVzaWVzdF9ub2RlKGludCB0aGlzX25vZGUpCit7CisJaW50IGksIG5vZGUgPSAt MSwgbG9hZCwgdGhpc19sb2FkLCBtYXhsb2FkOworCQorCXRoaXNfbG9hZCA9IG1heGxvYWQgPSAo dGhpc19ycSgpLT5wcmV2X25vZGVfbG9hZFt0aGlzX25vZGVdID4+IDEpCisJCSsgYXRvbWljX3Jl YWQoJm5vZGVfbnJfcnVubmluZ1t0aGlzX25vZGVdKTsKKwl0aGlzX3JxKCktPnByZXZfbm9kZV9s b2FkW3RoaXNfbm9kZV0gPSB0aGlzX2xvYWQ7CisJZm9yIChpID0gMDsgaSA8IG51bW5vZGVzOyBp KyspIHsKKwkJaWYgKGkgPT0gdGhpc19ub2RlKQorCQkJY29udGludWU7CisJCWxvYWQgPSAodGhp c19ycSgpLT5wcmV2X25vZGVfbG9hZFtpXSA+PiAxKQorCQkJKyBhdG9taWNfcmVhZCgmbm9kZV9u cl9ydW5uaW5nW2ldKTsKKwkJdGhpc19ycSgpLT5wcmV2X25vZGVfbG9hZFtpXSA9IGxvYWQ7CisJ CWlmIChsb2FkID4gbWF4bG9hZCAmJiAoMTAwKmxvYWQgPiBOT0RFX1RIUkVTSE9MRCp0aGlzX2xv YWQpKSB7CisJCQltYXhsb2FkID0gbG9hZDsKKwkJCW5vZGUgPSBpOworCQl9CisJfQorCXJldHVy biBub2RlOworfQorCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgY3B1c190b19iYWxhbmNl KGludCB0aGlzX2NwdSwgcnVucXVldWVfdCAqdGhpc19ycSkKIHsKLQlyZXR1cm4gX19ub2RlX3Rv X2NwdV9tYXNrKF9fY3B1X3RvX25vZGUodGhpc19jcHUpKTsKKwlpbnQgdGhpc19ub2RlID0gX19j cHVfdG9fbm9kZSh0aGlzX2NwdSk7CisJLyoKKwkgKiBBdm9pZCByZWJhbGFuY2luZyBiZXR3ZWVu IG5vZGVzIHRvbyBvZnRlbi4KKwkgKiBXZSByZWJhbGFuY2UgZ2xvYmFsbHkgb25jZSBldmVyeSBO T0RFX0JBTEFOQ0VfUkFURSBsb2FkIGJhbGFuY2VzLgorCSAqLworCWlmICgrKyh0aGlzX3JxLT5u cl9iYWxhbmNlZCkgPT0gTk9ERV9CQUxBTkNFX1JBVEUpIHsKKwkJaW50IG5vZGUgPSBmaW5kX2J1 c2llc3Rfbm9kZSh0aGlzX25vZGUpOworCQl0aGlzX3JxLT5ucl9iYWxhbmNlZCA9IDA7CisJCWlm IChub2RlID49IDApCisJCQlyZXR1cm4gKF9fbm9kZV90b19jcHVfbWFzayhub2RlKSB8ICgxVUwg PDwgdGhpc19jcHUpKTsKKwl9CisJcmV0dXJuIF9fbm9kZV90b19jcHVfbWFzayh0aGlzX25vZGUp OwogfQogCiAjZWxzZSAvKiAhQ09ORklHX05VTUEgKi8KIAotc3RhdGljIGlubGluZSB1bnNpZ25l ZCBsb25nIGNwdXNfdG9fYmFsYW5jZShpbnQgdGhpc19jcHUpCitzdGF0aWMgaW5saW5lIHVuc2ln bmVkIGxvbmcgY3B1c190b19iYWxhbmNlKGludCB0aGlzX2NwdSwgcnVucXVldWVfdCAqdGhpc19y cSkKIHsKIAlyZXR1cm4gY3B1X29ubGluZV9tYXA7CiB9CkBAIC04OTAsNyArOTMxLDcgQEAgc3Rh dGljIHZvaWQgbG9hZF9iYWxhbmNlKHJ1bnF1ZXVlX3QgKnRoaQogCXRhc2tfdCAqdG1wOwogCiAJ YnVzaWVzdCA9IGZpbmRfYnVzaWVzdF9xdWV1ZSh0aGlzX3JxLCB0aGlzX2NwdSwgaWRsZSwgJmlt YmFsYW5jZSwKLQkJCQkJY3B1c190b19iYWxhbmNlKHRoaXNfY3B1KSk7CisJCQkJCWNwdXNfdG9f YmFsYW5jZSh0aGlzX2NwdSwgdGhpc19ycSkpOwogCWlmICghYnVzaWVzdCkKIAkJZ290byBvdXQ7 CiAK --==========1827629384==========-- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/