Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 2 Feb 1998 11:54:09 -0600 (CST)
From:      Damon Permezel <dap@damon.com>
To:        dap@damon.com (Damon Permezel)
Cc:        dap@damon.com, jb@cimlogic.com.au, nate@mt.sri.com, SSANKARA.IN.oracle.com.ofcmail@in.oracle.com, freebsd-java@FreeBSD.ORG
Subject:   Re: TimeSlicing in  JVM
Message-ID:  <199802021754.LAA06618@damon.com>
In-Reply-To: <199802021623.KAA06394@damon.com> from Damon Permezel at "Feb 2, 98 10:23:52 am"

index | next in thread | previous in thread | raw e-mail

"Damon Permezel sez: "
> "Damon Permezel sez: "
> > "Damon Permezel sez: "
> > > "John Birrell sez: "
> > > > Nate Williams wrote:
> > > > > I also remember thinking seriously about this problem after reading a
> > > > > Java threads book, and they brought up another point that I can't recall
> > > > > right now that was also one of those 'syscall' types of problems.  If I
> > > > > remember or find it I'll send something to the list.
> > > > 
> > > > It might be a scheduler issue. Like the one where a lower priority
> > > > thread locks a resource that a higher priority thread needs, but the
> > > > lower priority thread can't get enough CPU time to finish using the
> > > > resource. libc_r deals with this by using an incremental priority
> > > > that is reset when a thread gets to run, but is incremented the
> > > > longer it is ready to run but prevented from running. Eventually
> > > > the lower priority thread has a higher effective priority and gets
> > > > to see its name in lights.
> > > > 
> > > 
> > > The green_threads scheduler has priority inversion.
> > > Not sure if it works.  This is one of the issues of turning on time slicing.
> > > Perhaps there were many good reasons why it is off for green_threads....
> > > 
> > > I guess one of us should scrutinize the code, see if we really think
> > > turning on the timeslicing will work (at the basic level, without too
> > > much associated hacking) and then turn it on.
> > 
> > Silly me!
> > You can just use:
> > 
> > 	java -ts100 ....
> > 
> > to turn on time slicing with green threads.
> > From an initial sniff, I see that there is not a timeslicer thread running.
> > 
> I think you mean "now", rather than not, no?
> 

Correct, but I have observed applications which used to work stop.
For example, using the current non-fractal hallucinations, patched to not call
yield:

LD_LIBRARY_PATH=lib java -ts100 damon.dap.NFH.NFH -w 128

never displays the initial window, and the idle thread is running.
If I change it to `-ts3000' to give it a chance to get the initial window
up, it runs OK, but what use is a 3 second time slice?

Thus, there are bugs which turning timeslice on aggravates.
The sun/awt code has all these locks which think they are not recursively
obtainable, but which are clearly recursive.  This may be at least one source
of these problems.


home | help

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