PS: Sorry if I didn't realize what BRs is :D On Wed, Jan 26, 2022 at 3:39 PM Kirk Lund <kl...@apache.org> wrote:
> Hi BRs/Jakov, > > I'm familiar with most of these threads, and these ones I know of do not > spawn more than one thread total. Most of these are quite old, possibly > predating Executors in Java. I doubt using max priority is important for > these threads, but you should probably do some perf testing if you want to > remove setMaxPriority. I recommend using > https://github.com/apache/geode-benchmarks as well as writing targeted > JMH micro-benchmarks. > > Cheers, > Kirk > > On Mon, Jan 24, 2022 at 3:50 AM Jakov Varenina <jakov.varen...@est.tech> > wrote: > >> Hi community, >> >> We have came across to some code in geode that prioritizes some of the >> threads using >> >> https://cr.openjdk.java.net/~iris/se/11/latestSpec/api/java.base/java/lang/Thread.html#setPriority(int). >> >> Below you can find links to code. >> >> >> https://github.com/apache/geode/blob/41eb49989f25607acfcbf9ac5afe3d4c0721bb35/geode-core/src/main/java/org/apache/geode/internal/statistics/HostStatSampler.java#L304 >> >> >> https://github.com/apache/geode/blob/41eb49989f25607acfcbf9ac5afe3d4c0721bb35/geode-core/src/main/java/org/apache/geode/internal/cache/control/OffHeapMemoryMonitor.java#L92 >> >> >> https://github.com/apache/geode/blob/d79a3c78eab96a9e760db07fa42580e61586b9c5/geode-core/src/main/java/org/apache/geode/internal/cache/control/InternalResourceManager.java#L147 >> >> >> https://github.com/apache/geode/blob/a5bd36f9fa787d3a71c6e6efafed5a7b0fe52d2b/geode-core/src/main/java/org/apache/geode/internal/tcp/TCPConduit.java#L343 >> >> Just to add that every new thread inherits parent thread priority, so >> that means that there will be more thread with max priority in addition >> to the above threads. Does somebody know why this is set for these >> particular threads? >> >> Additionally, in multiple online resources it is indicated that these >> priories are not taken into the account by the Linux scheduler unless >> additional parameters in JVM are set (UseThreadPriorities and >> ThreadPriorityPolicy), please check links for more information's: >> >> https://github.com/openjdk/jdk/blob/jdk8-b120/hotspot/src/share/vm/runtime/globals.hpp#L3369,L3392 >> and >> >> https://github.com/openjdk/jdk/blob/jdk8-b120/hotspot/src/os/linux/vm/os_linux.cpp#L3961,L3966 >> >> Are these priorities that are set in Apache Geode code crucial and >> should be enabled for better performance, or they shouldn't be used? >> Also did I maybe miss something and these priorities are somehow used >> even without setting mentioned JVM parameters? >> >> Any help on this topic is welcome and sorry for bothering! >> >> BRs/Jakov >> >>