Date: Sat, 8 Dec 2001 18:30:26 -0500 (EST) From: Mike Silbersack <silby@silby.com> To: <net@freebsd.org> Cc: David Xu <davidx@viasoft.com.cn>, Mike Barcroft <mike@FreeBSD.ORG>, Leo Bicknell <bicknell@ufp.org> Subject: mbuf / maxfiles / maxsockets / etc autoscaling patch Message-ID: <Pine.BSF.4.30.0112081756370.61906-200000@niwun.pair.com>
next in thread | raw e-mail | index | archive | help
This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. --0-1639610200-1007852484=:98646 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Content-ID: <Pine.BSF.4.30.0112081812131.98646@niwun.pair.com> Here's the autoscaling patch I was mumbling about earlier this week. With this patch applied, the necessity of tuning maxusers when one upgrades to a machine with more ram should be removed in most cases. (This patch is only to -current, the mbuf changes will make it not apply cleanly to -stable patch if there is sufficient demand right now.) Here's a quick look at the size of various memory allocations with various maxusers sizes and with the autoscaling patch: With maxusers: musers mproc mfiles msocket callout nmbcl nsfbuf tcp hash size 32 532 1064 1064 1612 1024 1024 512 64 1044 2088 2088 3148 1536 1536 512 128 2068 4136 4136 6220 2560 2560 512 256 4116 8232 8232 12364 4608 4608 512 With autoscaling: MB ram mproc mfiles msocket callout nmbcl nsfbuf tcp hash size 32 512 4096 2048 4624 1024 1024 512 64 1024 8192 4096 9232 2048 1024 512 128 2048 16384 8192 18448 4096 2048 1024 256 4096 32768 16384 36880 8192 4096 2048 384 6144 49152 24576 55312 12288 6144 3072 512 8192 65536 32767 73744 16384 8192 4096 (Values above this start to flatten out due to #defined maximums) Note that in general calculations are of the following form: value = max(maxusers-derived value, autoscale-derived value); value = loader tuned value if present As such, under no circumstances will people suddenly see a decrease in various parameters when they upgrade to an autoscaling kernel; only increases. I'm sure that there will be much commotion about what scaling factors are correct. To make changes to these easy, I have grouped all the mins, scaling factors, and maxes in param.h - tweaking them is quite simple. I included mins and maxes to make sure that autoscaling doesn't cause problems by creating low values on small memory machines and also so that it does not specify really high values on 2GB+ machines. The high case is what worries me; I have not heard much about how well maxsockets / nmbclusters > 32767 really works. If people running high volume systems that actively use that many simultaneous sockets + clusters + files, I'd be glad to bump up the maxes. Oh, there's one more kicker thrown in; I changed maxfilesperproc to equal 9/10ths of maxfiles, and maxprocperuid to equal 9/10 maxproc; this'll help to prevent a single process or user from forkbombing the system or running it out of file handles with a default configuration. Please review. Thanks, Mike "Silby" Silbersack --0-1639610200-1007852484=:98646 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="autoscale.patch" Content-Transfer-Encoding: BASE64 Content-ID: <Pine.BSF.4.30.0112081801240.98646@niwun.pair.com> Content-Description: Content-Disposition: ATTACHMENT; FILENAME="autoscale.patch" ZGlmZiAtdSAtciBzeXMub2xkL2FscGhhL2FscGhhL21hY2hkZXAuYyBzeXMv YWxwaGEvYWxwaGEvbWFjaGRlcC5jDQotLS0gc3lzLm9sZC9hbHBoYS9hbHBo YS9tYWNoZGVwLmMJU2F0IERlYyAgOCAxNjowNToxNSAyMDAxDQorKysgc3lz L2FscGhhL2FscGhhL21hY2hkZXAuYwlTYXQgRGVjICA4IDE2OjA1OjI4IDIw MDENCkBAIC01NTYsNyArNTU2LDcgQEANCiAJCWtlcm5fZW52cCA9IGJvb3Rp bmZvLmVudnA7DQogDQogCS8qIERvIGJhc2ljIHR1bmluZywgaHogZXRjICov DQotCWluaXRfcGFyYW0oKTsNCisJaW5pdF9oeigpOw0KIA0KIAkvKg0KIAkg KiBJbml0YWxpemUgdGhlICh0ZW1wb3JhcnkpIGJvb3RzdHJhcCBjb25zb2xl IGludGVyZmFjZSwgc28NCkBAIC04NjEsNiArODYxLDkgQEANCiAJCQlwaHlz bWVtIC09IChzeiAtIG5zeik7DQogCQl9DQogCX0NCisNCisJLyogSW5pdCBi YXNpYyB0dW5hYmxlcyAqLw0KKwlpbml0X3BhcmFtKGFscGhhX3B0b2IocGh5 c21lbSkpOw0KIA0KIAkvKg0KIAkgKiBJbml0aWFsaXplIGVycm9yIG1lc3Nh Z2UgYnVmZmVyIChhdCBlbmQgb2YgY29yZSkuDQpkaWZmIC11IC1yIHN5cy5v bGQvaTM4Ni9pMzg2L21hY2hkZXAuYyBzeXMvaTM4Ni9pMzg2L21hY2hkZXAu Yw0KLS0tIHN5cy5vbGQvaTM4Ni9pMzg2L21hY2hkZXAuYwlTYXQgRGVjICA4 IDE2OjA0OjU0IDIwMDENCisrKyBzeXMvaTM4Ni9pMzg2L21hY2hkZXAuYwlT YXQgRGVjICA4IDE2OjQzOjIwIDIwMDENCkBAIC0xNjkxLDggKzE2OTEsOCBA QA0KIAllbHNlIGlmIChib290aW5mby5iaV9lbnZwKQ0KIAkJa2Vybl9lbnZw ID0gKGNhZGRyX3QpYm9vdGluZm8uYmlfZW52cCArIEtFUk5CQVNFOw0KIA0K LQkvKiBJbml0IGJhc2ljIHR1bmFibGVzLCBoeiBldGMgKi8NCi0JaW5pdF9w YXJhbSgpOw0KKwkvKiBJbml0IGh6ICovDQorCWluaXRfaHooKTsNCiANCiAJ LyoNCiAJICogbWFrZSBnZHQgbWVtb3J5IHNlZ21lbnRzLCB0aGUgY29kZSBz ZWdtZW50IGdvZXMgdXAgdG8gZW5kIG9mIHRoZQ0KQEAgLTE4NzEsNiArMTg3 MSw5IEBADQogCWdldG1lbXNpemUoZmlyc3QpOw0KIA0KIAkvKiBub3cgcnVu bmluZyBvbiBuZXcgcGFnZSB0YWJsZXMsIGNvbmZpZ3VyZWQsYW5kIHUvaW9t IGlzIGFjY2Vzc2libGUgKi8NCisNCisJLyogSW5pdCBiYXNpYyB0dW5hYmxl cyAqLw0KKwlpbml0X3BhcmFtKHB0b2EoTWF4bWVtKSk7DQogDQogCS8qIE1h cCB0aGUgbWVzc2FnZSBidWZmZXIuICovDQogCWZvciAob2ZmID0gMDsgb2Zm IDwgcm91bmRfcGFnZShNU0dCVUZfU0laRSk7IG9mZiArPSBQQUdFX1NJWkUp DQpkaWZmIC11IC1yIHN5cy5vbGQvaWE2NC9pYTY0L21hY2hkZXAuYyBzeXMv aWE2NC9pYTY0L21hY2hkZXAuYw0KLS0tIHN5cy5vbGQvaWE2NC9pYTY0L21h Y2hkZXAuYwlTYXQgRGVjICA4IDE2OjA0OjUyIDIwMDENCisrKyBzeXMvaWE2 NC9pYTY0L21hY2hkZXAuYwlTYXQgRGVjICA4IDE2OjA1OjI4IDIwMDENCkBA IC01MjIsOCArNTIyLDggQEANCiAJLyogZ2V0IGZwc3dhIGludGVyZmFjZSAq Lw0KIAlmcHN3YV9pbnRlcmZhY2UgPSAoRlBTV0FfSU5URVJGQUNFKilJQTY0 X1BIWVNfVE9fUlI3KGJvb3RpbmZvLmJpX2Zwc3dhKTsNCiANCi0JLyogSW5p dCBiYXNpYyB0dW5hYmxlcywgaW5jbHVkaW5nIGh6ICovDQotCWluaXRfcGFy YW0oKTsNCisJLyogSW5pdCBoeiAqLw0KKwlpbml0X2h6KCk7DQogDQogCXAg PSBnZXRlbnYoImtlcm5lbG5hbWUiKTsNCiAJaWYgKHApDQpAQCAtNjIzLDYg KzYyMyw5IEBADQogCXBoeXNfYXZhaWxbcGh5c19hdmFpbF9jbnRdID0gMDsN CiANCiAJTWF4bWVtID0gcGh5c21lbTsNCisNCisJLyogSW5pdCBiYXNpYyB0 dW5hYmxlcyAqLw0KKwlpbml0X3BhcmFtKGlhNjRfcHRvYihwaHlzbWVtKSk7 DQogDQogCS8qDQogCSAqIEluaXRpYWxpemUgZXJyb3IgbWVzc2FnZSBidWZm ZXIgKGF0IGVuZCBvZiBjb3JlKS4NCmRpZmYgLXUgLXIgc3lzLm9sZC9rZXJu L3N1YnJfbWJ1Zi5jIHN5cy9rZXJuL3N1YnJfbWJ1Zi5jDQotLS0gc3lzLm9s ZC9rZXJuL3N1YnJfbWJ1Zi5jCVNhdCBEZWMgIDggMTY6MDQ6NTEgMjAwMQ0K KysrIHN5cy9rZXJuL3N1YnJfbWJ1Zi5jCVNhdCBEZWMgIDggMTY6MDk6MTcg MjAwMQ0KQEAgLTE1MSwxNSArMTUxLDIxIEBADQogc3RhdGljIHZvaWQNCiB0 dW5hYmxlX21iaW5pdCh2b2lkICpkdW1teSkNCiB7DQorCWludCBhdXRvbWNs cywgYXV0b3NmYnVmOw0KIA0KKwkvKiBDYWxjdWxhdGUgYXV0b3NjYWxlZCB2 YWx1ZXMsIGNob29zZSBpZiBncmVhdGVyLiAqLw0KKw0KKwlhdXRvbWNscyA9 IG1pbihNQVhBVVRPTUNMUywgbWF4KE1JTkFVVE9NQ0xTLCBNQ0xTUEVSTUIg KiBwaHlzbWVtTUIpKTsNCisJbm1iY2x1c3RlcnMgPSBtYXgoYXV0b21jbHMs IE5NQkNMVVNURVJTKTsNCisJYXV0b3NmYnVmID0gbWluKE1BWEFVVE9TRkJV RiwgbWF4KE1JTkFVVE9TRkJVRiwgU0ZCVUZQRVJNQiAqIHBoeXNtZW1NQikp Ow0KKwluc2ZidWZzID0gbWF4KGF1dG9zZmJ1ZiwgTlNGQlVGUyk7DQorCQ0K IAkvKg0KIAkgKiBUaGlzIGhhcyB0byBiZSBkb25lIGJlZm9yZSBWTSBpbml0 Lg0KIAkgKi8NCi0Jbm1iY2x1c3RlcnMgPSBOTUJDTFVTVEVSUzsNCiAJVFVO QUJMRV9JTlRfRkVUQ0goImtlcm4uaXBjLm5tYmNsdXN0ZXJzIiwgJm5tYmNs dXN0ZXJzKTsNCiAJbm1idWZzID0gTk1CVUZTOw0KIAlUVU5BQkxFX0lOVF9G RVRDSCgia2Vybi5pcGMubm1idWZzIiwgJm5tYnVmcyk7DQotCW5zZmJ1ZnMg PSBOU0ZCVUZTOw0KIAlUVU5BQkxFX0lOVF9GRVRDSCgia2Vybi5pcGMubnNm YnVmcyIsICZuc2ZidWZzKTsNCiAJbm1iY250ID0gTk1CQ05UUzsNCiAJVFVO QUJMRV9JTlRfRkVUQ0goImtlcm4uaXBjLm5tYmNudCIsICZubWJjbnQpOw0K ZGlmZiAtdSAtciBzeXMub2xkL2tlcm4vc3Vicl9wYXJhbS5jIHN5cy9rZXJu L3N1YnJfcGFyYW0uYw0KLS0tIHN5cy5vbGQva2Vybi9zdWJyX3BhcmFtLmMJ U2F0IERlYyAgOCAxNjowNDo1MSAyMDAxDQorKysgc3lzL2tlcm4vc3Vicl9w YXJhbS5jCVNhdCBEZWMgIDggMTY6MTA6MDggMjAwMQ0KQEAgLTkwLDM5ICs5 MCw0NiBAQA0KICAqLw0KIHN0cnVjdAlidWYgKnN3YnVmOw0KIA0KK2ludCBw aHlzbWVtTUI7DQorDQogLyoNCiAgKiBCb290IHRpbWUgb3ZlcnJpZGVzDQog ICovDQogdm9pZA0KLWluaXRfcGFyYW0odm9pZCkNCitpbml0X3BhcmFtKHVf aW50NjRfdCBtZW1ieXRlcykNCiB7DQorCWludCBtZW1zaXplbWI7DQorCWlu dCBhdXRvcHJvYywgYXV0b2ZpbGVzOw0KKw0KKwlwaHlzbWVtTUIgPSBtZW1i eXRlcyAvIDEwNDg1NzY7DQogDQotCS8qIEJhc2UgcGFyYW1ldGVycyAqLw0K KwkvKiBDYWxjdWxhdGUgbWF4dXNlcnMtZGVyaXZlZCB2YWx1ZXMuICovDQog CW1heHVzZXJzID0gTUFYVVNFUlM7DQogCVRVTkFCTEVfSU5UX0ZFVENIKCJr ZXJuLm1heHVzZXJzIiwgJm1heHVzZXJzKTsNCi0JaHogPSBIWjsNCi0JVFVO QUJMRV9JTlRfRkVUQ0goImtlcm4uaHoiLCAmaHopOw0KLQl0aWNrID0gMTAw MDAwMCAvIGh6Ow0KLQl0aWNrYWRqID0gaG93bWFueSgzMDAwMCwgNjAgKiBo eik7CS8qIGNhbiBhZGp1c3QgMzBtcyBpbiA2MHMgKi8NCi0NCi0JLyogVGhl IGZvbGxvd2luZyBjYW4gYmUgb3ZlcnJpZGRlbiBhZnRlciBib290IHZpYSBz eXNjdGwgKi8NCisJbmJ1ZiA9IE5CVUY7DQogCW1heHByb2MgPSBOUFJPQzsN Ci0JVFVOQUJMRV9JTlRfRkVUQ0goImtlcm4ubWF4cHJvYyIsICZtYXhwcm9j KTsNCiAJbWF4ZmlsZXMgPSBNQVhGSUxFUzsNCi0JVFVOQUJMRV9JTlRfRkVU Q0goImtlcm4ubWF4ZmlsZXMiLCAmbWF4ZmlsZXMpOw0KLQltYXhwcm9jcGVy dWlkID0gbWF4cHJvYyAtIDE7DQotCW1heGZpbGVzcGVycHJvYyA9IG1heGZp bGVzOw0KLQ0KLQkvKiBDYW5ub3QgYmUgY2hhbmdlZCBhZnRlciBib290ICov DQotCW5idWYgPSBOQlVGOw0KLQlUVU5BQkxFX0lOVF9GRVRDSCgia2Vybi5u YnVmIiwgJm5idWYpOw0KICNpZmRlZiBWTV9TV1pPTkVfU0laRV9NQVgNCiAJ bWF4c3d6b25lID0gVk1fU1daT05FX1NJWkVfTUFYOw0KICNlbmRpZg0KLQlU VU5BQkxFX0lOVF9GRVRDSCgia2Vybi5tYXhzd3pvbmUiLCAmbWF4c3d6b25l KTsNCiAjaWZkZWYgVk1fQkNBQ0hFX1NJWkVfTUFYDQogCW1heGJjYWNoZSA9 IFZNX0JDQUNIRV9TSVpFX01BWDsNCiAjZW5kaWYNCisNCisJLyogQ2FsY3Vs YXRlIGF1dG9zY2FsZWQgdmFsdWVzLCBjaG9vc2UgdGhlbSBpZiBncmVhdGVy IHRoYW4gYWJvdmUuICovDQorCWF1dG9wcm9jID0gbWluKE1BWEFVVE9QUk9D LCBtYXgoTUlOQVVUT1BST0MsIFBST0NQRVJNQiAqIHBoeXNtZW1NQikpOw0K KwltYXhwcm9jID0gbWF4KG1heHByb2MsIGF1dG9wcm9jKTsNCisJYXV0b2Zp bGVzID0gbWluKE1BWEFVVE9GSUxFUywgbWF4KE1JTkFVVE9GSUxFUywgRklM RVNQRVJNQiAqIHBoeXNtZW1NQikpOw0KKwltYXhmaWxlcyA9IG1heChtYXhm aWxlcywgYXV0b2ZpbGVzKTsNCisNCisJLyogQWxsb3cgbG9hZGVyLXNwZWNp ZmllZCB0dW5lYWJsZXMgdG8gdGFrZSBlZmZlY3QuICovDQorCVRVTkFCTEVf SU5UX0ZFVENIKCJrZXJuLm1heHByb2MiLCAmbWF4cHJvYyk7DQorCVRVTkFC TEVfSU5UX0ZFVENIKCJrZXJuLm1heGZpbGVzIiwgJm1heGZpbGVzKTsNCisJ bWF4cHJvY3BlcnVpZCA9IChtYXhwcm9jICogOSkgLyAxMDsNCisJbWF4Zmls ZXNwZXJwcm9jID0gKG1heGZpbGVzICogOSkgLyAxMDsNCisNCisJVFVOQUJM RV9JTlRfRkVUQ0goImtlcm4ubmJ1ZiIsICZuYnVmKTsNCisJVFVOQUJMRV9J TlRfRkVUQ0goImtlcm4ubWF4c3d6b25lIiwgJm1heHN3em9uZSk7DQogCVRV TkFCTEVfSU5UX0ZFVENIKCJrZXJuLm1heGJjYWNoZSIsICZtYXhiY2FjaGUp Ow0KIAluY2FsbG91dCA9IDE2ICsgbWF4cHJvYyArIG1heGZpbGVzOw0KIAlU VU5BQkxFX0lOVF9GRVRDSCgia2Vybi5uY2FsbG91dCIsICZuY2FsbG91dCk7 DQpAQCAtMTM5LDQgKzE0NiwxNiBAQA0KIAlUVU5BQkxFX1FVQURfRkVUQ0go Imtlcm4ubWF4c3NpeiIsICZtYXhzc2l6KTsNCiAJc2dyb3dzaXogPSBTR1JP V1NJWjsNCiAJVFVOQUJMRV9RVUFEX0ZFVENIKCJrZXJuLnNncm93c2l6Iiwg JnNncm93c2l6KTsNCit9DQorDQorLyoNCisgKiBTZXQgaHouICBUaGlzIG11 c3QgYmUgY2FsbGVkIGVhcmxpZXIgaW4gbWFjaGRlcC5jIHRoYW4gaW5pdF9w YXJhbSgpLg0KKyAqLw0KK3ZvaWQNCitpbml0X2h6KHZvaWQpDQorew0KKwlo eiA9IEhaOw0KKwlUVU5BQkxFX0lOVF9GRVRDSCgia2Vybi5oeiIsICZoeik7 DQorCXRpY2sgPSAxMDAwMDAwIC8gaHo7DQorCXRpY2thZGogPSBob3dtYW55 KDMwMDAwLCA2MCAqIGh6KTsJLyogY2FuIGFkanVzdCAzMG1zIGluIDYwcyAq Lw0KIH0NCmRpZmYgLXUgLXIgc3lzLm9sZC9rZXJuL3VpcGNfc29ja2V0Mi5j IHN5cy9rZXJuL3VpcGNfc29ja2V0Mi5jDQotLS0gc3lzLm9sZC9rZXJuL3Vp cGNfc29ja2V0Mi5jCVNhdCBEZWMgIDggMTY6MDQ6NTAgMjAwMQ0KKysrIHN5 cy9rZXJuL3VpcGNfc29ja2V0Mi5jCVNhdCBEZWMgIDggMTY6MDg6NDMgMjAw MQ0KQEAgLTEwMjYsNyArMTAyNiwxMiBAQA0KICAqLw0KIHN0YXRpYyB2b2lk IGluaXRfbWF4c29ja2V0cyh2b2lkICppZ25vcmVkKQ0KIHsNCisJaW50IGF1 dG9zb2NrZXRzLCBtYXh1c2Vyc3NvY2tldHM7DQorCQ0KKwlhdXRvc29ja2V0 cyA9IHBoeXNtZW1NQiAqIFNPQ0tFVFNQRVJNQjsNCisJYXV0b3NvY2tldHMg PSBtaW4oTUFYQVVUT1NPQ0tFVFMsIG1heChNSU5BVVRPU09DS0VUUywgYXV0 b3NvY2tldHMpKTsNCisJbWF4dXNlcnNzb2NrZXRzID0gMiAqICgyMCArICgx NiAqIG1heHVzZXJzKSk7IA0KKwltYXhzb2NrZXRzID0gbWF4KG1heHVzZXJz c29ja2V0cywgbWF4KGF1dG9zb2NrZXRzLCBubWJjbHVzdGVycykpOw0KIAlU VU5BQkxFX0lOVF9GRVRDSCgia2Vybi5pcGMubWF4c29ja2V0cyIsICZtYXhz b2NrZXRzKTsNCi0JbWF4c29ja2V0cyA9IGltYXgobWF4c29ja2V0cywgaW1h eChtYXhmaWxlcywgbm1iY2x1c3RlcnMpKTsNCiB9DQogU1lTSU5JVChwYXJh bSwgU0lfU1VCX1RVTkFCTEVTLCBTSV9PUkRFUl9BTlksIGluaXRfbWF4c29j a2V0cywgTlVMTCk7DQpkaWZmIC11IC1yIHN5cy5vbGQvbmV0aW5ldC90Y3Bf c3Vici5jIHN5cy9uZXRpbmV0L3RjcF9zdWJyLmMNCi0tLSBzeXMub2xkL25l dGluZXQvdGNwX3N1YnIuYwlTYXQgRGVjICA4IDE2OjA0OjQyIDIwMDENCisr KyBzeXMvbmV0aW5ldC90Y3Bfc3Vici5jCVNhdCBEZWMgIDggMTY6MTA6MzEg MjAwMQ0KQEAgLTE5MCw2ICsxOTAsNyBAQA0KIHRjcF9pbml0KCkNCiB7DQog CWludCBoYXNoc2l6ZSA9IFRDQkhBU0hTSVpFOw0KKwlpbnQgYXV0b2hhc2hz aXplOw0KIAkNCiAJdGNwX2NjZ2VuID0gMTsNCiAJdGNwX2NsZWFydGFvY2Fj aGUoKTsNCkBAIC0yMDMsNiArMjA0LDEzIEBADQogDQogCUxJU1RfSU5JVCgm dGNiKTsNCiAJdGNiaW5mby5saXN0aGVhZCA9ICZ0Y2I7DQorDQorCS8qIENh bGN1bGF0ZSBhdXRvc2NhbGVkIGhhc2ggc2l6ZSwgdXNlIGlmID4gZGVmYXVs dCBoYXNoIHNpemUuICovDQorCWF1dG9oYXNoc2l6ZSA9IHBoeXNtZW1NQiAq IFRDQkhBU0hQRVJNQjsNCisJYXV0b2hhc2hzaXplID0gbWluKE1BWEFVVE9U Q0JIQVNILCBtYXgoTUlOQVVUT1RDQkhBU0gsIGF1dG9oYXNoc2l6ZSkpOw0K Kwl3aGlsZSAoIXBvd2Vyb2YyKGF1dG9oYXNoc2l6ZSkpDQorCQlhdXRvaGFz aHNpemUrKzsNCisJaGFzaHNpemUgPSBtYXgoaGFzaHNpemUsIGF1dG9oYXNo c2l6ZSk7DQogCVRVTkFCTEVfSU5UX0ZFVENIKCJuZXQuaW5ldC50Y3AudGNi aGFzaHNpemUiLCAmaGFzaHNpemUpOw0KIAlpZiAoIXBvd2Vyb2YyKGhhc2hz aXplKSkgew0KIAkJcHJpbnRmKCJXQVJOSU5HOiBUQ0IgaGFzaCBzaXplIG5v dCBhIHBvd2VyIG9mIDJcbiIpOw0KZGlmZiAtdSAtciBzeXMub2xkL3Bvd2Vy cGMvcG93ZXJwYy9tYWNoZGVwLmMgc3lzL3Bvd2VycGMvcG93ZXJwYy9tYWNo ZGVwLmMNCi0tLSBzeXMub2xkL3Bvd2VycGMvcG93ZXJwYy9tYWNoZGVwLmMJ U2F0IERlYyAgOCAxNjowNDozOSAyMDAxDQorKysgc3lzL3Bvd2VycGMvcG93 ZXJwYy9tYWNoZGVwLmMJU2F0IERlYyAgOCAxNjo0ODozMCAyMDAxDQpAQCAt NDM2LDcgKzQzNiw4IEBADQogCV9fYXNtICgibXRzcHJnIDAsICUwIiA6OiAi ciIoZ2xvYmFscCkpOw0KIA0KIAkvKiBJbml0IGJhc2ljIHR1bmFibGVzLCBo eiBldGMgKi8NCi0JaW5pdF9wYXJhbSgpOw0KKwlpbml0X2h6KCk7DQorCWlu aXRfcGFyYW0oMCk7IC8qIFhYWCAtIG5lZWRzIHRvIGJlIGZlZCBwaHlzbWVt IGZvciBwcm9wZXIgYXV0b3NjYWxpbmcgKi8NCiANCiAJLyogc2V0dXAgY3Vy cHJvYyBzbyB0aGUgbXV0ZXhlcyB3b3JrICovDQogDQpkaWZmIC11IC1yIHN5 cy5vbGQvc3BhcmM2NC9zcGFyYzY0L21hY2hkZXAuYyBzeXMvc3BhcmM2NC9z cGFyYzY0L21hY2hkZXAuYw0KLS0tIHN5cy5vbGQvc3BhcmM2NC9zcGFyYzY0 L21hY2hkZXAuYwlTYXQgRGVjICA4IDE2OjA0OjM4IDIwMDENCisrKyBzeXMv c3BhcmM2NC9zcGFyYzY0L21hY2hkZXAuYwlTYXQgRGVjICA4IDE2OjQ3OjI5 IDIwMDENCkBAIC0yNDksMTAgKzI0OSwxMCBAQA0KIAkJZW5kID0gKHZtX29m ZnNldF90KV9lbmQ7DQogCX0NCiANCi0JLyoNCi0JICogSW5pdGlhbGl6ZSB0 dW5hYmxlcy4NCi0JICovDQotCWluaXRfcGFyYW0oKTsNCisJLyogSW5pdCBo eiAqLw0KKwlpbml0X2h6KCk7DQorCS8qIEluaXQgYmFzaWMgdHVuZWFibGVz IC0gWFhYIC0gdGhpcyBuZWVkcyB0byBiZSBtb3ZlZCBvbmNlIG1heG1lbSBl eGlzdHMgaGVyZS4gKi8NCisJaW5pdF9wYXJhbSgwKTsNCiANCiAjaWZkZWYg RERCDQogCWtkYl9pbml0KCk7DQpkaWZmIC11IC1yIHN5cy5vbGQvc3lzL3Bh cmFtLmggc3lzL3N5cy9wYXJhbS5oDQotLS0gc3lzLm9sZC9zeXMvcGFyYW0u aAlTYXQgRGVjICA4IDE2OjA0OjM3IDIwMDENCisrKyBzeXMvc3lzL3BhcmFt LmgJU2F0IERlYyAgOCAxNjowNToyOCAyMDAxDQpAQCAtMjMwLDYgKzIzMCw0 NCBAQA0KICNkZWZpbmUgY3RvZGIoZGIpCQkJLyogY2FsY3VsYXRlcyBwYWdl cyB0byBkZXZibGtzICovIFwNCiAJKChkYikgPDwgKFBBR0VfU0hJRlQgLSBE RVZfQlNISUZUKSkNCiANCisvKg0KKyAqIFZhbHVlcyB1c2VkIGluIGF1dG9z Y2FsaW5nIHN5c3RlbSBzdHJ1Y3R1cmVzIGJhc2VkIG9uIFJBTSBzaXplLg0K KyAqDQorICogQWx0aG91Z2ggc2V0dGluZ3MgYXJlIHNjYXR0ZXJlZCBhY3Jv c3MgdmFyaW91cyBzdWJzeXN0ZW1zLCBhDQorICogY29tbW9uIGZvcm11bGEg aXMgZm9sbG93ZWQuICBHZW5lcmFsbHksIHRoZXJlIGFyZSB0aHJlZQ0KKyAq IHBvc3NpYmxlIHZhbHVlcyB0byBjaG9vc2UgZnJvbTogIFRoZSB2YWx1ZSBz dWdnZXN0ZWQgYnkgbWF4dXNlcnMsDQorICogdGhlIHZhbHVlIHN1Z2dlc3Rl ZCBieSB0aGUgYXV0b3NjYWxpbmcgZm9ybXVsYSwgYW5kIGEgbWFudWFsbHkN CisgKiB0dW5lZCB2YWx1ZSBmcm9tIGxvYWRlci5jb25mLiAgSWYgYSBtYW51 YWxseSB0dW5lZCB2YWx1ZSBpcyBzcGVjaWZpZWQsDQorICogdGhpcyB2YWx1 ZSB3aWxsIGJlIHVzZWQuICBPdGhlcndpc2UsIHRoZSBtYXhpbXVtIG9mIHRo ZSBtYXh1c2Vycw0KKyAqIGFuZCBhdXRvc2NhbGVkIHNldHRpbmcgd2lsbCBi ZSB1c2VkLg0KKyAqDQorICovDQorDQorLyogTWF4IHByb2Nlc3NlcywgZmls ZXMuICBUaGVzZSBhcmUgc2V0IGluIHN1YnJfcGFyYW0uYyAqLw0KKyNkZWZp bmUgUFJPQ1BFUk1CIDE2DQorI2RlZmluZSBNSU5BVVRPUFJPQyAyNTYNCisj ZGVmaW5lIE1BWEFVVE9QUk9DIDMyMDAwDQorI2RlZmluZSBGSUxFU1BFUk1C IDEyOA0KKyNkZWZpbmUgTUlOQVVUT0ZJTEVTIDEwMjQNCisjZGVmaW5lIE1B WEFVVE9GSUxFUyA2NTUzNg0KKw0KKy8qIE1heCBzb2NrZXRzLiAgVGhlc2Ug YXJlIHNldCBpbiB1aXBjX3NvY2tldDIuYyAqLw0KKyNkZWZpbmUgU09DS0VU U1BFUk1CIDY0DQorI2RlZmluZSBNSU5BVVRPU09DS0VUUyA1MTINCisjZGVm aW5lIE1BWEFVVE9TT0NLRVRTIDMyMDAwDQorDQorLyogTWF4IG1idWYgY2x1 c3RlcnMsIHNlbmRmaWxlIGJ1ZmZlcnMuICBUaGVzZSBhcmUgc2V0IGluIHN1 YnJfbWJ1Zi5jICovDQorI2RlZmluZSBNQ0xTUEVSTUIgMzINCisjZGVmaW5l IE1JTkFVVE9NQ0xTIDUxMg0KKyNkZWZpbmUgTUFYQVVUT01DTFMgMzIwMDAN CisjZGVmaW5lIFNGQlVGUEVSTUIgMTYNCisjZGVmaW5lIE1JTkFVVE9TRkJV RiAxMDI0DQorI2RlZmluZSBNQVhBVVRPU0ZCVUYgMzIwMDANCisNCisvKiBO dW1iZXIgb2YgVENQIGhhc2ggYnVja2V0cy4gIFRoZXNlIGFyZSBzZXQgaW4g dGNwX3N1YnIuYyAqLw0KKyNkZWZpbmUgVENCSEFTSFBFUk1CIDgNCisjZGVm aW5lIE1JTkFVVE9UQ0JIQVNIIDUxMg0KKyNkZWZpbmUgTUFYQVVUT1RDQkhB U0ggODE5Mg0KIA0KIC8qDQogICogTWFrZSB0aGlzIGF2YWlsYWJsZSBmb3Ig bW9zdCBvZiB0aGUga2VybmVsLiAgVGhlcmUgd2VyZSB0b28gbWFueQ0KZGlm ZiAtdSAtciBzeXMub2xkL3N5cy9zeXN0bS5oIHN5cy9zeXMvc3lzdG0uaA0K LS0tIHN5cy5vbGQvc3lzL3N5c3RtLmgJU2F0IERlYyAgOCAxNjowNDozNyAy MDAxDQorKysgc3lzL3N5cy9zeXN0bS5oCVNhdCBEZWMgIDggMTY6MDc6NDUg MjAwMQ0KQEAgLTYwLDYgKzYwLDcgQEANCiBleHRlcm4gc3RydWN0IGN2IHNl bHdhaXQ7CS8qIHNlbGVjdCBjb25kaXRpb25hbCB2YXJpYWJsZSAqLw0KIA0K IGV4dGVybiBpbnQgcGh5c21lbTsJCS8qIHBoeXNpY2FsIG1lbW9yeSAqLw0K K2V4dGVybiBpbnQgcGh5c21lbU1COwkJLyogcGh5c2ljYWwgbWVtb3J5IHNp emUgaW4gbWVnYWJ5dGVzICovDQogDQogZXh0ZXJuIGRldl90IGR1bXBkZXY7 CQkvKiBkdW1wIGRldmljZSAqLw0KIGV4dGVybiBsb25nIGR1bXBsbzsJCS8q IG9mZnNldCBpbnRvIGR1bXBkZXYgKi8NCkBAIC0xMjEsNyArMTIyLDggQEAN CiANCiB2b2lkCWNwdV9ib290IF9fUCgoaW50KSk7DQogdm9pZAljcHVfcm9v dGNvbmYgX19QKCh2b2lkKSk7DQotdm9pZAlpbml0X3BhcmFtIF9fUCgodm9p ZCkpOw0KK3ZvaWQJaW5pdF9oeiBfX1AoKHZvaWQpKTsNCit2b2lkCWluaXRf cGFyYW0gX19QKCh1X2ludDY0X3QpKTsNCiB2b2lkCXRhYmxlZnVsbCBfX1Ao KGNvbnN0IGNoYXIgKikpOw0KIGludAlrdnByaW50ZiBfX1AoKGNoYXIgY29u c3QgKiwgdm9pZCAoKikoaW50LCB2b2lkKiksIHZvaWQgKiwgaW50LA0KIAkJ ICAgICAgX0JTRF9WQV9MSVNUXykpIF9fcHJpbnRmbGlrZSgxLCAwKTsNCg== --0-1639610200-1007852484=:98646-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.30.0112081756370.61906-200000>