Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 16 Sep 2007 17:59:12 -0700
From:      Alfred Perlstein <alfred@freebsd.org>
To:        Daniel Eischen <deischen@freebsd.org>
Cc:        performance@freebsd.org, Kip Macy <kip.macy@gmail.com>, Kris Kennaway <kris@freebsd.org>, java@freebsd.org, Kurt Miller <kurt@intricatesoftware.com>, freebsd-java@freebsd.org
Subject:   Re: Massive performance loss from OS::sleep hack
Message-ID:  <20070917005912.GT79417@elvis.mu.org>
In-Reply-To: <Pine.GSO.4.64.0709161128520.5797@sea.ntplx.net>
References:  <46EC1B55.4060202@FreeBSD.org> <200709152250.50879.kurt@intricatesoftware.com> <Pine.GSO.4.64.0709160030580.3591@sea.ntplx.net> <b1fa29170709152225x5a57a30fm7efbd6e331cfff28@mail.gmail.com> <Pine.GSO.4.64.0709161128520.5797@sea.ntplx.net>

next in thread | previous in thread | raw e-mail | index | archive | help
* Daniel Eischen <deischen@freebsd.org> [070916 08:46] wrote:
> On Sat, 15 Sep 2007, Kip Macy wrote:
> 
> >Or more likely they'll continue to maintain a sched_yield that isn't
> >posix compliant. We may just want to add some sort of interface so the
> >jvm can tell the kernel that sched_yield should be non-compliant for
> >the current process.
> 
> I don't think that is a good idea, it seems like too much of a hack.
> The scheduler(s) should schedule threads the way they are designed
> to, either obeying a threads priority, using it as a hint, or totally
> ignoring it.
> 
> If the JVM kept track of the thread priorities in use, I suppose
> Thread.yield() could first lower the current thread's priority to
> the next used priority and then yield, raising the priority back after 
> the yield.  This isn't perfect, there are race conditions, the next 
> highest priority  thread(s) could be blocked and not runnable, etc.
> Maybe just lowering the priority to min or default priority would work
> well enough.
> 
> This test would fail even on Solaris if you use SCHED_RR or SCHED_FIFO
> since it is POSIX compliant for those scheduling classes.

Since Sun wasn't concenred with correctness, just performance, I
don't think we have to shoot for the moon here.

I think your suggestion about temporarily lowering priority
makes sense.

-Alfred



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