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
pgp00000.pgp
Description: PGP signature
_______________________________________________ Devl mailing list [EMAIL PROTECTED] http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/devl
