Date: Mon, 17 Sep 2007 14:15:36 -0700 (PDT) From: Jeff Roberson <jroberson@chesapeake.net> To: current@freebsd.org Subject: Fix ULE swapping. Message-ID: <20070917141407.B558@10.0.0.1>
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. --0-1681148293-1190063736=:558 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed The enclosed patch changes the way the kernel detects how long as thread has been swapped out or sleeping so that it is more compatible with ULE. For those of you who have run into swapping problems with ULE leading to poor interactivity, please test and report back your findings. Thanks, Jeff --0-1681148293-1190063736=:558 Content-Type: TEXT/x-diff; charset=US-ASCII; name=swap2.diff Content-Transfer-Encoding: BASE64 Content-ID: <20070917141536.M558@10.0.0.1> Content-Description: Content-Disposition: attachment; filename=swap2.diff SW5kZXg6IGxpYi9saWJrdm0va3ZtX3Byb2MuYw0KPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQ0KUkNTIGZpbGU6IC9ob21lL25jdnMvc3JjL2xpYi9saWJrdm0v a3ZtX3Byb2MuYyx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuOTMNCmRpZmYg LXUgLXAgLXIxLjkzIGt2bV9wcm9jLmMNCi0tLSBsaWIvbGlia3ZtL2t2bV9w cm9jLmMJMTcgU2VwIDIwMDcgMDU6Mjc6MTggLTAwMDAJMS45Mw0KKysrIGxp Yi9saWJrdm0va3ZtX3Byb2MuYwkxNyBTZXAgMjAwNyAwNTo1ODowOSAtMDAw MA0KQEAgLTg1LDYgKzg1LDkgQEAgX19GQlNESUQoIiRGcmVlQlNEOiBzcmMv bGliL2xpYmt2bS9rdm1fcA0KICNkZWZpbmUgS1JFQUQoa2QsIGFkZHIsIG9i aikgXA0KIAkoa3ZtX3JlYWQoa2QsIGFkZHIsIChjaGFyICopKG9iaiksIHNp emVvZigqb2JqKSkgIT0gc2l6ZW9mKCpvYmopKQ0KIA0KK2ludCB0aWNrczsN CitpbnQgaHo7DQorDQogLyoNCiAgKiBSZWFkIHByb2MncyBmcm9tIG1lbW9y eSBmaWxlIGludG8gYnVmZmVyIGJwLCB3aGljaCBoYXMgc3BhY2UgdG8gaG9s ZA0KICAqIGF0IG1vc3QgbWF4Y250IHByb2NzLg0KQEAgLTM2OCw3ICszNzEs NyBAQCBub3BncnA6DQogCQlrcC0+a2lfYWNmbGFnID0gcHJvYy5wX2FjZmxh ZzsNCiAJCWtwLT5raV9sb2NrID0gcHJvYy5wX2xvY2s7DQogCQlpZiAocHJv Yy5wX3N0YXRlICE9IFBSU19aT01CSUUpIHsNCi0JCQlrcC0+a2lfc3d0aW1l ID0gcHJvYy5wX3N3dGltZTsNCisJCQlrcC0+a2lfc3d0aW1lID0gKHRpY2tz IC0gcHJvYy5wX3N3dGljaykgLyBoejsNCiAJCQlrcC0+a2lfZmxhZyA9IHBy b2MucF9mbGFnOw0KIAkJCWtwLT5raV9zZmxhZyA9IDA7DQogCQkJa3AtPmtp X25pY2UgPSBwcm9jLnBfbmljZTsNCkBAIC01MzUsMTIgKzUzOCwxNCBAQCBr dm1fZ2V0cHJvY3Moa2QsIG9wLCBhcmcsIGNudCkNCiBsaXZlb3V0Og0KIAkJ bnByb2NzID0gc2l6ZSA9PSAwID8gMCA6IHNpemUgLyBrZC0+cHJvY2Jhc2Ut PmtpX3N0cnVjdHNpemU7DQogCX0gZWxzZSB7DQotCQlzdHJ1Y3Qgbmxpc3Qg bmxbNF0sICpwOw0KKwkJc3RydWN0IG5saXN0IG5sWzZdLCAqcDsNCiANCiAJ CW5sWzBdLm5fbmFtZSA9ICJfbnByb2NzIjsNCiAJCW5sWzFdLm5fbmFtZSA9 ICJfYWxscHJvYyI7DQogCQlubFsyXS5uX25hbWUgPSAiX3pvbWJwcm9jIjsN Ci0JCW5sWzNdLm5fbmFtZSA9IDA7DQorCQlubFszXS5uX25hbWUgPSAiX3Rp Y2tzIjsNCisJCW5sWzRdLm5fbmFtZSA9ICJfaHoiOw0KKwkJbmxbNV0ubl9u YW1lID0gMDsNCiANCiAJCWlmIChrdm1fbmxpc3Qoa2QsIG5sKSAhPSAwKSB7 DQogCQkJZm9yIChwID0gbmw7IHAtPm5fdHlwZSAhPSAwOyArK3ApDQpAQCAt NTUzLDYgKzU1OCwxNCBAQCBsaXZlb3V0Og0KIAkJCV9rdm1fZXJyKGtkLCBr ZC0+cHJvZ3JhbSwgImNhbid0IHJlYWQgbnByb2NzIik7DQogCQkJcmV0dXJu ICgwKTsNCiAJCX0NCisJCWlmIChLUkVBRChrZCwgbmxbM10ubl92YWx1ZSwg JnRpY2tzKSkgew0KKwkJCV9rdm1fZXJyKGtkLCBrZC0+cHJvZ3JhbSwgImNh bid0IHJlYWQgdGlja3MiKTsNCisJCQlyZXR1cm4gKDApOw0KKwkJfQ0KKwkJ aWYgKEtSRUFEKGtkLCBubFs0XS5uX3ZhbHVlLCAmaHopKSB7DQorCQkJX2t2 bV9lcnIoa2QsIGtkLT5wcm9ncmFtLCAiY2FuJ3QgcmVhZCBoeiIpOw0KKwkJ CXJldHVybiAoMCk7DQorCQl9DQogCQlzaXplID0gbnByb2NzICogc2l6ZW9m KHN0cnVjdCBraW5mb19wcm9jKTsNCiAJCWtkLT5wcm9jYmFzZSA9IChzdHJ1 Y3Qga2luZm9fcHJvYyAqKV9rdm1fbWFsbG9jKGtkLCBzaXplKTsNCiAJCWlm IChrZC0+cHJvY2Jhc2UgPT0gMCkNCkluZGV4OiBzeXMva2Vybi9rZXJuX2Zv cmsuYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9ob21l L25jdnMvc3JjL3N5cy9rZXJuL2tlcm5fZm9yay5jLHYNCnJldHJpZXZpbmcg cmV2aXNpb24gMS4yODENCmRpZmYgLXUgLXAgLXIxLjI4MSBrZXJuX2Zvcmsu Yw0KLS0tIHN5cy9rZXJuL2tlcm5fZm9yay5jCTE3IFNlcCAyMDA3IDA1OjI3 OjIwIC0wMDAwCTEuMjgxDQorKysgc3lzL2tlcm4va2Vybl9mb3JrLmMJMTcg U2VwIDIwMDcgMDU6NDg6NTMgLTAwMDANCkBAIC01MDAsNiArNTAwLDcgQEAg YWdhaW46DQogCSAqIEluY3JlYXNlIHJlZmVyZW5jZSBjb3VudHMgb24gc2hh cmVkIG9iamVjdHMuDQogCSAqLw0KIAlwMi0+cF9mbGFnID0gUF9JTk1FTTsN CisJcDItPnBfc3d0aWNrID0gdGlja3M7DQogCWlmIChwMS0+cF9mbGFnICYg UF9QUk9GSUwpDQogCQlzdGFydHByb2ZjbG9jayhwMik7DQogCXRkMi0+dGRf dWNyZWQgPSBjcmhvbGQocDItPnBfdWNyZWQpOw0KSW5kZXg6IHN5cy9rZXJu L2tlcm5fcHJvYy5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmls ZTogL2hvbWUvbmN2cy9zcmMvc3lzL2tlcm4va2Vybl9wcm9jLmMsdg0KcmV0 cmlldmluZyByZXZpc2lvbiAxLjI1MQ0KZGlmZiAtdSAtcCAtcjEuMjUxIGtl cm5fcHJvYy5jDQotLS0gc3lzL2tlcm4va2Vybl9wcm9jLmMJMTcgU2VwIDIw MDcgMDU6Mjc6MjAgLTAwMDAJMS4yNTENCisrKyBzeXMva2Vybi9rZXJuX3By b2MuYwkxNyBTZXAgMjAwNyAwNjowMzoyMSAtMDAwMA0KQEAgLTY5NCw3ICs2 OTQsOCBAQCBmaWxsX2tpbmZvX3Byb2Nfb25seShzdHJ1Y3QgcHJvYyAqcCwg c3RyDQogCQlrcC0+a2lfc2ZsYWcgPSBQU19JTk1FTTsNCiAJZWxzZQ0KIAkJ a3AtPmtpX3NmbGFnID0gMDsNCi0Ja3AtPmtpX3N3dGltZSA9IHAtPnBfc3d0 aW1lOw0KKwkvKiBDYWxjdWxhdGUgbGVnYWN5IHN3dGltZSBhcyBzZWNvbmRz IHNpbmNlICdzd3RpY2snLiAqLw0KKwlrcC0+a2lfc3d0aW1lID0gKHRpY2tz IC0gcC0+cF9zd3RpY2spIC8gaHo7DQogCWtwLT5raV9waWQgPSBwLT5wX3Bp ZDsNCiAJa3AtPmtpX25pY2UgPSBwLT5wX25pY2U7DQogCXJ1ZmV0Y2gocCwg JmtwLT5raV9ydXNhZ2UpOw0KQEAgLTgxMiw3ICs4MTMsNyBAQCBmaWxsX2tp bmZvX3RocmVhZChzdHJ1Y3QgdGhyZWFkICp0ZCwgc3RyDQogCWtwLT5raV9r c3RhY2sgPSAodm9pZCAqKXRkLT50ZF9rc3RhY2s7DQogCWtwLT5raV9wY3Rj cHUgPSBzY2hlZF9wY3RjcHUodGQpOw0KIAlrcC0+a2lfZXN0Y3B1ID0gdGQt PnRkX2VzdGNwdTsNCi0Ja3AtPmtpX3NscHRpbWUgPSB0ZC0+dGRfc2xwdGlt ZTsNCisJa3AtPmtpX3NscHRpbWUgPSAodGlja3MgLSB0ZC0+dGRfc2xwdGlj aykgLyBoejsNCiAJa3AtPmtpX3ByaS5wcmlfY2xhc3MgPSB0ZC0+dGRfcHJp X2NsYXNzOw0KIAlrcC0+a2lfcHJpLnByaV91c2VyID0gdGQtPnRkX3VzZXJf cHJpOw0KIA0KSW5kZXg6IHN5cy9rZXJuL3NjaGVkXzRic2QuYw0KPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9ob21lL25jdnMvc3JjL3N5 cy9rZXJuL3NjaGVkXzRic2QuYyx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEu MTA0DQpkaWZmIC11IC1wIC1yMS4xMDQgc2NoZWRfNGJzZC5jDQotLS0gc3lz L2tlcm4vc2NoZWRfNGJzZC5jCTE3IFNlcCAyMDA3IDA1OjI3OjIwIC0wMDAw CTEuMTA0DQorKysgc3lzL2tlcm4vc2NoZWRfNGJzZC5jCTE3IFNlcCAyMDA3 IDA2OjA2OjM5IC0wMDAwDQpAQCAtODQsNiArODQsNyBAQCBzdHJ1Y3QgdGRf c2NoZWQgew0KIAlmaXhwdF90CQl0c19wY3RjcHU7CS8qIChqKSAlY3B1IGR1 cmluZyBwX3N3dGltZS4gKi8NCiAJdV9jaGFyCQl0c19ycWluZGV4OwkvKiAo aikgUnVuIHF1ZXVlIGluZGV4LiAqLw0KIAlpbnQJCXRzX2NwdGlja3M7CS8q IChqKSBUaWNrcyBvZiBjcHUgdGltZS4gKi8NCisJaW50CQl0c19zbHB0aW1l OwkvKiAoaikgU2Vjb25kcyAhUlVOTklORy4gKi8NCiAJc3RydWN0IHJ1bnEJ KnRzX3J1bnE7CS8qIHJ1bnEgdGhlIHRocmVhZCBpcyBjdXJyZW50bHkgb24g Ki8NCiB9Ow0KIA0KQEAgLTM3OSwxMSArMzgwLDYgQEAgc2NoZWRjcHUodm9p ZCkNCiAJc3hfc2xvY2soJmFsbHByb2NfbG9jayk7DQogCUZPUkVBQ0hfUFJP Q19JTl9TWVNURU0ocCkgew0KIAkJUFJPQ19TTE9DSyhwKTsNCi0JCS8qDQot CQkgKiBJbmNyZW1lbnQgdGltZSBpbi9vdXQgb2YgbWVtb3J5LiAgV2UgaWdu b3JlIG92ZXJmbG93OyB3aXRoDQotCQkgKiAxNi1iaXQgaW50J3MgKHJlbWVt YmVyIHRoZW0/KSBvdmVyZmxvdyB0YWtlcyA0NSBkYXlzLg0KLQkJICovDQot CQlwLT5wX3N3dGltZSsrOw0KIAkJRk9SRUFDSF9USFJFQURfSU5fUFJPQyhw LCB0ZCkgeyANCiAJCQlhd2FrZSA9IDA7DQogCQkJdGhyZWFkX2xvY2sodGQp Ow0KQEAgLTQ0MCw3ICs0MzYsNyBAQCBYWFggIHRoaXMgaXMgYnJva2VuDQog DQogCQkJICovDQogCQkJaWYgKGF3YWtlKSB7DQotCQkJCWlmICh0ZC0+dGRf c2xwdGltZSA+IDEpIHsNCisJCQkJaWYgKHRzLT50c19zbHB0aW1lID4gMSkg ew0KIAkJCQkJLyoNCiAJCQkJCSAqIEluIGFuIGlkZWFsIHdvcmxkLCB0aGlz IHNob3VsZCBub3QNCiAJCQkJCSAqIGhhcHBlbiwgYmVjYXVzZSB3aG9ldmVy IHdva2UgdXMNCkBAIC00NTIsMTAgKzQ0OCwxMCBAQCBYWFggIHRoaXMgaXMg YnJva2VuDQogCQkJCQkgKi8NCiAJCQkJCXVwZGF0ZXByaSh0ZCk7DQogCQkJ CX0NCi0JCQkJdGQtPnRkX3NscHRpbWUgPSAwOw0KKwkJCQl0cy0+dHNfc2xw dGltZSA9IDA7DQogCQkJfSBlbHNlDQotCQkJCXRkLT50ZF9zbHB0aW1lKys7 DQotCQkJaWYgKHRkLT50ZF9zbHB0aW1lID4gMSkgew0KKwkJCQl0cy0+dHNf c2xwdGltZSsrOw0KKwkJCWlmICh0cy0+dHNfc2xwdGltZSA+IDEpIHsNCiAJ CQkJdGhyZWFkX3VubG9jayh0ZCk7DQogCQkJCWNvbnRpbnVlOw0KIAkJCX0N CkBAIC00OTAsMTYgKzQ4NiwxOCBAQCBzY2hlZGNwdV90aHJlYWQodm9pZCkN CiBzdGF0aWMgdm9pZA0KIHVwZGF0ZXByaShzdHJ1Y3QgdGhyZWFkICp0ZCkN CiB7DQotCXJlZ2lzdGVyIGZpeHB0X3QgbG9hZGZhYzsNCi0JcmVnaXN0ZXIg dW5zaWduZWQgaW50IG5ld2NwdTsNCisJc3RydWN0IHRkX3NjaGVkICp0czsN CisJZml4cHRfdCBsb2FkZmFjOw0KKwl1bnNpZ25lZCBpbnQgbmV3Y3B1Ow0K IA0KKwl0cyA9IHRkLT50ZF9zY2hlZDsNCiAJbG9hZGZhYyA9IGxvYWRmYWN0 b3IoYXZlcnVubmFibGUubGRhdmdbMF0pOw0KLQlpZiAodGQtPnRkX3NscHRp bWUgPiA1ICogbG9hZGZhYykNCisJaWYgKHRzLT50c19zbHB0aW1lID4gNSAq IGxvYWRmYWMpDQogCQl0ZC0+dGRfZXN0Y3B1ID0gMDsNCiAJZWxzZSB7DQog CQluZXdjcHUgPSB0ZC0+dGRfZXN0Y3B1Ow0KLQkJdGQtPnRkX3NscHRpbWUt LTsJLyogd2FzIGluY3JlbWVudGVkIGluIHNjaGVkY3B1KCkgKi8NCi0JCXdo aWxlIChuZXdjcHUgJiYgLS10ZC0+dGRfc2xwdGltZSkNCisJCXRzLT50c19z bHB0aW1lLS07CS8qIHdhcyBpbmNyZW1lbnRlZCBpbiBzY2hlZGNwdSgpICov DQorCQl3aGlsZSAobmV3Y3B1ICYmIC0tdHMtPnRzX3NscHRpbWUpDQogCQkJ bmV3Y3B1ID0gZGVjYXlfY3B1KGxvYWRmYWMsIG5ld2NwdSk7DQogCQl0ZC0+ dGRfZXN0Y3B1ID0gbmV3Y3B1Ow0KIAl9DQpAQCAtODI3LDcgKzgyNSw4IEBA IHNjaGVkX3NsZWVwKHN0cnVjdCB0aHJlYWQgKnRkKQ0KIHsNCiANCiAJVEhS RUFEX0xPQ0tfQVNTRVJUKHRkLCBNQV9PV05FRCk7DQotCXRkLT50ZF9zbHB0 aW1lID0gMDsNCisJdGQtPnRkX3NscHRpY2sgPSB0aWNrczsNCisJdGQtPnRk X3NjaGVkLT50c19zbHB0aW1lID0gMDsNCiB9DQogDQogdm9pZA0KQEAgLTkz OSwxMiArOTM4LDE2IEBAIHNjaGVkX3N3aXRjaChzdHJ1Y3QgdGhyZWFkICp0 ZCwgc3RydWN0IHQNCiB2b2lkDQogc2NoZWRfd2FrZXVwKHN0cnVjdCB0aHJl YWQgKnRkKQ0KIHsNCisJc3RydWN0IHRkX3NjaGVkICp0czsNCisNCiAJVEhS RUFEX0xPQ0tfQVNTRVJUKHRkLCBNQV9PV05FRCk7DQotCWlmICh0ZC0+dGRf c2xwdGltZSA+IDEpIHsNCisJdHMgPSB0ZC0+dGRfc2NoZWQ7DQorCWlmICh0 cy0+dHNfc2xwdGltZSA+IDEpIHsNCiAJCXVwZGF0ZXByaSh0ZCk7DQogCQly ZXNldHByaW9yaXR5KHRkKTsNCiAJfQ0KLQl0ZC0+dGRfc2xwdGltZSA9IDA7 DQorCXRkLT50ZF9zbHB0aWNrID0gdGlja3M7DQorCXRzLT50c19zbHB0aW1l ID0gMDsNCiAJc2NoZWRfYWRkKHRkLCBTUlFfQk9SSU5HKTsNCiB9DQogDQpJ bmRleDogc3lzL2tlcm4vc2NoZWRfdWxlLmMNCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0NClJDUyBmaWxlOiAvaG9tZS9uY3ZzL3NyYy9zeXMva2Vybi9zY2hl ZF91bGUuYyx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjA2DQpkaWZmIC11 IC1wIC1yMS4yMDYgc2NoZWRfdWxlLmMNCi0tLSBzeXMva2Vybi9zY2hlZF91 bGUuYwkxNyBTZXAgMjAwNyAwNToyNzoyMCAtMDAwMAkxLjIwNg0KKysrIHN5 cy9rZXJuL3NjaGVkX3VsZS5jCTE3IFNlcCAyMDA3IDA2OjA3OjMwIC0wMDAw DQpAQCAtODgsNyArODgsNiBAQCBzdHJ1Y3QgdGRfc2NoZWQgewkNCiAJc2hv cnQJCXRzX2ZsYWdzOwkvKiBUU0ZfKiBmbGFncy4gKi8NCiAJdV9jaGFyCQl0 c19ycWluZGV4OwkvKiBSdW4gcXVldWUgaW5kZXguICovDQogCXVfY2hhcgkJ dHNfY3B1OwkJLyogQ1BVIHRoYXQgd2UgaGF2ZSBhZmZpbml0eSBmb3IuICov DQotCWludAkJdHNfc2xwdGljazsJLyogVGljayB3aGVuIHdlIHdlbnQgdG8g c2xlZXAuICovDQogCWludAkJdHNfc2xpY2U7CS8qIFRpY2tzIG9mIHNsaWNl IHJlbWFpbmluZy4gKi8NCiAJdV9pbnQJCXRzX3NscHRpbWU7CS8qIE51bWJl ciBvZiB0aWNrcyB3ZSB2b2wuIHNsZXB0ICovDQogCXVfaW50CQl0c19ydW50 aW1lOwkvKiBOdW1iZXIgb2YgdGlja3Mgd2Ugd2VyZSBydW5uaW5nICovDQpA QCAtMTkxNCw3ICsxOTEzLDcgQEAgc2NoZWRfc2xlZXAoc3RydWN0IHRocmVh ZCAqdGQpDQogDQogCVRIUkVBRF9MT0NLX0FTU0VSVCh0ZCwgTUFfT1dORUQp Ow0KIA0KLQl0ZC0+dGRfc2NoZWQtPnRzX3NscHRpY2sgPSB0aWNrczsNCisJ dGQtPnRkX3NscHRpY2sgPSB0aWNrczsNCiB9DQogDQogLyoNCkBAIC0xOTMz LDggKzE5MzIsOCBAQCBzY2hlZF93YWtldXAoc3RydWN0IHRocmVhZCAqdGQp DQogCSAqIElmIHdlIHNsZXB0IGZvciBtb3JlIHRoYW4gYSB0aWNrIHVwZGF0 ZSBvdXIgaW50ZXJhY3Rpdml0eSBhbmQNCiAJICogcHJpb3JpdHkuDQogCSAq Lw0KLQlzbHB0aWNrID0gdHMtPnRzX3NscHRpY2s7DQotCXRzLT50c19zbHB0 aWNrID0gMDsNCisJc2xwdGljayA9IHRkLT50ZF9zbHB0aWNrOw0KKwl0ZC0+ dGRfc2xwdGljayA9IDA7DQogCWlmIChzbHB0aWNrICYmIHNscHRpY2sgIT0g dGlja3MpIHsNCiAJCXVfaW50IGh6dGlja3M7DQogDQpAQCAtMjQzNSw3ICsy NDM0LDYgQEAgc2NoZWRfcGN0Y3B1KHN0cnVjdCB0aHJlYWQgKnRkKQ0KIAkJ cnRpY2sgPSBtaW4oU0NIRURfVElDS19IWih0cykgLyBTQ0hFRF9USUNLX1NF Q1MsIGh6KTsNCiAJCXBjdGNwdSA9IChGU0NBTEUgKiAoKEZTQ0FMRSAqIHJ0 aWNrKS9oeikpID4+IEZTSElGVDsNCiAJfQ0KLQl0ZC0+dGRfcHJvYy0+cF9z d3RpbWUgPSB0cy0+dHNfbHRpY2sgLSB0cy0+dHNfZnRpY2s7DQogCXRocmVh ZF91bmxvY2sodGQpOw0KIA0KIAlyZXR1cm4gKHBjdGNwdSk7DQpJbmRleDog c3lzL3N5cy9wcm9jLmgNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBm aWxlOiAvaG9tZS9uY3ZzL3NyYy9zeXMvc3lzL3Byb2MuaCx2DQpyZXRyaWV2 aW5nIHJldmlzaW9uIDEuNDkwDQpkaWZmIC11IC1wIC1yMS40OTAgcHJvYy5o DQotLS0gc3lzL3N5cy9wcm9jLmgJMTcgU2VwIDIwMDcgMDU6Mjc6MjEgLTAw MDAJMS40OTANCisrKyBzeXMvc3lzL3Byb2MuaAkxNyBTZXAgMjAwNyAwNjow MDo1MCAtMDAwMA0KQEAgLTI0Miw3ICsyNDIsNyBAQCBzdHJ1Y3QgdGhyZWFk IHsNCiAJc3RydWN0IHRocmVhZAkqdGRfc3RhbmRpbjsJLyogKGsgKyBhKSBV c2UgdGhpcyBmb3IgYW4gdXBjYWxsLiAqLw0KIAlzdHJ1Y3Qga3NlX3VwY2Fs bCAqdGRfdXBjYWxsOwkvKiAoayArIHQpIFVwY2FsbCBzdHJ1Y3R1cmUuICov DQogCXVfaW50CQl0ZF9lc3RjcHU7CS8qICh0KSBlc3RpbWF0ZWQgY3B1IHV0 aWxpemF0aW9uICovDQotCXVfaW50CQl0ZF9zbHB0aW1lOwkvKiAodCkgSG93 IGxvbmcgY29tcGxldGVseSBibG9ja2VkLiAqLw0KKwl1X2ludAkJdGRfc2xw dGljazsJLyogKHQpIFRpbWUgYXQgc2xlZXAuICovDQogCXN0cnVjdCBydXNh Z2UJdGRfcnU7CQkvKiAodCkgcnVzYWdlIGluZm9ybWF0aW9uICovDQogCXVp bnQ2NF90CXRkX3J1bnRpbWU7CS8qICh0KSBIb3cgbWFueSBjcHUgdGlja3Mg d2UndmUgcnVuLiAqLw0KIAl1X2ludCAJCXRkX3B0aWNrczsJLyogKHQpIFN0 YXRjbG9jayBoaXRzIGZvciBwcm9maWxpbmcgKi8NCkBAIC01MjAsNyArNTIw LDcgQEAgc3RydWN0IHByb2Mgew0KICNkZWZpbmUJcF9zdGFydHplcm8JcF9v cHBpZA0KIAlwaWRfdAkJcF9vcHBpZDsJLyogKGMgKyBlKSBTYXZlIHBwaWQg aW4gcHRyYWNlLiBYWFggKi8NCiAJc3RydWN0IHZtc3BhY2UJKnBfdm1zcGFj ZTsJLyogKGIpIEFkZHJlc3Mgc3BhY2UuICovDQotCXVfaW50CQlwX3N3dGlt ZTsJLyogKGopIFRpbWUgc3dhcHBlZCBpbiBvciBvdXQuICovDQorCXVfaW50 CQlwX3N3dGljazsJLyogKGopIFRpY2sgd2hlbiBzd2FwcGVkIGluIG9yIG91 dC4gKi8NCiAJc3RydWN0IGl0aW1lcnZhbCBwX3JlYWx0aW1lcjsJLyogKGMp IEFsYXJtIHRpbWVyLiAqLw0KIAlzdHJ1Y3QgcnVzYWdlCXBfcnU7CQkvKiAo YSkgRXhpdCBpbmZvcm1hdGlvbi4gKi8NCiAJc3RydWN0IHJ1c2FnZV9leHQg cF9ydXg7CS8qIChjaikgSW50ZXJuYWwgcmVzb3VyY2UgdXNhZ2UuICovDQpJ bmRleDogc3lzL3ZtL3ZtX2dsdWUuYw0KPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQ0KUkNTIGZpbGU6IC9ob21lL25jdnMvc3JjL3N5cy92bS92bV9nbHVlLmMs dg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjIyNA0KZGlmZiAtdSAtcCAtcjEu MjI0IHZtX2dsdWUuYw0KLS0tIHN5cy92bS92bV9nbHVlLmMJMTcgU2VwIDIw MDcgMDU6Mjc6MjEgLTAwMDAJMS4yMjQNCisrKyBzeXMvdm0vdm1fZ2x1ZS5j CTE3IFNlcCAyMDA3IDA2OjA1OjA3IC0wMDAwDQpAQCAtNjM2LDcgKzYzNiw3 IEBAIGZhdWx0aW4ocCkNCiAJCVBST0NfTE9DSyhwKTsNCiAJCVBST0NfU0xP Q0socCk7DQogCQlzd2FwY2xlYXIocCk7DQotCQlwLT5wX3N3dGltZSA9IDA7 DQorCQlwLT5wX3N3dGljayA9IHRpY2tzOw0KIAkJUFJPQ19TVU5MT0NLKHAp Ow0KIA0KIAkJd2FrZXVwKCZwLT5wX2ZsYWcpOw0KQEAgLTY2Myw5ICs2NjMs MTEgQEAgc2NoZWR1bGVyKGR1bW15KQ0KIHsNCiAJc3RydWN0IHByb2MgKnA7 DQogCXN0cnVjdCB0aHJlYWQgKnRkOw0KLQlpbnQgcHJpOw0KIAlzdHJ1Y3Qg cHJvYyAqcHA7DQorCWludCBzbHB0aW1lOw0KKwlpbnQgc3d0aW1lOw0KIAlp bnQgcHByaTsNCisJaW50IHByaTsNCiANCiAJbXR4X2Fzc2VydCgmR2lhbnQs IE1BX09XTkVEIHwgTUFfTk9UUkVDVVJTRUQpOw0KIAltdHhfdW5sb2NrKCZH aWFudCk7DQpAQCAtNjg4LDYgKzY5MCw3IEBAIGxvb3A6DQogCQkJUFJPQ19V TkxPQ0socCk7DQogCQkJY29udGludWU7DQogCQl9DQorCQlzd3RpbWUgPSAo dGlja3MgLSBwLT5wX3N3dGljaykgLyBoejsNCiAJCVBST0NfU0xPQ0socCk7 DQogCQlGT1JFQUNIX1RIUkVBRF9JTl9QUk9DKHAsIHRkKSB7DQogCQkJLyoN CkBAIC02OTcsNyArNzAwLDggQEAgbG9vcDoNCiAJCQkgKi8NCiAJCQl0aHJl YWRfbG9jayh0ZCk7DQogCQkJaWYgKHRkLT50ZF9pbmhpYml0b3JzID09IFRE SV9TV0FQUEVEKSB7DQotCQkJCXByaSA9IHAtPnBfc3d0aW1lICsgdGQtPnRk X3NscHRpbWU7DQorCQkJCXNscHRpbWUgPSAodGlja3MgLSB0ZC0+dGRfc2xw dGljaykgLyBoejsNCisJCQkJcHJpID0gc3d0aW1lICsgc2xwdGltZTsNCiAJ CQkJaWYgKCh0ZC0+dGRfZmxhZ3MgJiBUREZfU1dBUElOUkVRKSA9PSAwKQ0K IAkJCQkJcHJpIC09IHAtPnBfbmljZSAqIDg7DQogCQkJCS8qDQpAQCAtODE2 LDYgKzgyMCw3IEBAIHJldHJ5Og0KIAlGT1JFQUNIX1BST0NfSU5fU1lTVEVN KHApIHsNCiAJCXN0cnVjdCB2bXNwYWNlICp2bTsNCiAJCWludCBtaW5zbHB0 aW1lID0gMTAwMDAwOw0KKwkJaW50IHNscHRpbWU7DQogCQkNCiAJCS8qDQog CQkgKiBXYXRjaCBvdXQgZm9yIGEgcHJvY2VzcyBpbg0KQEAgLTg4MiwxMiAr ODg3LDEyIEBAIHJldHJ5Og0KIAkJCQkJdGhyZWFkX3VubG9jayh0ZCk7DQog CQkJCQlnb3RvIG5leHRwcm9jOw0KIAkJCQl9DQotDQorCQkJCXNscHRpbWUg PSAodGlja3MgLSB0ZC0+dGRfc2xwdGljaykgLyBoejsNCiAJCQkJLyoNCiAJ CQkJICogR3VhcmFudGVlIHN3YXBfaWRsZV90aHJlc2hvbGQxDQogCQkJCSAq IHRpbWUgaW4gbWVtb3J5Lg0KIAkJCQkgKi8NCi0JCQkJaWYgKHRkLT50ZF9z bHB0aW1lIDwgc3dhcF9pZGxlX3RocmVzaG9sZDEpIHsNCisJCQkJaWYgKHNs cHRpbWUgPCBzd2FwX2lkbGVfdGhyZXNob2xkMSkgew0KIAkJCQkJdGhyZWFk X3VubG9jayh0ZCk7DQogCQkJCQlnb3RvIG5leHRwcm9jOw0KIAkJCQl9DQpA QCAtOTE0LDEzICs5MTksMTMgQEAgcmV0cnk6DQogCQkJCSAqLw0KIAkJCQlp ZiAoKChhY3Rpb24gJiBWTV9TV0FQX05PUk1BTCkgPT0gMCkgJiYNCiAJCQkJ ICAgICgoKGFjdGlvbiAmIFZNX1NXQVBfSURMRSkgPT0gMCkgfHwNCi0JCQkJ ICAgICh0ZC0+dGRfc2xwdGltZSA8IHN3YXBfaWRsZV90aHJlc2hvbGQyKSkp IHsNCisJCQkJICAgIChzbHB0aW1lIDwgc3dhcF9pZGxlX3RocmVzaG9sZDIp KSkgew0KIAkJCQkJdGhyZWFkX3VubG9jayh0ZCk7DQogCQkJCQlnb3RvIG5l eHRwcm9jOw0KIAkJCQl9DQogDQotCQkJCWlmIChtaW5zbHB0aW1lID4gdGQt PnRkX3NscHRpbWUpDQotCQkJCQltaW5zbHB0aW1lID0gdGQtPnRkX3NscHRp bWU7DQorCQkJCWlmIChtaW5zbHB0aW1lID4gc2xwdGltZSkNCisJCQkJCW1p bnNscHRpbWUgPSBzbHB0aW1lOw0KIAkJCQl0aHJlYWRfdW5sb2NrKHRkKTsN CiAJCQl9DQogDQpAQCAtMTAzOCw3ICsxMDQzLDcgQEAgc3dhcG91dChwKQ0K IAlQUk9DX0xPQ0socCk7DQogCXAtPnBfZmxhZyAmPSB+UF9TV0FQUElOR09V VDsNCiAJUFJPQ19TTE9DSyhwKTsNCi0JcC0+cF9zd3RpbWUgPSAwOw0KKwlw LT5wX3N3dGljayA9IHRpY2tzOw0KIAlyZXR1cm4gKDApOw0KIH0NCiAjZW5k aWYgLyogIU5PX1NXQVBQSU5HICovDQo= --0-1681148293-1190063736=:558--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070917141407.B558>