Date: Wed, 14 May 2008 18:17:43 +0300 From: Andriy Gapon <avg@icyb.net.ua> To: freebsd-threads@freebsd.org, freebsd-stable@freebsd.org Subject: thread scheduling at mutex unlock Message-ID: <482B0297.2050300@icyb.net.ua>
next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------070900000602090808030708 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit I am trying the small attached program on FreeBSD 6.3 (amd64, SCHED_4BSD) and 7-STABLE (i386, SCHED_ULE), both with libthr as threads library and on both it produces "BROKEN" message. I compile this program as follows: cc sched_test.c -o sched_test -pthread I believe that the behavior I observe is broken because: if thread #1 releases a mutex and then tries to re-acquire it while thread #2 was already blocked waiting on that mutex, then thread #1 should be "queued" after thread #2 in mutex waiter's list. Is there any option (thread scheduler, etc) that I could try to achieve "good" behavior? P.S. I understand that all this is subject to (thread) scheduler policy, but I think that what I expect is more reasonable, at least it is more reasonable for my application. -- Andriy Gapon --------------070900000602090808030708--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?482B0297.2050300>