Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Oct 2007 17:43:21 -0700 (PDT)
From:      Jeff Roberson <jroberson@chesapeake.net>
To:        "Gelsema, P (Patrick) - FreeBSD" <freebsd@superhero.nl>
Cc:        freebsd-current@freebsd.org
Subject:   Re: ULE/yielding patch for testing.
Message-ID:  <20071004174044.E912@10.0.0.1>
In-Reply-To: <2155.10.202.77.103.1191443576.squirrel@webmail.superhero.nl>
References:  <20071002165007.D587@10.0.0.1> <20071003110727.411aa2de@pleiades.nextvenue.com> <2155.10.202.77.103.1191443576.squirrel@webmail.superhero.nl>

next in thread | previous 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-381968367-1191545001=:912
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed


On Wed, 3 Oct 2007, Gelsema, P (Patrick) - FreeBSD wrote:

> On Wed, October 3, 2007 17:07, Nick Evans wrote:
>> On Tue, 2 Oct 2007 16:53:33 -0700 (PDT)
>> Jeff Roberson <jroberson@chesapeake.net> wrote:
>>
>>> Enclosed is a patch that does two things:
>>>
>>> 1)  Reduces UP context switch time by over 10% making it faster than
>>> 4BSD
>>> on UP.  On SMP it's hard to compare since ULE can do as many as 30x as
>>> many switches per second on my 8way system.
>>>
>>> 2)  Restores old sched_yield() behavior from 6.x.  This was changed in
>>> -current unintentionally I think.
>>>
>>> I'd appreciate any extra testing.  The ULE context switch time
>>> improvements required some changes to the frequency that we recalculate
>>> priorities.  I'm mostly interested in hearing whether this causes any
>>> regression in normal workloads.
>>>
>>> Those of you still using 4BSD can also verify that the yield changes
>>> don't
>>> cause any problems there.
>>>
>>> Thanks,
>>> Jeff
>>
>> Jeff,
>>
>> I haven't noticed any adverse affects with this patch on yesterdays
>> CURRENT+ULE. System is a Pentium D 915 with 1 gig ram. Built a bunch of
>> larger
>> ports while browsing in firefox and setting up enlightenment-devel,
>> interactivity was good. Enlightenment's eye-candy stayed very fluid.
>>
>> Nick
>> _______________________________________________
>> freebsd-current@freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-current
>> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"
>>
>
> Hi,
>
> Running -current as of tuesdaynight CET.
>
> FreeBSD hulk.superhero.nl 7.0-CURRENT FreeBSD 7.0-CURRENT #4: Wed Oct  3
> 08:19:30 UTC 2007     root@hulk.superhero.nl:/usr/obj/usr/src/sys/GENERIC
> amd64
>
> I've done the following (had to as I did not have the actual diff available):
>
> copy text from
> http://lists.freebsd.org/pipermail/freebsd-current/attachments/20071002/30d18099/yield-0001.bin
> into a file saved in /tmp
>
> #cd /usr/src
> #patch < /tmp/patchile
>
> I had to tell the patch with which files I wanted the patchfiles to
> compare with. Found this weird but they did apply correctly.
>
> I've recompiled my Kernel with SCHED_ULE and rebooted.
>
> After boot I got up to the login window after which it instantly paniced
> with: panic: Invalid priority 128 on timeshare runq

I believe I have fixed this bug in the enclosed patch.  It is rooted from 
/usr/src/sys so you should cd there to apply it.

Thanks,
Jeff

>
> Maybe this error was caused by the method of patching used by me? Can you
> please provide me the patch again by email, if this could solve the issue.
>
> If more information is required I am more than happy to provide.
>
> Rgds,
>
> Patrick
>
> _______________________________________________
> freebsd-current@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"
>
--0-381968367-1191545001=:912
Content-Type: TEXT/x-diff; charset=US-ASCII; name=yield.diff
Content-Transfer-Encoding: BASE64
Content-ID: <20071004174321.I912@10.0.0.1>
Content-Description: 
Content-Disposition: attachment; filename=yield.diff

