Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Oct 2007 21:53:29 -0700 (PDT)
From:      Jeff Roberson <jroberson@chesapeake.net>
To:        Yuri Pankov <yuri.pankov@gmail.com>
Cc:        current@freebsd.org
Subject:   Re: ULE/yielding patch for testing.
Message-ID:  <20071002215228.Q615@10.0.0.1>
In-Reply-To: <20071003043724.GA1113@darklight.abyss>
References:  <20071002165007.D587@10.0.0.1> <20071003005009.GA1103@darklight.abyss> <20071003012155.GA1327@darklight.abyss> <20071002195415.I615@10.0.0.1> <20071003043724.GA1113@darklight.abyss>

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-1841856894-1191387209=:615
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed

On Wed, 3 Oct 2007, Yuri Pankov wrote:

> On Tue, Oct 02, 2007 at 07:55:02PM -0700, Jeff Roberson wrote:
>> On Wed, 3 Oct 2007, Yuri Pankov wrote:
>>
>>> On Wed, Oct 03, 2007 at 04:50:09AM +0400, Yuri Pankov wrote:
>>>> On Tue, Oct 02, 2007 at 04:53:33PM -0700, Jeff Roberson 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,
>>>>
>>>> Patch applied cleanly, though with new kernel I got a panic just after
>>>> boot - on xdm startup, I guess (crashdump wasn't saved), a lot of the
>>>> same messages
>>>> (copied by hand):
>>>>
>>>> cpuid = 0
>>>> panic: _mtx_lock_sleep: recursed on non-recursive mutex
>>>> audit_mtx@/usr/src/sys/security/audit_worker.c:518
>>>>
>>>> and after few seconds system just hangs.
>>>>
>>>> Any hints?
>>>>
>>>> --
>>>> Yuri Pankov <yuri.pankov@gmail.com>
>>>
>>> Sorry for being so verbose...
>>
>> Did you 'make depend' as well?  If you patch -R < yield.diff does this
>> kernel work?  I'm not sure how my changes could cause this type of bug.
>>
>> Thanks,
>> Jeff
>>
>
> I'm rebuilt kernel with and without your patch (with clean /usr/obj/ every time)
> using `make kernel KERNCONF=DARKLIGHT` just to be sure.
>
> Without your patch, system seems to run stable. With it - I get hard hangs upon
> just loading X or upon xdm startup or after xdm login, every time the same. No
> messages now, just hangs. Nothing suspicious in /var/log/messages, etc.
>
> Xorg 7.3 with xf86-video-nv, all ports built yesterday (it was fresh install).
>
> Anything that I should look at? (as it can be just pilot error).

The attached diff is only the changes the fix yield() and sched_yield() to 
pre-CURRENT states.  Can you try this on its own and let me know if it 
works so I can narrow down the part of the patch causing trouble?

Thanks,
Jeff

>
> TIA.
>
>>>
>>> It's UP amd64 with SCHED_ULE
>>>
>>> kernel config:
>>>
>>> include         GENERIC
>>> ident           DARKLIGHT
>>>
>>> nooptions       SCHED_4BSD
>>> options         SCHED_ULE
>>>
>>> --
>>> Yuri Pankov <yuri.pankov@gmail.com>
>>>
>
> -- 
> Yuri Pankov <yuri.pankov@gmail.com>
> _______________________________________________
> 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-1841856894-1191387209=:615
Content-Type: TEXT/x-diff; charset=US-ASCII; name=yieldonly.diff
Content-Transfer-Encoding: BASE64
Content-ID: <20071002215329.J615@10.0.0.1>
Content-Description: 
Content-Disposition: attachment; filename=yieldonly.diff

SW5kZXg6IGtlcm5fc3dpdGNoLmMNCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0N
ClJDUyBmaWxlOiAvaG9tZS9uY3ZzL3NyYy9zeXMva2Vybi9rZXJuX3N3aXRj
aC5jLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4xMzYNCmRpZmYgLXAgLXUg
LXIxLjEzNiBrZXJuX3N3aXRjaC5jDQotLS0ga2Vybl9zd2l0Y2guYwkyMCBT
ZXAgMjAwNyAyMDozODo0MyAtMDAwMAkxLjEzNg0KKysrIGtlcm5fc3dpdGNo
LmMJMiBPY3QgMjAwNyAyMTo0MToxMCAtMDAwMA0KQEAgLTEzMywxNiArMTMz
LDYgQEAgY2hvb3NldGhyZWFkKHZvaWQpDQogew0KIAlzdHJ1Y3QgdGhyZWFk
ICp0ZDsNCiANCi0jaWYgZGVmaW5lZChTTVApICYmIChkZWZpbmVkKF9faTM4
Nl9fKSB8fCBkZWZpbmVkKF9fYW1kNjRfXykpDQotCWlmIChzbXBfYWN0aXZl
ID09IDAgJiYgUENQVV9HRVQoY3B1aWQpICE9IDApIHsNCi0JCS8qIFNodXR0
aW5nIGRvd24sIHJ1biBpZGxldGhyZWFkIG9uIEFQJ3MgKi8NCi0JCXRkID0g
UENQVV9HRVQoaWRsZXRocmVhZCk7DQotCQlDVFIxKEtUUl9SVU5RLCAiY2hv
b3NldGhyZWFkOiB0ZD0lcCAoaWRsZSkiLCB0ZCk7DQotCQlURF9TRVRfUlVO
TklORyh0ZCk7DQotCQlyZXR1cm4gKHRkKTsNCi0JfQ0KLSNlbmRpZg0KLQ0K
IHJldHJ5Og0KIAl0ZCA9IHNjaGVkX2Nob29zZSgpOw0KIA0KQEAgLTE4NCw3
ICsxNzQsNyBAQCBjcml0aWNhbF9leGl0KHZvaWQpDQogCXRkID0gY3VydGhy
ZWFkOw0KIAlLQVNTRVJUKHRkLT50ZF9jcml0bmVzdCAhPSAwLA0KIAkgICAg
KCJjcml0aWNhbF9leGl0OiB0ZF9jcml0bmVzdCA9PSAwIikpOw0KLSNpZmRl
ZiBQUkVFTVBUSU9ODQorDQogCWlmICh0ZC0+dGRfY3JpdG5lc3QgPT0gMSkg
ew0KIAkJdGQtPnRkX2NyaXRuZXN0ID0gMDsNCiAJCWlmICh0ZC0+dGRfb3dl
cHJlZW1wdCkgew0KQEAgLTE5Niw3ICsxODYsNiBAQCBjcml0aWNhbF9leGl0
KHZvaWQpDQogCQkJdGhyZWFkX3VubG9jayh0ZCk7DQogCQl9DQogCX0gZWxz
ZQ0KLSNlbmRpZg0KIAkJdGQtPnRkX2NyaXRuZXN0LS07DQogDQogCUNUUjQo
S1RSX0NSSVRJQ0FMLCAiY3JpdGljYWxfZXhpdCBieSB0aHJlYWQgJXAgKCVs
ZCwgJXMpIHRvICVkIiwgdGQsDQpJbmRleDoga2Vybl9zeW5jaC5jDQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2hvbWUvbmN2cy9zcmMv
c3lzL2tlcm4va2Vybl9zeW5jaC5jLHYNCnJldHJpZXZpbmcgcmV2aXNpb24g
MS4zMDENCmRpZmYgLXAgLXUgLXIxLjMwMSBrZXJuX3N5bmNoLmMNCi0tLSBr
ZXJuX3N5bmNoLmMJMTcgU2VwIDIwMDcgMDU6Mjc6MjAgLTAwMDAJMS4zMDEN
CisrKyBrZXJuX3N5bmNoLmMJMiBPY3QgMjAwNyAwODoxODoxOSAtMDAwMA0K
QEAgLTU1Myw4ICs1NTMsMTEgQEAgc3luY2hfc2V0dXAoZHVtbXkpDQogaW50
DQogeWllbGQoc3RydWN0IHRocmVhZCAqdGQsIHN0cnVjdCB5aWVsZF9hcmdz
ICp1YXApDQogew0KLQltdHhfYXNzZXJ0KCZHaWFudCwgTUFfTk9UT1dORUQp
Ow0KLQkodm9pZCl1YXA7DQotCXNjaGVkX3JlbGlucXVpc2godGQpOw0KKw0K
Kwl0aHJlYWRfbG9jayh0ZCk7DQorCXNjaGVkX3ByaW8odGQsIFBSSV9NQVhf
VElNRVNIQVJFKTsNCisJbWlfc3dpdGNoKFNXX1ZPTCwgTlVMTCk7DQorCXRo
cmVhZF91bmxvY2sodGQpOw0KKwl0ZC0+dGRfcmV0dmFsWzBdID0gMDsNCiAJ
cmV0dXJuICgwKTsNCiB9DQpJbmRleDogcDEwMDNfMWIuYw0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9ob21lL25jdnMvc3JjL3N5cy9r
ZXJuL3AxMDAzXzFiLmMsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjM1DQpk
aWZmIC1wIC11IC1yMS4zNSBwMTAwM18xYi5jDQotLS0gcDEwMDNfMWIuYwk1
IE1hciAyMDA3IDEzOjEwOjU3IC0wMDAwCTEuMzUNCisrKyBwMTAwM18xYi5j
CTIgT2N0IDIwMDcgMjE6NTU6NDggLTAwMDANCkBAIC0yNDEsNyArMjQxLDgg
QEAgaW50DQogc2NoZWRfeWllbGQoc3RydWN0IHRocmVhZCAqdGQsIHN0cnVj
dCBzY2hlZF95aWVsZF9hcmdzICp1YXApDQogew0KIA0KLQlyZXR1cm4gKGtz
Y2hlZF95aWVsZChrc2NoZWQpKTsNCisJc2NoZWRfcmVsaW5xdWlzaChjdXJ0
aHJlYWQpOw0KKwlyZXR1cm4gMDsNCiB9DQogDQogaW50DQpJbmRleDogc2No
ZWRfNGJzZC5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTog
L2hvbWUvbmN2cy9zcmMvc3lzL2tlcm4vc2NoZWRfNGJzZC5jLHYNCnJldHJp
ZXZpbmcgcmV2aXNpb24gMS4xMDUNCmRpZmYgLXAgLXUgLXIxLjEwNSBzY2hl
ZF80YnNkLmMNCi0tLSBzY2hlZF80YnNkLmMJMjEgU2VwIDIwMDcgMDQ6MTA6
MjMgLTAwMDAJMS4xMDUNCisrKyBzY2hlZF80YnNkLmMJMiBPY3QgMjAwNyAw
ODowODozNiAtMDAwMA0KQEAgLTEzMjQsOCArMTMyNCw2IEBAIHZvaWQNCiBz
Y2hlZF9yZWxpbnF1aXNoKHN0cnVjdCB0aHJlYWQgKnRkKQ0KIHsNCiAJdGhy
ZWFkX2xvY2sodGQpOw0KLQlpZiAodGQtPnRkX3ByaV9jbGFzcyA9PSBQUklf
VElNRVNIQVJFKQ0KLQkJc2NoZWRfcHJpbyh0ZCwgUFJJX01BWF9USU1FU0hB
UkUpOw0KIAlTQ0hFRF9TVEFUX0lOQyhzd2l0Y2hfcmVsaW5xdWlzaCk7DQog
CW1pX3N3aXRjaChTV19WT0wsIE5VTEwpOw0KIAl0aHJlYWRfdW5sb2NrKHRk
KTsNCkluZGV4OiBzY2hlZF91bGUuYw0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQ0KUkNTIGZpbGU6IC9ob21lL25jdnMvc3JjL3N5cy9rZXJuL3NjaGVkX3Vs
ZS5jLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4yMDkNCmRpZmYgLXAgLXUg
LXIxLjIwOSBzY2hlZF91bGUuYw0KLS0tIHNjaGVkX3VsZS5jCTI0IFNlcCAy
MDA3IDAwOjI4OjU0IC0wMDAwCTEuMjA5DQorKysgc2NoZWRfdWxlLmMJMiBP
Y3QgMjAwNyAyMjoyNjoxNCAtMDAwMA0KQEAgLTI1MDIsOCArMjUxNSw2IEBA
IHZvaWQNCiBzY2hlZF9yZWxpbnF1aXNoKHN0cnVjdCB0aHJlYWQgKnRkKQ0K
IHsNCiAJdGhyZWFkX2xvY2sodGQpOw0KLQlpZiAodGQtPnRkX3ByaV9jbGFz
cyA9PSBQUklfVElNRVNIQVJFKQ0KLQkJc2NoZWRfcHJpbyh0ZCwgUFJJX01B
WF9USU1FU0hBUkUpOw0KIAlTQ0hFRF9TVEFUX0lOQyhzd2l0Y2hfcmVsaW5x
dWlzaCk7DQogCW1pX3N3aXRjaChTV19WT0wsIE5VTEwpOw0KIAl0aHJlYWRf
dW5sb2NrKHRkKTsNCg==

--0-1841856894-1191387209=:615--



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