* Daniel Eischen <[EMAIL PROTECTED]> [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 _______________________________________________ freebsd-performance@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-performance To unsubscribe, send any mail to "[EMAIL PROTECTED]"