SW5kZXg6IGtlcm4va2Vybl9zd2l0Y2guYw0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQ0KUkNTIGZpbGU6IC9ob21lL25jdnMvc3JjL3N5cy9rZXJuL2tlcm5f
c3dpdGNoLmMsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjEzNg0KZGlmZiAt
cCAtdSAtcjEuMTM2IGtlcm5fc3dpdGNoLmMNCi0tLSBrZXJuL2tlcm5fc3dp
dGNoLmMJMjAgU2VwIDIwMDcgMjA6Mzg6NDMgLTAwMDAJMS4xMzYNCisrKyBr
ZXJuL2tlcm5fc3dpdGNoLmMJMiBPY3QgMjAwNyAyMTo0MToxMCAtMDAwMA0K
QEAgLTEzMywxNiArMTMzLDYgQEAgY2hvb3NldGhyZWFkKHZvaWQpDQogew0K
IAlzdHJ1Y3QgdGhyZWFkICp0ZDsNCiANCi0jaWYgZGVmaW5lZChTTVApICYm
IChkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fYW1kNjRfXykpDQot
CWlmIChzbXBfYWN0aXZlID09IDAgJiYgUENQVV9HRVQoY3B1aWQpICE9IDAp
IHsNCi0JCS8qIFNodXR0aW5nIGRvd24sIHJ1biBpZGxldGhyZWFkIG9uIEFQ
J3MgKi8NCi0JCXRkID0gUENQVV9HRVQoaWRsZXRocmVhZCk7DQotCQlDVFIx
KEtUUl9SVU5RLCAiY2hvb3NldGhyZWFkOiB0ZD0lcCAoaWRsZSkiLCB0ZCk7
DQotCQlURF9TRVRfUlVOTklORyh0ZCk7DQotCQlyZXR1cm4gKHRkKTsNCi0J
fQ0KLSNlbmRpZg0KLQ0KIHJldHJ5Og0KIAl0ZCA9IHNjaGVkX2Nob29zZSgp
Ow0KIA0KQEAgLTE4NCw3ICsxNzQsNyBAQCBjcml0aWNhbF9leGl0KHZvaWQp
DQogCXRkID0gY3VydGhyZWFkOw0KIAlLQVNTRVJUKHRkLT50ZF9jcml0bmVz
dCAhPSAwLA0KIAkgICAgKCJjcml0aWNhbF9leGl0OiB0ZF9jcml0bmVzdCA9
PSAwIikpOw0KLSNpZmRlZiBQUkVFTVBUSU9ODQorDQogCWlmICh0ZC0+dGRf
Y3JpdG5lc3QgPT0gMSkgew0KIAkJdGQtPnRkX2NyaXRuZXN0ID0gMDsNCiAJ
CWlmICh0ZC0+dGRfb3dlcHJlZW1wdCkgew0KQEAgLTE5Niw3ICsxODYsNiBA
QCBjcml0aWNhbF9leGl0KHZvaWQpDQogCQkJdGhyZWFkX3VubG9jayh0ZCk7
DQogCQl9DQogCX0gZWxzZQ0KLSNlbmRpZg0KIAkJdGQtPnRkX2NyaXRuZXN0
LS07DQogDQogCUNUUjQoS1RSX0NSSVRJQ0FMLCAiY3JpdGljYWxfZXhpdCBi
eSB0aHJlYWQgJXAgKCVsZCwgJXMpIHRvICVkIiwgdGQsDQpJbmRleDoga2Vy
bi9rZXJuX3N5bmNoLmMNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBm
aWxlOiAvaG9tZS9uY3ZzL3NyYy9zeXMva2Vybi9rZXJuX3N5bmNoLmMsdg0K
cmV0cmlldmluZyByZXZpc2lvbiAxLjMwMQ0KZGlmZiAtcCAtdSAtcjEuMzAx
IGtlcm5fc3luY2guYw0KLS0tIGtlcm4va2Vybl9zeW5jaC5jCTE3IFNlcCAy
MDA3IDA1OjI3OjIwIC0wMDAwCTEuMzAxDQorKysga2Vybi9rZXJuX3N5bmNo
LmMJMiBPY3QgMjAwNyAwODoxODoxOSAtMDAwMA0KQEAgLTU1Myw4ICs1NTMs
MTEgQEAgc3luY2hfc2V0dXAoZHVtbXkpDQogaW50DQogeWllbGQoc3RydWN0
IHRocmVhZCAqdGQsIHN0cnVjdCB5aWVsZF9hcmdzICp1YXApDQogew0KLQlt
dHhfYXNzZXJ0KCZHaWFudCwgTUFfTk9UT1dORUQpOw0KLQkodm9pZCl1YXA7
DQotCXNjaGVkX3JlbGlucXVpc2godGQpOw0KKw0KKwl0aHJlYWRfbG9jayh0
ZCk7DQorCXNjaGVkX3ByaW8odGQsIFBSSV9NQVhfVElNRVNIQVJFKTsNCisJ
bWlfc3dpdGNoKFNXX1ZPTCwgTlVMTCk7DQorCXRocmVhZF91bmxvY2sodGQp
Ow0KKwl0ZC0+dGRfcmV0dmFsWzBdID0gMDsNCiAJcmV0dXJuICgwKTsNCiB9
DQpJbmRleDoga2Vybi9wMTAwM18xYi5jDQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09DQpSQ1MgZmlsZTogL2hvbWUvbmN2cy9zcmMvc3lzL2tlcm4vcDEwMDNf
MWIuYyx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMzUNCmRpZmYgLXAgLXUg
LXIxLjM1IHAxMDAzXzFiLmMNCi0tLSBrZXJuL3AxMDAzXzFiLmMJNSBNYXIg
MjAwNyAxMzoxMDo1NyAtMDAwMAkxLjM1DQorKysga2Vybi9wMTAwM18xYi5j
CTIgT2N0IDIwMDcgMjE6NTU6NDggLTAwMDANCkBAIC0yNDEsNyArMjQxLDgg
QEAgaW50DQogc2NoZWRfeWllbGQoc3RydWN0IHRocmVhZCAqdGQsIHN0cnVj
dCBzY2hlZF95aWVsZF9hcmdzICp1YXApDQogew0KIA0KLQlyZXR1cm4gKGtz
Y2hlZF95aWVsZChrc2NoZWQpKTsNCisJc2NoZWRfcmVsaW5xdWlzaChjdXJ0
aHJlYWQpOw0KKwlyZXR1cm4gMDsNCiB9DQogDQogaW50DQpJbmRleDoga2Vy
bi9zY2hlZF80YnNkLmMNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBm
aWxlOiAvaG9tZS9uY3ZzL3NyYy9zeXMva2Vybi9zY2hlZF80YnNkLmMsdg0K
cmV0cmlldmluZyByZXZpc2lvbiAxLjEwNQ0KZGlmZiAtcCAtdSAtcjEuMTA1
IHNjaGVkXzRic2QuYw0KLS0tIGtlcm4vc2NoZWRfNGJzZC5jCTIxIFNlcCAy
MDA3IDA0OjEwOjIzIC0wMDAwCTEuMTA1DQorKysga2Vybi9zY2hlZF80YnNk
LmMJMiBPY3QgMjAwNyAwODowODozNiAtMDAwMA0KQEAgLTEzMjQsOCArMTMy
NCw2IEBAIHZvaWQNCiBzY2hlZF9yZWxpbnF1aXNoKHN0cnVjdCB0aHJlYWQg
KnRkKQ0KIHsNCiAJdGhyZWFkX2xvY2sodGQpOw0KLQlpZiAodGQtPnRkX3By
aV9jbGFzcyA9PSBQUklfVElNRVNIQVJFKQ0KLQkJc2NoZWRfcHJpbyh0ZCwg
UFJJX01BWF9USU1FU0hBUkUpOw0KIAlTQ0hFRF9TVEFUX0lOQyhzd2l0Y2hf
cmVsaW5xdWlzaCk7DQogCW1pX3N3aXRjaChTV19WT0wsIE5VTEwpOw0KIAl0
aHJlYWRfdW5sb2NrKHRkKTsNCkluZGV4OiBrZXJuL3NjaGVkX3VsZS5jDQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2hvbWUvbmN2cy9z
cmMvc3lzL2tlcm4vc2NoZWRfdWxlLmMsdg0KcmV0cmlldmluZyByZXZpc2lv
biAxLjIwOQ0KZGlmZiAtcCAtdSAtcjEuMjA5IHNjaGVkX3VsZS5jDQotLS0g
a2Vybi9zY2hlZF91bGUuYwkyNCBTZXAgMjAwNyAwMDoyODo1NCAtMDAwMAkx
LjIwOQ0KKysrIGtlcm4vc2NoZWRfdWxlLmMJNSBPY3QgMjAwNyAwMDozNTo0
MSAtMDAwMA0KQEAgLTM3NCw4ICszNzQsMTIgQEAgdGRxX3ByaW50KGludCBj
cHUpDQogc3RhdGljIF9faW5saW5lIHZvaWQNCiB0ZHFfcnVucV9hZGQoc3Ry
dWN0IHRkcSAqdGRxLCBzdHJ1Y3QgdGRfc2NoZWQgKnRzLCBpbnQgZmxhZ3Mp
DQogew0KKwl1X2NoYXIgcHJpOw0KKw0KKwlwcmkgPSB0cy0+dHNfdGhyZWFk
LT50ZF9wcmlvcml0eTsNCiAJVERRX0xPQ0tfQVNTRVJUKHRkcSwgTUFfT1dO
RUQpOw0KIAlUSFJFQURfTE9DS19BU1NFUlQodHMtPnRzX3RocmVhZCwgTUFf
T1dORUQpOw0KKwlURF9TRVRfUlVOUSh0cy0+dHNfdGhyZWFkKTsNCiAjaWZk
ZWYgU01QDQogCWlmIChUSFJFQURfQ0FOX01JR1JBVEUodHMtPnRzX3RocmVh
ZCkpIHsNCiAJCXRkcS0+dGRxX3RyYW5zZmVyYWJsZSsrOw0KQEAgLTM4Mywx
NSArMzg3LDE1IEBAIHRkcV9ydW5xX2FkZChzdHJ1Y3QgdGRxICp0ZHEsIHN0
cnVjdCB0ZF8NCiAJCXRzLT50c19mbGFncyB8PSBUU0ZfWEZFUkFCTEU7DQog
CX0NCiAjZW5kaWYNCi0JaWYgKHRzLT50c19ydW5xID09ICZ0ZHEtPnRkcV90
aW1lc2hhcmUpIHsNCi0JCXVfY2hhciBwcmk7DQotDQotCQlwcmkgPSB0cy0+
dHNfdGhyZWFkLT50ZF9wcmlvcml0eTsNCisJaWYgKHByaSA8PSBQUklfTUFY
X1JFQUxUSU1FKSB7DQorCQl0cy0+dHNfcnVucSA9ICZ0ZHEtPnRkcV9yZWFs
dGltZTsNCisJfSBlbHNlIGlmIChwcmkgPD0gUFJJX01BWF9USU1FU0hBUkUp
IHsNCisJCXRzLT50c19ydW5xID0gJnRkcS0+dGRxX3RpbWVzaGFyZTsNCiAJ
CUtBU1NFUlQocHJpIDw9IFBSSV9NQVhfVElNRVNIQVJFICYmIHByaSA+PSBQ
UklfTUlOX1RJTUVTSEFSRSwNCiAJCQkoIkludmFsaWQgcHJpb3JpdHkgJWQg
b24gdGltZXNoYXJlIHJ1bnEiLCBwcmkpKTsNCiAJCS8qDQogCQkgKiBUaGlz
IHF1ZXVlIGNvbnRhaW5zIG9ubHkgcHJpb3JpdGllcyBiZXR3ZWVuIE1JTiBh
bmQgTUFYDQotCQkgKiByZWFsdGltZS4gIFVzZSB0aGUgd2hvbGUgcXVldWUg
dG8gcmVwcmVzZW50IHRoZXNlIHZhbHVlcy4NCisJCSAqIHRpbWVzaGFyZS4g
IFVzZSB0aGUgd2hvbGUgcXVldWUgdG8gcmVwcmVzZW50IHRoZXNlIHZhbHVl
cy4NCiAJCSAqLw0KIAkJaWYgKChmbGFncyAmIChTUlFfQk9SUk9XSU5HfFNS
UV9QUkVFTVBURUQpKSA9PSAwKSB7DQogCQkJcHJpID0gKHByaSAtIFBSSV9N
SU5fVElNRVNIQVJFKSAvIFRTX1JRX1BQUTsNCkBAIC00MDcsOCArNDExLDEw
IEBAIHRkcV9ydW5xX2FkZChzdHJ1Y3QgdGRxICp0ZHEsIHN0cnVjdCB0ZF8N
CiAJCX0gZWxzZQ0KIAkJCXByaSA9IHRkcS0+dGRxX3JpZHg7DQogCQlydW5x
X2FkZF9wcmkodHMtPnRzX3J1bnEsIHRzLCBwcmksIGZsYWdzKTsNCisJCXJl
dHVybjsNCiAJfSBlbHNlDQotCQlydW5xX2FkZCh0cy0+dHNfcnVucSwgdHMs
IGZsYWdzKTsNCisJCXRzLT50c19ydW5xID0gJnRkcS0+dGRxX2lkbGU7DQor
CXJ1bnFfYWRkKHRzLT50c19ydW5xLCB0cywgZmxhZ3MpOw0KIH0NCiANCiAv
KiANCkBAIC00MzQsMTMgKzQ0MCw2IEBAIHRkcV9ydW5xX3JlbShzdHJ1Y3Qg
dGRxICp0ZHEsIHN0cnVjdCB0ZF8NCiAJCQlydW5xX3JlbW92ZV9pZHgodHMt
PnRzX3J1bnEsIHRzLCAmdGRxLT50ZHFfcmlkeCk7DQogCQllbHNlDQogCQkJ
cnVucV9yZW1vdmVfaWR4KHRzLT50c19ydW5xLCB0cywgTlVMTCk7DQotCQkv
Kg0KLQkJICogRm9yIHRpbWVzaGFyZSB0aHJlYWRzIHdlIHVwZGF0ZSB0aGUg
cHJpb3JpdHkgaGVyZSBzbw0KLQkJICogdGhlIHByaW9yaXR5IHJlZmxlY3Rz
IHRoZSB0aW1lIHdlJ3ZlIGJlZW4gc2xlZXBpbmcuDQotCQkgKi8NCi0JCXRz
LT50c19sdGljayA9IHRpY2tzOw0KLQkJc2NoZWRfcGN0Y3B1X3VwZGF0ZSh0
cyk7DQotCQlzY2hlZF9wcmlvcml0eSh0cy0+dHNfdGhyZWFkKTsNCiAJfSBl
bHNlDQogCQlydW5xX3JlbW92ZSh0cy0+dHNfcnVucSwgdHMpOw0KIH0NCkBA
IC0xNTY1LDE1ICsxNTY0LDIwIEBAIHN0YXRpYyB2b2lkDQogc2NoZWRfdGhy
ZWFkX3ByaW9yaXR5KHN0cnVjdCB0aHJlYWQgKnRkLCB1X2NoYXIgcHJpbykN
CiB7DQogCXN0cnVjdCB0ZF9zY2hlZCAqdHM7DQorCXN0cnVjdCB0ZHEgKnRk
cTsNCiANCiAJQ1RSNihLVFJfU0NIRUQsICJzY2hlZF9wcmlvOiAlcCglcykg
cHJpbyAlZCBuZXdwcmlvICVkIGJ5ICVwKCVzKSIsDQogCSAgICB0ZCwgdGQt
PnRkX3Byb2MtPnBfY29tbSwgdGQtPnRkX3ByaW9yaXR5LCBwcmlvLCBjdXJ0
aHJlYWQsDQogCSAgICBjdXJ0aHJlYWQtPnRkX3Byb2MtPnBfY29tbSk7DQog
CXRzID0gdGQtPnRkX3NjaGVkOw0KKwl0ZHEgPSBURFFfQ1BVKHRzLT50c19j
cHUpOw0KIAlUSFJFQURfTE9DS19BU1NFUlQodGQsIE1BX09XTkVEKTsNCiAJ
aWYgKHRkLT50ZF9wcmlvcml0eSA9PSBwcmlvKQ0KIAkJcmV0dXJuOw0KLQ0K
KyNpZmRlZiBTTVANCisJaWYgKHByaW8gPCB0ZHEtPnRkcV9sb3dwcmkpDQor
CQl0ZHEtPnRkcV9sb3dwcmkgPSBwcmlvOw0KKyNlbmRpZg0KIAlpZiAoVERf
T05fUlVOUSh0ZCkgJiYgcHJpbyA8IHRkLT50ZF9wcmlvcml0eSkgew0KIAkJ
LyoNCiAJCSAqIElmIHRoZSBwcmlvcml0eSBoYXMgYmVlbiBlbGV2YXRlZCBk
dWUgdG8gcHJpb3JpdHkNCkBAIC0xNTg0LDE2ICsxNTg4LDggQEAgc2NoZWRf
dGhyZWFkX3ByaW9yaXR5KHN0cnVjdCB0aHJlYWQgKnRkLA0KIAkJc2NoZWRf
cmVtKHRkKTsNCiAJCXRkLT50ZF9wcmlvcml0eSA9IHByaW87DQogCQlzY2hl
ZF9hZGQodGQsIFNSUV9CT1JST1dJTkcpOw0KLQl9IGVsc2Ugew0KLSNpZmRl
ZiBTTVANCi0JCXN0cnVjdCB0ZHEgKnRkcTsNCi0NCi0JCXRkcSA9IFREUV9D
UFUodHMtPnRzX2NwdSk7DQotCQlpZiAocHJpbyA8IHRkcS0+dGRxX2xvd3By
aSkNCi0JCQl0ZHEtPnRkcV9sb3dwcmkgPSBwcmlvOw0KLSNlbmRpZg0KKwl9
IGVsc2UNCiAJCXRkLT50ZF9wcmlvcml0eSA9IHByaW87DQotCX0NCiB9DQog
DQogLyoNCkBAIC0xNzM5LDYgKzE3MzUsOCBAQCBzY2hlZF9zd2l0Y2hfbWln
cmF0ZShzdHJ1Y3QgdGRxICp0ZHEsIHN0DQogDQogCXRkbiA9IFREUV9DUFUo
dGQtPnRkX3NjaGVkLT50c19jcHUpOw0KICNpZmRlZiBTTVANCisJLyogVGhl
IGxvYWQgaXMgYmVpbmcgcmVtb3ZlZCBmcm9tIHRoZSBjdXJyZW50IGNwdS4g
Ki8NCisJdGRxX2xvYWRfcmVtKHRkcSwgdGQtPnRkX3NjaGVkKTsNCiAJLyoN
CiAJICogRG8gdGhlIGxvY2sgZGFuY2UgcmVxdWlyZWQgdG8gYXZvaWQgTE9S
LiAgV2UgZ3JhYiBhbiBleHRyYQ0KIAkgKiBzcGlubG9jayBuZXN0aW5nIHRv
IHByZXZlbnQgcHJlZW1wdGlvbiB3aGlsZSB3ZSdyZQ0KQEAgLTE4MzAsMTIg
KzE4MjgsMTEgQEAgc2NoZWRfc3dpdGNoKHN0cnVjdCB0aHJlYWQgKnRkLCBz
dHJ1Y3QgdA0KIAkJVERfU0VUX0NBTl9SVU4odGQpOw0KIAl9IGVsc2UgaWYg
KFREX0lTX1JVTk5JTkcodGQpKSB7DQogCQlNUEFTUyh0ZC0+dGRfbG9jayA9
PSBURFFfTE9DS1BUUih0ZHEpKTsNCi0JCXRkcV9sb2FkX3JlbSh0ZHEsIHRz
KTsNCiAJCXNycWZsYWcgPSAoZmxhZ3MgJiBTV19QUkVFTVBUKSA/DQogCQkg
ICAgU1JRX09VUlNFTEZ8U1JRX1lJRUxESU5HfFNSUV9QUkVFTVBURUQgOg0K
IAkJICAgIFNSUV9PVVJTRUxGfFNSUV9ZSUVMRElORzsNCiAJCWlmICh0cy0+
dHNfY3B1ID09IGNwdWlkKQ0KLQkJCXRkcV9hZGQodGRxLCB0ZCwgc3JxZmxh
Zyk7DQorCQkJdGRxX3J1bnFfYWRkKHRkcSwgdHMsIHNycWZsYWcpOw0KIAkJ
ZWxzZQ0KIAkJCW10eCA9IHNjaGVkX3N3aXRjaF9taWdyYXRlKHRkcSwgdGQs
IHNycWZsYWcpOw0KIAl9IGVsc2Ugew0KQEAgLTE5NDksNyArMTk0Niw2IEBA
IHNjaGVkX3dha2V1cChzdHJ1Y3QgdGhyZWFkICp0ZCkNCiAJCXRzLT50c19z
bHB0aW1lICs9IGh6dGlja3M7DQogCQlzY2hlZF9pbnRlcmFjdF91cGRhdGUo
dGQpOw0KIAkJc2NoZWRfcGN0Y3B1X3VwZGF0ZSh0cyk7DQotCQlzY2hlZF9w
cmlvcml0eSh0ZCk7DQogCX0NCiAJLyogUmVzZXQgdGhlIHNsaWNlIHZhbHVl
IGFmdGVyIHdlIHNsZWVwLiAqLw0KIAl0cy0+dHNfc2xpY2UgPSBzY2hlZF9z
bGljZTsNCkBAIC0yMTU0LDE2ICsyMTUwLDE3IEBAIHNjaGVkX2Nsb2NrKHN0
cnVjdCB0aHJlYWQgKnRkKQ0KIAkgKi8NCiAJdGQtPnRkX3NjaGVkLT50c19y
dW50aW1lICs9IHRpY2tpbmNyOw0KIAlzY2hlZF9pbnRlcmFjdF91cGRhdGUo
dGQpOw0KKwlzY2hlZF9wcmlvcml0eSh0ZCk7DQogCS8qDQogCSAqIFdlIHVz
ZWQgdXAgb25lIHRpbWUgc2xpY2UuDQogCSAqLw0KIAlpZiAoLS10cy0+dHNf
c2xpY2UgPiAwKQ0KIAkJcmV0dXJuOw0KIAkvKg0KLQkgKiBXZSdyZSBvdXQg
b2YgdGltZSwgcmVjb21wdXRlIHByaW9yaXRpZXMgYW5kIHJlcXVldWUuDQor
CSAqIFdlJ3JlIG91dCBvZiB0aW1lLCBmb3JjZSBhIHJlcXVldWUgbGF0ZXIu
DQogCSAqLw0KLQlzY2hlZF9wcmlvcml0eSh0ZCk7DQogCXRkLT50ZF9mbGFn
cyB8PSBUREZfTkVFRFJFU0NIRUQ7DQorCXRzLT50c19zbGljZSA9IHNjaGVk
X3NsaWNlOw0KIH0NCiANCiAvKg0KQEAgLTIyODQsMTEgKzIyODEsMTAgQEAg
dm9pZA0KIHRkcV9hZGQoc3RydWN0IHRkcSAqdGRxLCBzdHJ1Y3QgdGhyZWFk
ICp0ZCwgaW50IGZsYWdzKQ0KIHsNCiAJc3RydWN0IHRkX3NjaGVkICp0czsN
Ci0JaW50IGNsYXNzOw0KICNpZmRlZiBTTVANCisJaW50IGNsYXNzOw0KIAlp
bnQgY3B1bWFzazsNCiAjZW5kaWYNCi0NCiAJVERRX0xPQ0tfQVNTRVJUKHRk
cSwgTUFfT1dORUQpOw0KIAlLQVNTRVJUKCh0ZC0+dGRfaW5oaWJpdG9ycyA9
PSAwKSwNCiAJICAgICgic2NoZWRfYWRkOiB0cnlpbmcgdG8gcnVuIGluaGli
aXRlZCB0aHJlYWQiKSk7DQpAQCAtMjI5OCwyMCArMjI5NCwxMCBAQCB0ZHFf
YWRkKHN0cnVjdCB0ZHEgKnRkcSwgc3RydWN0IHRocmVhZCAqDQogCSAgICAo
InNjaGVkX2FkZDogdGhyZWFkIHN3YXBwZWQgb3V0IikpOw0KIA0KIAl0cyA9
IHRkLT50ZF9zY2hlZDsNCi0JY2xhc3MgPSBQUklfQkFTRSh0ZC0+dGRfcHJp
X2NsYXNzKTsNCi0gICAgICAgIFREX1NFVF9SVU5RKHRkKTsNCi0JaWYgKHRz
LT50c19zbGljZSA9PSAwKQ0KLQkJdHMtPnRzX3NsaWNlID0gc2NoZWRfc2xp
Y2U7DQotCS8qDQotCSAqIFBpY2sgdGhlIHJ1biBxdWV1ZSBiYXNlZCBvbiBw
cmlvcml0eS4NCi0JICovDQotCWlmICh0ZC0+dGRfcHJpb3JpdHkgPD0gUFJJ
X01BWF9SRUFMVElNRSkNCi0JCXRzLT50c19ydW5xID0gJnRkcS0+dGRxX3Jl
YWx0aW1lOw0KLQllbHNlIGlmICh0ZC0+dGRfcHJpb3JpdHkgPD0gUFJJX01B
WF9USU1FU0hBUkUpDQotCQl0cy0+dHNfcnVucSA9ICZ0ZHEtPnRkcV90aW1l
c2hhcmU7DQotCWVsc2UNCi0JCXRzLT50c19ydW5xID0gJnRkcS0+dGRxX2lk
bGU7DQorCXRkcV9ydW5xX2FkZCh0ZHEsIHRzLCBmbGFncyk7DQorCXRkcV9s
b2FkX2FkZCh0ZHEsIHRzKTsNCiAjaWZkZWYgU01QDQorCWNsYXNzID0gUFJJ
X0JBU0UodGQtPnRkX3ByaV9jbGFzcyk7DQogCWNwdW1hc2sgPSAxIDw8IHRz
LT50c19jcHU7DQogCS8qDQogCSAqIElmIHdlIGhhZCBiZWVuIGlkbGUsIGNs
ZWFyIG91ciBiaXQgaW4gdGhlIGdyb3VwIGFuZCBwb3RlbnRpYWxseQ0KQEAg
LTIzMzQsOCArMjMyMCw2IEBAIHRkcV9hZGQoc3RydWN0IHRkcSAqdGRxLCBz
dHJ1Y3QgdGhyZWFkICoNCiAJaWYgKHRkLT50ZF9wcmlvcml0eSA8IHRkcS0+
dGRxX2xvd3ByaSkNCiAJCXRkcS0+dGRxX2xvd3ByaSA9IHRkLT50ZF9wcmlv
cml0eTsNCiAjZW5kaWYNCi0JdGRxX3J1bnFfYWRkKHRkcSwgdHMsIGZsYWdz
KTsNCi0JdGRxX2xvYWRfYWRkKHRkcSwgdHMpOw0KIH0NCiANCiAvKg0KQEAg
LTI1MDIsOCArMjQ4Niw2IEBAIHZvaWQNCiBzY2hlZF9yZWxpbnF1aXNoKHN0
cnVjdCB0aHJlYWQgKnRkKQ0KIHsNCiAJdGhyZWFkX2xvY2sodGQpOw0KLQlp
ZiAodGQtPnRkX3ByaV9jbGFzcyA9PSBQUklfVElNRVNIQVJFKQ0KLQkJc2No
ZWRfcHJpbyh0ZCwgUFJJX01BWF9USU1FU0hBUkUpOw0KIAlTQ0hFRF9TVEFU
X0lOQyhzd2l0Y2hfcmVsaW5xdWlzaCk7DQogCW1pX3N3aXRjaChTV19WT0ws
IE5VTEwpOw0KIAl0aHJlYWRfdW5sb2NrKHRkKTsNCg==

--0-381968367-1191545001=:912--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20071004174044.E912>