On some win32 systems, freenet is adjusting the priority of almost every
thread it spawns to "Time Critical" - the equivalkent of nice = -20 on unix,
which java on win32 maps to Thread.MAX_PRIORITY (I am led to believe that
it tries this on unix as well, but of course can't raise priority of a non-root
user's threads that high :).

A hundred of these threads, and your system becomes useless.  :)

The suspects:

(your tree may vary from the one shown below)

src/freenet/Core.java:459:           
ticker.setPriority(Thread.MAX_PRIORITY);

I think it's obvious to everyone what this does :).  The ticker never gets
it's priority reduced.  Is it spawning threads at all?  Because, if it is, 
they will most likely be spawned at this priority :(.

src/freenet/crypt/DiffieHellman.java:68:                
precalcThread.setPriority(Thread.MAX_PRIORITY);

This is from DiffieHellman.getParams(), which seems to be called when 
initialising an FNP connection session.  

Changing the ticker thread to be normal priority *and* modifying getParams
in a really nasty way to move the priority reduction to within that function
instead of within precalcThread itself seemed to make this problem go away, 
however, I don't have a windows node myself right now in order to test 
exactly which one of these is the actual culprit for this issue.  

So I'm hoping that someone who understands that part of fred better than I can
tell me :).

        -- jj


-- 
I'm sick and fucking tired of not getting people drunk.
   -- blixco, http://www.kuro5hin.org/story/2003/8/20/105121/869

Attachment: pgp00000.pgp
Description: PGP signature

_______________________________________________
Devl mailing list
[EMAIL PROTECTED]
http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to