Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 13 Jun 2004 15:18:45 -0700 (PDT)
From:      Julian Elischer <julian@elischer.org>
To:        FreeBSD current users <current@FreeBSD.ORG>
Subject:   RFC: "nice" is per process
Message-ID:  <Pine.BSF.4.21.0406131512570.95601-200000@InterJet.elischer.org>

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-826546490-1087165125=:95601
Content-Type: TEXT/PLAIN; charset=US-ASCII


When splitting appart the process structure for theads, I made a mistake
and made the "nice" value a property of the ksegrp. This is wrong
because Posix specifies that Nice always affects the entire process,
so this patch moves it back to the process. This does not mean that all
threads will have the same priority, only that the nice value used to
influence their priority will be the same throughout the process.


comments?

I've sent this to several people without comment so i'm widenning the 
request group.

julian


--0-826546490-1087165125=:95601
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="nice.diff"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.BSF.4.21.0406131518440.95601@InterJet.elischer.org>
Content-Description: 
Content-Disposition: attachment; filename="nice.diff"

PyBub3Rlcw0KPyBvdXQNCj8gZGV2L215L2lmX215LmMubmV3DQo/IGkzODYv
Y29uZi9MSU5UDQpJbmRleDogZnMvc3BlY2ZzL3NwZWNfdm5vcHMuYw0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9ob21lL25jdnMvc3Jj
L3N5cy9mcy9zcGVjZnMvc3BlY192bm9wcy5jLHYNCnJldHJpZXZpbmcgcmV2
aXNpb24gMS4yMjINCmRpZmYgLXUgLXIxLjIyMiBzcGVjX3Zub3BzLmMNCi0t
LSBmcy9zcGVjZnMvc3BlY192bm9wcy5jCTYgTWF5IDIwMDQgMDU6MDM6MjEg
LTAwMDAJMS4yMjINCisrKyBmcy9zcGVjZnMvc3BlY192bm9wcy5jCTEyIEp1
biAyMDA0IDA2OjUyOjUxIC0wMDAwDQpAQCAtNDcwLDExICs0NzAsMTEgQEAN
CiAJLyoNCiAJICogU2xvdyBkb3duIGRpc2sgcmVxdWVzdHMgZm9yIG5pY2Vk
IHByb2Nlc3Nlcy4NCiAJICovDQotCWlmIChkb3Nsb3dkb3duICYmIHRkICYm
IHRkLT50ZF9rc2VncnAtPmtnX25pY2UgPiAwKSB7DQorCWlmIChkb3Nsb3dk
b3duICYmIHRkICYmIHRkLT50ZF9wcm9jLT5wX25pY2UgPiAwKSB7DQogCQlt
dHhfbG9jaygmc3RyYXRlZ3lfbXR4KTsNCiAJCW1zbGVlcCgmc3RyYXRlZ3lf
bXR4LCAmc3RyYXRlZ3lfbXR4LA0KIAkJICAgIFBQQVVTRSB8IFBDQVRDSCB8
IFBEUk9QLCAiaW9zbG93IiwNCi0JCSAgICB0ZC0+dGRfa3NlZ3JwLT5rZ19u
aWNlKTsNCisJCSAgICB0ZC0+dGRfcHJvYy0+cF9uaWNlKTsNCiAJfQ0KIAkv
Kg0KIAkgKiBDb2xsZWN0IHN0YXRpc3RpY3Mgb24gc3luY2hyb25vdXMgYW5k
IGFzeW5jaHJvbm91cyByZWFkDQpJbmRleDogaTM4Ni9pYmNzMi9pYmNzMl9t
aXNjLmMNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvaG9t
ZS9uY3ZzL3NyYy9zeXMvaTM4Ni9pYmNzMi9pYmNzMl9taXNjLmMsdg0KcmV0
cmlldmluZyByZXZpc2lvbiAxLjU0DQpkaWZmIC11IC1yMS41NCBpYmNzMl9t
aXNjLmMNCi0tLSBpMzg2L2liY3MyL2liY3MyX21pc2MuYwkxNyBNYXIgMjAw
NCAyMDowMDowMCAtMDAwMAkxLjU0DQorKysgaTM4Ni9pYmNzMi9pYmNzMl9t
aXNjLmMJMTIgSnVuIDIwMDQgMDY6NTI6NTMgLTAwMDANCkBAIC05NTEsMTAg
Kzk1MSwxMCBAQA0KIA0KIAlzYS53aGljaCA9IFBSSU9fUFJPQ0VTUzsNCiAJ
c2Eud2hvID0gMDsNCi0Jc2EucHJpbyA9IHRkLT50ZF9rc2VncnAtPmtnX25p
Y2UgKyB1YXAtPmluY3I7DQorCXNhLnByaW8gPSB0ZC0+dGRfcHJvYy0+cF9u
aWNlICsgdWFwLT5pbmNyOw0KIAlpZiAoKGVycm9yID0gc2V0cHJpb3JpdHko
dGQsICZzYSkpICE9IDApDQogCQlyZXR1cm4gRVBFUk07DQotCXRkLT50ZF9y
ZXR2YWxbMF0gPSB0ZC0+dGRfa3NlZ3JwLT5rZ19uaWNlOw0KKwl0ZC0+dGRf
cmV0dmFsWzBdID0gdGQtPnRkX3Byb2MtPnBfbmljZTsNCiAJcmV0dXJuIDA7
DQogfQ0KIA0KSW5kZXg6IGtlcm4vaW5pdF9tYWluLmMNCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0NClJDUyBmaWxlOiAvaG9tZS9uY3ZzL3NyYy9zeXMva2Vy
bi9pbml0X21haW4uYyx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjQyDQpk
aWZmIC11IC1yMS4yNDIgaW5pdF9tYWluLmMNCi0tLSBrZXJuL2luaXRfbWFp
bi5jCTI5IEZlYiAyMDA0IDE2OjU2OjU0IC0wMDAwCTEuMjQyDQorKysga2Vy
bi9pbml0X21haW4uYwkxMiBKdW4gMjAwNCAwNjo1Mjo1NiAtMDAwMA0KQEAg
LTM4Miw4ICszODIsOCBAQA0KIAlwLT5wX2ZsYWcgPSBQX1NZU1RFTTsNCiAJ
cC0+cF9zZmxhZyA9IFBTX0lOTUVNOw0KIAlwLT5wX3N0YXRlID0gUFJTX05P
Uk1BTDsNCisJcC0+cF9uaWNlID0gTlpFUk87DQogCXRkLT50ZF9zdGF0ZSA9
IFREU19SVU5OSU5HOw0KLQlrZy0+a2dfbmljZSA9IE5aRVJPOw0KIAlrZy0+
a2dfcHJpX2NsYXNzID0gUFJJX1RJTUVTSEFSRTsNCiAJa2ctPmtnX3VzZXJf
cHJpID0gUFVTRVI7DQogCXRkLT50ZF9wcmlvcml0eSA9IFBWTTsNCkluZGV4
OiBrZXJuL2tlcm5fY2xvY2suYw0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0K
UkNTIGZpbGU6IC9ob21lL25jdnMvc3JjL3N5cy9rZXJuL2tlcm5fY2xvY2su
Yyx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTY5DQpkaWZmIC11IC1yMS4x
Njkga2Vybl9jbG9jay5jDQotLS0ga2Vybi9rZXJuX2Nsb2NrLmMJMiBKdW4g
MjAwNCAxMjowNTowNiAtMDAwMAkxLjE2OQ0KKysrIGtlcm4va2Vybl9jbG9j
ay5jCTEyIEp1biAyMDA0IDA2OjUyOjU4IC0wMDAwDQpAQCAtMzkyLDcgKzM5
Miw3IEBADQogCQlpZiAocC0+cF9mbGFnICYgUF9TQSkNCiAJCQl0aHJlYWRf
c3RhdGNsb2NrKDEpOw0KIAkJcC0+cF91dGlja3MrKzsNCi0JCWlmICh0ZC0+
dGRfa3NlZ3JwLT5rZ19uaWNlID4gTlpFUk8pDQorCQlpZiAocC0+cF9uaWNl
ID4gTlpFUk8pDQogCQkJY3BfdGltZVtDUF9OSUNFXSsrOw0KIAkJZWxzZQ0K
IAkJCWNwX3RpbWVbQ1BfVVNFUl0rKzsNCkluZGV4OiBrZXJuL2tlcm5fcHJv
Yy5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2hvbWUv
bmN2cy9zcmMvc3lzL2tlcm4va2Vybl9wcm9jLmMsdg0KcmV0cmlldmluZyBy
ZXZpc2lvbiAxLjIwMw0KZGlmZiAtdSAtcjEuMjAzIGtlcm5fcHJvYy5jDQot
LS0ga2Vybi9rZXJuX3Byb2MuYwkyMiBNYXkgMjAwNCAyMzoxMTo0NCAtMDAw
MAkxLjIwMw0KKysrIGtlcm4va2Vybl9wcm9jLmMJMTIgSnVuIDIwMDQgMDY6
NTM6MDEgLTAwMDANCkBAIC03MzcsNiArNzM3LDcgQEANCiAJCWtwLT5raV9z
ZmxhZyA9IHAtPnBfc2ZsYWc7DQogCQlrcC0+a2lfc3d0aW1lID0gcC0+cF9z
d3RpbWU7DQogCQlrcC0+a2lfcGlkID0gcC0+cF9waWQ7DQorCQlrcC0+a2lf
bmljZSA9IHAtPnBfbmljZTsNCiAJCWtnID0gdGQtPnRkX2tzZWdycDsNCiAJ
CWtlID0gdGQtPnRkX2tzZTsNCiAJCWJpbnRpbWUydGltZXZhbCgmcC0+cF9y
dW50aW1lLCAmdHYpOw0KQEAgLTc0OCw3ICs3NDksNiBAQA0KIAkJa3AtPmtp
X3NscHRpbWUgPSBrZy0+a2dfc2xwdGltZTsNCiAJCWtwLT5raV9wcmkucHJp
X3VzZXIgPSBrZy0+a2dfdXNlcl9wcmk7DQogCQlrcC0+a2lfcHJpLnByaV9j
bGFzcyA9IGtnLT5rZ19wcmlfY2xhc3M7DQotCQlrcC0+a2lfbmljZSA9IGtn
LT5rZ19uaWNlOw0KIA0KIAkJLyogVGhpbmdzIGluIHRoZSB0aHJlYWQgKi8N
CiAJCWtwLT5raV93Y2hhbiA9IHRkLT50ZF93Y2hhbjsNCkluZGV4OiBrZXJu
L2tlcm5fcmVzb3VyY2UuYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNT
IGZpbGU6IC9ob21lL25jdnMvc3JjL3N5cy9rZXJuL2tlcm5fcmVzb3VyY2Uu
Yyx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTM3DQpkaWZmIC11IC1yMS4x
Mzcga2Vybl9yZXNvdXJjZS5jDQotLS0ga2Vybi9rZXJuX3Jlc291cmNlLmMJ
OCBNYXkgMjAwNCAwODo1NjowNSAtMDAwMAkxLjEzNw0KKysrIGtlcm4va2Vy
bl9yZXNvdXJjZS5jCTEyIEp1biAyMDA0IDA2OjUzOjAyIC0wMDAwDQpAQCAt
ODgsNyArODgsNiBAQA0KIAlzdHJ1Y3QgdGhyZWFkICp0ZDsNCiAJcmVnaXN0
ZXIgc3RydWN0IGdldHByaW9yaXR5X2FyZ3MgKnVhcDsNCiB7DQotCXN0cnVj
dCBrc2VncnAgKmtnOw0KIAlzdHJ1Y3QgcHJvYyAqcDsNCiAJaW50IGVycm9y
LCBsb3c7DQogDQpAQCAtOTgsMTYgKzk3LDEzIEBADQogDQogCWNhc2UgUFJJ
T19QUk9DRVNTOg0KIAkJaWYgKHVhcC0+d2hvID09IDApDQotCQkJbG93ID0g
dGQtPnRkX2tzZWdycC0+a2dfbmljZTsNCisJCQlsb3cgPSB0ZC0+dGRfcHJv
Yy0+cF9uaWNlOw0KIAkJZWxzZSB7DQogCQkJcCA9IHBmaW5kKHVhcC0+d2hv
KTsNCiAJCQlpZiAocCA9PSBOVUxMKQ0KIAkJCQlicmVhazsNCiAJCQlpZiAo
cF9jYW5zZWUodGQsIHApID09IDApIHsNCi0JCQkJRk9SRUFDSF9LU0VHUlBf
SU5fUFJPQyhwLCBrZykgew0KLQkJCQkJaWYgKGtnLT5rZ19uaWNlIDwgbG93
KQ0KLQkJCQkJCWxvdyA9IGtnLT5rZ19uaWNlOw0KLQkJCQl9DQorCQkJCWxv
dyA9IHAtPnBfbmljZTsNCiAJCQl9DQogCQkJUFJPQ19VTkxPQ0socCk7DQog
CQl9DQpAQCAtMTMxLDEwICsxMjcsOCBAQA0KIAkJTElTVF9GT1JFQUNIKHAs
ICZwZy0+cGdfbWVtYmVycywgcF9wZ2xpc3QpIHsNCiAJCQlQUk9DX0xPQ0so
cCk7DQogCQkJaWYgKCFwX2NhbnNlZSh0ZCwgcCkpIHsNCi0JCQkJRk9SRUFD
SF9LU0VHUlBfSU5fUFJPQyhwLCBrZykgew0KLQkJCQkJaWYgKGtnLT5rZ19u
aWNlIDwgbG93KQ0KLQkJCQkJCWxvdyA9IGtnLT5rZ19uaWNlOw0KLQkJCQl9
DQorCQkJCWlmIChwLT5wX25pY2UgPCBsb3cpDQorCQkJCQlsb3cgPSBwLT5w
X25pY2U7DQogCQkJfQ0KIAkJCVBST0NfVU5MT0NLKHApOw0KIAkJfQ0KQEAg
LTE1MCwxMCArMTQ0LDggQEANCiAJCQlQUk9DX0xPQ0socCk7DQogCQkJaWYg
KCFwX2NhbnNlZSh0ZCwgcCkgJiYNCiAJCQkgICAgcC0+cF91Y3JlZC0+Y3Jf
dWlkID09IHVhcC0+d2hvKSB7DQotCQkJCUZPUkVBQ0hfS1NFR1JQX0lOX1BS
T0MocCwga2cpIHsNCi0JCQkJCWlmIChrZy0+a2dfbmljZSA8IGxvdykNCi0J
CQkJCQlsb3cgPSBrZy0+a2dfbmljZTsNCi0JCQkJfQ0KKwkJCQlpZiAocC0+
cF9uaWNlIDwgbG93KQ0KKwkJCQkJbG93ID0gcC0+cF9uaWNlOw0KIAkJCX0N
CiAJCQlQUk9DX1VOTE9DSyhwKTsNCiAJCX0NCkBAIC0yNjAsMTkgKzI1Miwx
MyBAQA0KIH0NCiANCiAvKiANCi0gKiBTZXQgIm5pY2UiIGZvciBhIHByb2Nl
c3MuICBEb2Vzbid0IHJlYWxseSB1bmRlcnN0YW5kIHRocmVhZGVkIHByb2Nl
c3Nlcw0KLSAqIHdlbGwgYnV0IGRvZXMgdHJ5LiAgSGFzIHRoZSB1bmZvcnR1
bmF0ZSBzaWRlIGVmZmVjdCBvZiBtYWtpbmcgYWxsIHRoZSBOSUNFDQotICog
dmFsdWVzIGZvciBhIHByb2Nlc3MncyBrc2VncnBzIHRoZSBzYW1lLiAgVGhp
cyBzdWdnZXN0cyB0aGF0DQotICogTklDRSB2YWx1ZXMgc2hvdWxkIGJlIHN0
b3JlZCBhcyBhIHByb2Nlc3MgbmljZSBhbmQgZGVsdGFzIGZvciB0aGUga3Nl
Z3Jwcy4NCi0gKiAoYnV0IG5vdCB5ZXQpLg0KKyAqIFNldCAibmljZSIgZm9y
IGEgKHdob2xlKSBwcm9jZXNzLg0KICAqLw0KIHN0YXRpYyBpbnQNCiBkb25p
Y2Uoc3RydWN0IHRocmVhZCAqdGQsIHN0cnVjdCBwcm9jICpwLCBpbnQgbikN
CiB7DQotCXN0cnVjdCBrc2VncnAgKmtnOw0KLQlpbnQgZXJyb3IsIGxvdzsN
CisJaW50IGVycm9yOw0KIA0KLQlsb3cgPSBQUklPX01BWCArIDE7DQogCVBS
T0NfTE9DS19BU1NFUlQocCwgTUFfT1dORUQpOw0KIAlpZiAoKGVycm9yID0g
cF9jYW5zY2hlZCh0ZCwgcCkpKQ0KIAkJcmV0dXJuIChlcnJvcik7DQpAQCAt
MjgwLDIwICsyNjYsMTAgQEANCiAJCW4gPSBQUklPX01BWDsNCiAJaWYgKG4g
PCBQUklPX01JTikNCiAJCW4gPSBQUklPX01JTjsNCi0JLyogDQotCSAqIE9u
bHkgYWxsb3cgbmljaW5nIGlmIHRvIG1vcmUgdGhhbiB0aGUgbG93ZXN0IG5p
Y2UuDQotCSAqIEUuZy4sIGZvciBuaWNlcyBvZiA0LDMsMiBhbGxvdyBuaWNl
IHRvIDMgYnV0IG5vdCAxDQotCSAqLw0KLQlGT1JFQUNIX0tTRUdSUF9JTl9Q
Uk9DKHAsIGtnKSB7DQotCQlpZiAoa2ctPmtnX25pY2UgPCBsb3cpDQotCQkJ
bG93ID0ga2ctPmtnX25pY2U7DQotCX0NCi0gCWlmIChuIDwgbG93ICYmIHN1
c2VyKHRkKSAhPSAwKQ0KKyAJaWYgKG4gPCAgcC0+cF9uaWNlICYmIHN1c2Vy
KHRkKSAhPSAwKQ0KIAkJcmV0dXJuIChFQUNDRVMpOw0KIAltdHhfbG9ja19z
cGluKCZzY2hlZF9sb2NrKTsNCi0JRk9SRUFDSF9LU0VHUlBfSU5fUFJPQyhw
LCBrZykgew0KLQkJc2NoZWRfbmljZShrZywgbik7DQotCX0NCisJc2NoZWRf
bmljZShwLCBuKTsNCiAJbXR4X3VubG9ja19zcGluKCZzY2hlZF9sb2NrKTsN
CiAJcmV0dXJuICgwKTsNCiB9DQpJbmRleDoga2Vybi9zY2hlZF80YnNkLmMN
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvaG9tZS9uY3Zz
L3NyYy9zeXMva2Vybi9zY2hlZF80YnNkLmMsdg0KcmV0cmlldmluZyByZXZp
c2lvbiAxLjM3DQpkaWZmIC11IC1yMS4zNyBzY2hlZF80YnNkLmMNCi0tLSBr
ZXJuL3NjaGVkXzRic2QuYwk1IEFwciAyMDA0IDIxOjAzOjM1IC0wMDAwCTEu
MzcNCisrKyBrZXJuL3NjaGVkXzRic2QuYwkxMiBKdW4gMjAwNCAwNjo1Mzow
NCAtMDAwMA0KQEAgLTQzOSw3ICs0MzksNyBAQA0KIA0KIAlpZiAoa2ctPmtn
X3ByaV9jbGFzcyA9PSBQUklfVElNRVNIQVJFKSB7DQogCQluZXdwcmlvcml0
eSA9IFBVU0VSICsga2ctPmtnX2VzdGNwdSAvIElOVkVSU0VfRVNUQ1BVX1dF
SUdIVCArDQotCQkgICAgTklDRV9XRUlHSFQgKiAoa2ctPmtnX25pY2UgLSBQ
UklPX01JTik7DQorCQkgICAgTklDRV9XRUlHSFQgKiAoa2ctPmtnX3Byb2Mt
PnBfbmljZSAtIFBSSU9fTUlOKTsNCiAJCW5ld3ByaW9yaXR5ID0gbWluKG1h
eChuZXdwcmlvcml0eSwgUFJJX01JTl9USU1FU0hBUkUpLA0KIAkJICAgIFBS
SV9NQVhfVElNRVNIQVJFKTsNCiAJCWtnLT5rZ191c2VyX3ByaSA9IG5ld3By
aW9yaXR5Ow0KQEAgLTU4MywxMyArNTgzLDE2IEBADQogfQ0KIA0KIHZvaWQN
Ci1zY2hlZF9uaWNlKHN0cnVjdCBrc2VncnAgKmtnLCBpbnQgbmljZSkNCitz
Y2hlZF9uaWNlKHN0cnVjdCBwcm9jICpwLCBpbnQgbmljZSkNCiB7DQorCXN0
cnVjdCBrc2VncnAgKmtnOw0KIA0KLQlQUk9DX0xPQ0tfQVNTRVJUKGtnLT5r
Z19wcm9jLCBNQV9PV05FRCk7DQorCVBST0NfTE9DS19BU1NFUlQocCwgTUFf
T1dORUQpOw0KIAltdHhfYXNzZXJ0KCZzY2hlZF9sb2NrLCBNQV9PV05FRCk7
DQotCWtnLT5rZ19uaWNlID0gbmljZTsNCi0JcmVzZXRwcmlvcml0eShrZyk7
DQorCXAtPnBfbmljZSA9IG5pY2U7DQorCUZPUkVBQ0hfS1NFR1JQX0lOX1BS
T0MocCwga2cpIHsNCisJCXJlc2V0cHJpb3JpdHkoa2cpOw0KKwl9DQogfQ0K
IA0KIHZvaWQNCkluZGV4OiBrZXJuL3NjaGVkX3VsZS5jDQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2hvbWUvbmN2cy9zcmMvc3lzL2tl
cm4vc2NoZWRfdWxlLmMsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjEwNg0K
ZGlmZiAtdSAtcjEuMTA2IHNjaGVkX3VsZS5jDQotLS0ga2Vybi9zY2hlZF91
bGUuYwkyIEp1biAyMDA0IDA1OjQ2OjQ4IC0wMDAwCTEuMTA2DQorKysga2Vy
bi9zY2hlZF91bGUuYwkxMiBKdW4gMjAwNCAwNjo1MzowNyAtMDAwMA0KQEAg
LTM2Niw5ICszNjYsOSBAQA0KIAkJQ1RSNihLVFJfVUxFLA0KIAkJICAgICJB
ZGQga3NlICVwIHRvICVwIChzbGljZTogJWQsIHByaTogJWQsIG5pY2U6ICVk
KCVkKSkiLA0KIAkJICAgIGtlLCBrZS0+a2VfcnVucSwga2UtPmtlX3NsaWNl
LCBrZS0+a2VfdGhyZWFkLT50ZF9wcmlvcml0eSwNCi0JCSAgICBrZS0+a2Vf
a3NlZ3JwLT5rZ19uaWNlLCBrc2VxLT5rc3FfbmljZW1pbik7DQorCQkgICAg
a2UtPmtlX3Byb2MtPnBfbmljZSwga3NlcS0+a3NxX25pY2VtaW4pOw0KIAlp
ZiAoa2UtPmtlX2tzZWdycC0+a2dfcHJpX2NsYXNzID09IFBSSV9USU1FU0hB
UkUpDQotCQlrc2VxX25pY2VfYWRkKGtzZXEsIGtlLT5rZV9rc2VncnAtPmtn
X25pY2UpOw0KKwkJa3NlcV9uaWNlX2FkZChrc2VxLCBrZS0+a2VfcHJvYy0+
cF9uaWNlKTsNCiB9DQogDQogc3RhdGljIHZvaWQNCkBAIC0zODgsNyArMzg4
LDcgQEANCiAJa3NlcS0+a3NxX2xvYWQtLTsNCiAJa2UtPmtlX3J1bnEgPSBO
VUxMOw0KIAlpZiAoa2UtPmtlX2tzZWdycC0+a2dfcHJpX2NsYXNzID09IFBS
SV9USU1FU0hBUkUpDQotCQlrc2VxX25pY2VfcmVtKGtzZXEsIGtlLT5rZV9r
c2VncnAtPmtnX25pY2UpOw0KKwkJa3NlcV9uaWNlX3JlbShrc2VxLCBrZS0+
a2VfcHJvYy0+cF9uaWNlKTsNCiB9DQogDQogc3RhdGljIHZvaWQNCkBAIC05
MjksNyArOTI5LDcgQEANCiANCiAJcHJpID0gU0NIRURfUFJJX0lOVEVSQUNU
KHNjaGVkX2ludGVyYWN0X3Njb3JlKGtnKSk7DQogCXByaSArPSBTQ0hFRF9Q
UklfQkFTRTsNCi0JcHJpICs9IGtnLT5rZ19uaWNlOw0KKwlwcmkgKz0ga2ct
PmtnX3Byb2MtPnBfbmljZTsNCiANCiAJaWYgKHByaSA+IFBSSV9NQVhfVElN
RVNIQVJFKQ0KIAkJcHJpID0gUFJJX01BWF9USU1FU0hBUkU7DQpAQCAtOTgw
LDEzICs5ODAsMTMgQEANCiAJaWYgKCFTQ0hFRF9JTlRFUkFDVElWRShrZykp
IHsNCiAJCWludCBuaWNlOw0KIA0KLQkJbmljZSA9IGtnLT5rZ19uaWNlICsg
KDAgLSBrc2VxLT5rc3FfbmljZW1pbik7DQorCQluaWNlID0ga2ctPmtnX3By
b2MtPnBfbmljZSArICgwIC0ga3NlcS0+a3NxX25pY2VtaW4pOw0KIAkJaWYg
KGtzZXEtPmtzcV9sb2FkX3RpbWVzaGFyZSA9PSAwIHx8DQotCQkgICAga2ct
PmtnX25pY2UgPCBrc2VxLT5rc3FfbmljZW1pbikNCisJCSAgICBrZy0+a2df
cHJvYy0+cF9uaWNlIDwga3NlcS0+a3NxX25pY2VtaW4pDQogCQkJa2UtPmtl
X3NsaWNlID0gU0NIRURfU0xJQ0VfTUFYOw0KIAkJZWxzZSBpZiAobmljZSA8
PSBTQ0hFRF9TTElDRV9OVEhSRVNIKQ0KIAkJCWtlLT5rZV9zbGljZSA9IFND
SEVEX1NMSUNFX05JQ0UobmljZSk7DQotCQllbHNlIGlmIChrZy0+a2dfbmlj
ZSA9PSAwKQ0KKwkJZWxzZSBpZiAoa2ctPmtnX3Byb2MtPnBfbmljZSA9PSAw
KQ0KIAkJCWtlLT5rZV9zbGljZSA9IFNDSEVEX1NMSUNFX01JTjsNCiAJCWVs
c2UNCiAJCQlrZS0+a2Vfc2xpY2UgPSAwOw0KQEAgLTk5NSw3ICs5OTUsNyBA
QA0KIA0KIAlDVFI2KEtUUl9VTEUsDQogCSAgICAiU2xpY2VkICVwKCVkKSAo
bmljZTogJWQsIG5pY2VtaW46ICVkLCBsb2FkOiAlZCwgaW50ZXJhY3RpdmU6
ICVkKSIsDQotCSAgICBrZSwga2UtPmtlX3NsaWNlLCBrZy0+a2dfbmljZSwg
a3NlcS0+a3NxX25pY2VtaW4sDQorCSAgICBrZSwga2UtPmtlX3NsaWNlLCBr
Zy0+a2dfcHJvYy0+cF9uaWNlLCBrc2VxLT5rc3FfbmljZW1pbiwNCiAJICAg
IGtzZXEtPmtzcV9sb2FkX3RpbWVzaGFyZSwgU0NIRURfSU5URVJBQ1RJVkUo
a2cpKTsNCiANCiAJcmV0dXJuOw0KQEAgLTExNjcsMjkgKzExNjcsMzUgQEAN
CiB9DQogDQogdm9pZA0KLXNjaGVkX25pY2Uoc3RydWN0IGtzZWdycCAqa2cs
IGludCBuaWNlKQ0KK3NjaGVkX25pY2Uoc3RydWN0IHByb2MgKnAsIGludCBu
aWNlKQ0KIHsNCisJc3RydWN0IGtzZWdycCAqa2c7DQogCXN0cnVjdCBrc2Ug
KmtlOw0KIAlzdHJ1Y3QgdGhyZWFkICp0ZDsNCiAJc3RydWN0IGtzZXEgKmtz
ZXE7DQogDQotCVBST0NfTE9DS19BU1NFUlQoa2ctPmtnX3Byb2MsIE1BX09X
TkVEKTsNCisJUFJPQ19MT0NLX0FTU0VSVChwLCBNQV9PV05FRCk7DQogCW10
eF9hc3NlcnQoJnNjaGVkX2xvY2ssIE1BX09XTkVEKTsNCiAJLyoNCiAJICog
V2UgbmVlZCB0byBhZGp1c3QgdGhlIG5pY2UgY291bnRzIGZvciBydW5uaW5n
IEtTRXMuDQogCSAqLw0KLQlpZiAoa2ctPmtnX3ByaV9jbGFzcyA9PSBQUklf
VElNRVNIQVJFKQ0KLQkJRk9SRUFDSF9LU0VfSU5fR1JPVVAoa2csIGtlKSB7
DQotCQkJaWYgKGtlLT5rZV9ydW5xID09IE5VTEwpDQotCQkJCWNvbnRpbnVl
Ow0KLQkJCWtzZXEgPSBLU0VRX0NQVShrZS0+a2VfY3B1KTsNCi0JCQlrc2Vx
X25pY2VfcmVtKGtzZXEsIGtnLT5rZ19uaWNlKTsNCi0JCQlrc2VxX25pY2Vf
YWRkKGtzZXEsIG5pY2UpOw0KLQkJfQ0KLQlrZy0+a2dfbmljZSA9IG5pY2U7
DQotCXNjaGVkX3ByaW9yaXR5KGtnKTsNCi0JRk9SRUFDSF9USFJFQURfSU5f
R1JPVVAoa2csIHRkKQ0KLQkJdGQtPnRkX2ZsYWdzIHw9IFRERl9ORUVEUkVT
Q0hFRDsNCisJRk9SRUFDSF9LU0VHUlBfSU5fUFJPQyhwLCBrZykgew0KKwkJ
aWYgKGtnLT5rZ19wcmlfY2xhc3MgPT0gUFJJX1RJTUVTSEFSRSkgew0KKwkJ
CUZPUkVBQ0hfS1NFX0lOX0dST1VQKGtnLCBrZSkgew0KKwkJCQlpZiAoa2Ut
PmtlX3J1bnEgPT0gTlVMTCkNCisJCQkJCWNvbnRpbnVlOw0KKwkJCQlrc2Vx
ID0gS1NFUV9DUFUoa2UtPmtlX2NwdSk7DQorCQkJCWtzZXFfbmljZV9yZW0o
a3NlcSwgcC0+cF9uaWNlKTsNCisJCQkJa3NlcV9uaWNlX2FkZChrc2VxLCBu
aWNlKTsNCisJCQl9DQorCQl9DQorCX0NCisJcC0+cF9uaWNlID0gbmljZTsN
CisJRk9SRUFDSF9LU0VHUlBfSU5fUFJPQyhwLCBrZykgew0KKwkJc2NoZWRf
cHJpb3JpdHkoa2cpOw0KKwkJRk9SRUFDSF9USFJFQURfSU5fR1JPVVAoa2cs
IHRkKQ0KKwkJCXRkLT50ZF9mbGFncyB8PSBUREZfTkVFRFJFU0NIRUQ7DQor
CX0NCiB9DQogDQogdm9pZA0KQEAgLTEyNDYsNiArMTI1Miw3IEBADQogDQog
CW10eF9hc3NlcnQoJnNjaGVkX2xvY2ssIE1BX09XTkVEKTsNCiANCisJcDEt
PnBfbmljZSA9IHAtPnBfbmljZTsNCiAJc2NoZWRfZm9ya19rc2VncnAoRklS
U1RfS1NFR1JQX0lOX1BST0MocCksIEZJUlNUX0tTRUdSUF9JTl9QUk9DKHAx
KSk7DQogCXNjaGVkX2Zvcmtfa3NlKEZJUlNUX0tTRV9JTl9QUk9DKHApLCBG
SVJTVF9LU0VfSU5fUFJPQyhwMSkpOw0KIAlzY2hlZF9mb3JrX3RocmVhZChG
SVJTVF9USFJFQURfSU5fUFJPQyhwKSwgRklSU1RfVEhSRUFEX0lOX1BST0Mo
cDEpKTsNCkBAIC0xMjczLDcgKzEyODAsNiBAQA0KIAljaGlsZC0+a2dfc2xw
dGltZSA9IGtnLT5rZ19zbHB0aW1lOw0KIAljaGlsZC0+a2dfcnVudGltZSA9
IGtnLT5rZ19ydW50aW1lOw0KIAljaGlsZC0+a2dfdXNlcl9wcmkgPSBrZy0+
a2dfdXNlcl9wcmk7DQotCWNoaWxkLT5rZ19uaWNlID0ga2ctPmtnX25pY2U7
DQogCXNjaGVkX2ludGVyYWN0X2ZvcmsoY2hpbGQpOw0KIAlrZy0+a2dfcnVu
dGltZSArPSB0aWNraW5jciA8PCAxMDsNCiAJc2NoZWRfaW50ZXJhY3RfdXBk
YXRlKGtnKTsNCkBAIC0xMzI3LDExICsxMzMzLDExIEBADQogI2VuZGlmDQog
CQlpZiAob2NsYXNzID09IFBSSV9USU1FU0hBUkUpIHsNCiAJCQlrc2VxLT5r
c3FfbG9hZF90aW1lc2hhcmUtLTsNCi0JCQlrc2VxX25pY2VfcmVtKGtzZXEs
IGtnLT5rZ19uaWNlKTsNCisJCQlrc2VxX25pY2VfcmVtKGtzZXEsIGtnLT5r
Z19wcm9jLT5wX25pY2UpOw0KIAkJfQ0KIAkJaWYgKG5jbGFzcyA9PSBQUklf
VElNRVNIQVJFKSB7DQogCQkJa3NlcS0+a3NxX2xvYWRfdGltZXNoYXJlKys7
DQotCQkJa3NlcV9uaWNlX2FkZChrc2VxLCBrZy0+a2dfbmljZSk7DQorCQkJ
a3NlcV9uaWNlX2FkZChrc2VxLCBrZy0+a2dfcHJvYy0+cF9uaWNlKTsNCiAJ
CX0NCiAJfQ0KIA0KSW5kZXg6IHN5cy9wcm9jLmgNCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0NClJDUyBmaWxlOiAvaG9tZS9uY3ZzL3NyYy9zeXMvc3lzL3By
b2MuaCx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMzc4DQpkaWZmIC11IC1y
MS4zNzggcHJvYy5oDQotLS0gc3lzL3Byb2MuaAkzIEp1biAyMDA0IDAxOjQ3
OjM2IC0wMDAwCTEuMzc4DQorKysgc3lzL3Byb2MuaAkxMiBKdW4gMjAwNCAw
Njo1MzoyMCAtMDAwMA0KQEAgLTUwOSw3ICs1MDksNiBAQA0KICNkZWZpbmUJ
a2dfc3RhcnRjb3B5CWtnX2VuZHplcm8NCiAJdV9jaGFyCQlrZ19wcmlfY2xh
c3M7CS8qIChqKSBTY2hlZHVsaW5nIGNsYXNzLiAqLw0KIAl1X2NoYXIJCWtn
X3VzZXJfcHJpOwkvKiAoaikgVXNlciBwcmkgZnJvbSBlc3RjcHUgYW5kIG5p
Y2UuICovDQotCXNpZ25lZCBjaGFyCWtnX25pY2U7CS8qIChjICsgaikgUHJv
Y2VzcyAibmljZSIgdmFsdWUuICovDQogI2RlZmluZQlrZ19lbmRjb3B5IGtn
X251bXRocmVhZHMNCiAJaW50CQlrZ19udW10aHJlYWRzOwkvKiAoaikgTnVt
IHRocmVhZHMgaW4gdG90YWwuICovDQogCWludAkJa2dfa3NlczsJLyogKGop
IE51bSBLU0VzIGluIGdyb3VwLiAqLw0KQEAgLTU5Nyw2ICs1OTYsNyBAQA0K
IAlzdHJ1Y3Qgc3lzZW50dmVjICpwX3N5c2VudDsJLyogKGIpIFN5c2NhbGwg
ZGlzcGF0Y2ggaW5mby4gKi8NCiAJc3RydWN0IHBhcmdzCSpwX2FyZ3M7CS8q
IChjKSBQcm9jZXNzIGFyZ3VtZW50cy4gKi8NCiAJcmxpbV90CQlwX2NwdWxp
bWl0OwkvKiAoaikgQ3VycmVudCBDUFUgbGltaXQgaW4gc2Vjb25kcy4gKi8N
CisJc2lnbmVkIGNoYXIJcF9uaWNlOwkJLyogKGMgKyBqKSBQcm9jZXNzICJu
aWNlIiB2YWx1ZS4gKi8NCiAvKiBFbmQgYXJlYSB0aGF0IGlzIGNvcGllZCBv
biBjcmVhdGlvbi4gKi8NCiAjZGVmaW5lCXBfZW5kY29weQlwX3hzdGF0DQog
DQpJbmRleDogc3lzL3NjaGVkLmgNCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0N
ClJDUyBmaWxlOiAvaG9tZS9uY3ZzL3NyYy9zeXMvc3lzL3NjaGVkLmgsdg0K
cmV0cmlldmluZyByZXZpc2lvbiAxLjExDQpkaWZmIC11IC1yMS4xMSBzY2hl
ZC5oDQotLS0gc3lzL3NjaGVkLmgJMjcgRmViIDIwMDQgMTg6NTI6NDQgLTAw
MDAJMS4xMQ0KKysrIHN5cy9zY2hlZC5oCTEyIEp1biAyMDA0IDA2OjUzOjIw
IC0wMDAwDQpAQCAtNTUsNyArNTUsNyBAQA0KIHZvaWQJc2NoZWRfY2xhc3Mo
c3RydWN0IGtzZWdycCAqa2csIGludCBjbGFzcyk7DQogdm9pZAlzY2hlZF9l
eGl0X2tzZWdycChzdHJ1Y3Qga3NlZ3JwICprZywgc3RydWN0IGtzZWdycCAq
Y2hpbGQpOw0KIHZvaWQJc2NoZWRfZm9ya19rc2VncnAoc3RydWN0IGtzZWdy
cCAqa2csIHN0cnVjdCBrc2VncnAgKmNoaWxkKTsNCi12b2lkCXNjaGVkX25p
Y2Uoc3RydWN0IGtzZWdycCAqa2csIGludCBuaWNlKTsNCit2b2lkCXNjaGVk
X25pY2Uoc3RydWN0IHByb2MgKnAsIGludCBuaWNlKTsNCiANCiAvKg0KICAq
IFRocmVhZHMgYXJlIHN3aXRjaGVkIGluIGFuZCBvdXQsIGJsb2NrIG9uIHJl
c291cmNlcywgaGF2ZSB0ZW1wb3JhcnkNCkluZGV4OiB1ZnMvZmZzL2Zmc19z
bmFwc2hvdC5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTog
L2hvbWUvbmN2cy9zcmMvc3lzL3Vmcy9mZnMvZmZzX3NuYXBzaG90LmMsdg0K
cmV0cmlldmluZyByZXZpc2lvbiAxLjc5DQpkaWZmIC11IC1yMS43OSBmZnNf
c25hcHNob3QuYw0KLS0tIHVmcy9mZnMvZmZzX3NuYXBzaG90LmMJMTMgRmVi
IDIwMDQgMDI6MDI6MDYgLTAwMDAJMS43OQ0KKysrIHVmcy9mZnMvZmZzX3Nu
YXBzaG90LmMJMTIgSnVuIDIwMDQgMDY6NTM6MjQgLTAwMDANCkBAIC0zMDEs
MTEgKzMwMSwxMSBAQA0KIAkgKg0KIAkgKiBSZWNpbmQgbmljZSBzY2hlZHVs
aW5nIHdoaWxlIHJ1bm5pbmcgd2l0aCB0aGUgZmlsZXN5c3RlbSBzdXNwZW5k
ZWQuDQogCSAqLw0KLQlpZiAodGQtPnRkX2tzZWdycC0+a2dfbmljZSA+IDAp
IHsNCisJaWYgKHRkLT50ZF9wcm9jLT5wX25pY2UgPiAwKSB7DQogCQlQUk9D
X0xPQ0sodGQtPnRkX3Byb2MpOw0KIAkJbXR4X2xvY2tfc3Bpbigmc2NoZWRf
bG9jayk7DQotCQlzYXZlZF9uaWNlID0gdGQtPnRkX2tzZWdycC0+a2dfbmlj
ZTsNCi0JCXNjaGVkX25pY2UodGQtPnRkX2tzZWdycCwgMCk7DQorCQlzYXZl
ZF9uaWNlID0gdGQtPnRkX3Byb2MtPnBfbmljZTsNCisJCXNjaGVkX25pY2Uo
dGQtPnRkX3Byb2MsIDApOw0KIAkJbXR4X3VubG9ja19zcGluKCZzY2hlZF9s
b2NrKTsNCiAJCVBST0NfVU5MT0NLKHRkLT50ZF9wcm9jKTsNCiAJfQ0KQEAg
LTY2NSw3ICs2NjUsNyBAQA0KIAlpZiAoc2F2ZWRfbmljZSA+IDApIHsNCiAJ
CVBST0NfTE9DSyh0ZC0+dGRfcHJvYyk7DQogCQltdHhfbG9ja19zcGluKCZz
Y2hlZF9sb2NrKTsNCi0JCXNjaGVkX25pY2UodGQtPnRkX2tzZWdycCwgc2F2
ZWRfbmljZSk7DQorCQlzY2hlZF9uaWNlKHRkLT50ZF9wcm9jLCBzYXZlZF9u
aWNlKTsNCiAJCW10eF91bmxvY2tfc3Bpbigmc2NoZWRfbG9jayk7DQogCQlQ
Uk9DX1VOTE9DSyh0ZC0+dGRfcHJvYyk7DQogCX0NCkluZGV4OiB2bS92bV9n
bHVlLmMNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvaG9t
ZS9uY3ZzL3NyYy9zeXMvdm0vdm1fZ2x1ZS5jLHYNCnJldHJpZXZpbmcgcmV2
aXNpb24gMS4xOTcNCmRpZmYgLXUgLXIxLjE5NyB2bV9nbHVlLmMNCi0tLSB2
bS92bV9nbHVlLmMJNyBNYXkgMjAwNCAxMTo0MzoyNCAtMDAwMAkxLjE5Nw0K
KysrIHZtL3ZtX2dsdWUuYwkxMiBKdW4gMjAwNCAwNjo1MzoyNyAtMDAwMA0K
QEAgLTgyNCw3ICs4MjQsNyBAQA0KIAkJCQlrZyA9IHRkLT50ZF9rc2VncnA7
DQogCQkJCXByaSA9IHAtPnBfc3d0aW1lICsga2ctPmtnX3NscHRpbWU7DQog
CQkJCWlmICgocC0+cF9zZmxhZyAmIFBTX1NXQVBJTlJFUSkgPT0gMCkgew0K
LQkJCQkJcHJpIC09IGtnLT5rZ19uaWNlICogODsNCisJCQkJCXByaSAtPSBw
LT5wX25pY2UgKiA4Ow0KIAkJCQl9DQogDQogCQkJCS8qDQpJbmRleDogdm0v
dm1fcGFnZW91dC5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmls
ZTogL2hvbWUvbmN2cy9zcmMvc3lzL3ZtL3ZtX3BhZ2VvdXQuYyx2DQpyZXRy
aWV2aW5nIHJldmlzaW9uIDEuMjU1DQpkaWZmIC11IC1yMS4yNTUgdm1fcGFn
ZW91dC5jDQotLS0gdm0vdm1fcGFnZW91dC5jCTEyIE1heSAyMDA0IDA0OjEw
OjM1IC0wMDAwCTEuMjU1DQorKysgdm0vdm1fcGFnZW91dC5jCTEyIEp1biAy
MDA0IDA2OjUzOjMwIC0wMDAwDQpAQCAtMTIyNSwxMiArMTIyNSw5IEBADQog
CQl9DQogCQlzeF9zdW5sb2NrKCZhbGxwcm9jX2xvY2spOw0KIAkJaWYgKGJp
Z3Byb2MgIT0gTlVMTCkgew0KLQkJCXN0cnVjdCBrc2VncnAgKmtnOw0KIAkJ
CWtpbGxwcm9jKGJpZ3Byb2MsICJvdXQgb2Ygc3dhcCBzcGFjZSIpOw0KIAkJ
CW10eF9sb2NrX3NwaW4oJnNjaGVkX2xvY2spOw0KLQkJCUZPUkVBQ0hfS1NF
R1JQX0lOX1BST0MoYmlncHJvYywga2cpIHsNCi0JCQkJc2NoZWRfbmljZShr
ZywgUFJJT19NSU4pOyAvKiBYWFhLU0UgPz8/ICovDQotCQkJfQ0KKwkJCXNj
aGVkX25pY2UoYmlncHJvYywgUFJJT19NSU4pOw0KIAkJCW10eF91bmxvY2tf
c3Bpbigmc2NoZWRfbG9jayk7DQogCQkJUFJPQ19VTkxPQ0soYmlncHJvYyk7
DQogCQkJd2FrZXVwKCZjbnQudl9mcmVlX2NvdW50KTsNCg==
--0-826546490-1087165125=:95601--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0406131512570.95601-200000>