From owner-freebsd-current@FreeBSD.ORG Wed Oct 3 04:50:42 2007 Return-Path: Delivered-To: current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E2CE816A419 for ; Wed, 3 Oct 2007 04:50:42 +0000 (UTC) (envelope-from jroberson@chesapeake.net) Received: from webaccess-cl.virtdom.com (webaccess-cl.virtdom.com [216.240.101.25]) by mx1.freebsd.org (Postfix) with ESMTP id 950D413C447 for ; Wed, 3 Oct 2007 04:50:42 +0000 (UTC) (envelope-from jroberson@chesapeake.net) Received: from [192.168.1.103] (c-67-160-44-208.hsd1.wa.comcast.net [67.160.44.208]) (authenticated bits=0) by webaccess-cl.virtdom.com (8.13.6/8.13.6) with ESMTP id l934oe3e079354 (version=TLSv1/SSLv3 cipher=DHE-DSS-AES256-SHA bits=256 verify=NO); Wed, 3 Oct 2007 00:50:41 -0400 (EDT) (envelope-from jroberson@chesapeake.net) Date: Tue, 2 Oct 2007 21:53:29 -0700 (PDT) From: Jeff Roberson X-X-Sender: jroberson@10.0.0.1 To: Yuri Pankov In-Reply-To: <20071003043724.GA1113@darklight.abyss> Message-ID: <20071002215228.Q615@10.0.0.1> 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> MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-1841856894-1191387209=:615" Cc: current@freebsd.org Subject: Re: ULE/yielding patch for testing. X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Oct 2007 04:50:43 -0000 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 >>> >>> 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 > _______________________________________________ > 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--