Process Lasso - How to AUTO-disable Windows Dynamic Thread Priority Boosts?

Started by n8q, November 05, 2011, 05:18:53 AM

Previous topic - Next topic

n8q

Is there any way to set it up that a certain program would have the Windows Dynamic Thread Priority Boosts Enabled (*) to be actually disabled automatically? I checked default priority class submenu after right-clicking the certain .exe file I wanted to modify and the option was not there, it was only populated for the "Current Priority Class" menu. Any ideas how I can do this?

Jeremy Collake

I can add this quickly, so will throw it on in the list of v5.1 features. It is too quick an addition not to, and I agree it is useful.
Software Engineer. Bitsum LLC.


Jeremy Collake

Got it half done already, so it'll be in the next build for sure. I actually probably should focus on other stuff, but it was a quick addition.
Software Engineer. Bitsum LLC.


Jeremy Collake

Ok, all done with that.

I spent more time rewriting the wildcard parsing so it is more efficient. I know, I know.. who cares about a few CPU cycles.. I do! Darn it :). Anyway, v5.1 is coming together very quickly now. Final release is imminent. There will be one or two more betas, but there is not much left to add or test. I'll have a new beta out here shortly, if I can stay awake long enough to complete a few more chores.
Software Engineer. Bitsum LLC.

Jeremy Collake

v5.1.0.12 beta is being uploaded shortly with this new capability to set the default thread priority boost setting for process(es). This was added to both the single and multi-select process context menu options.

UPDATE: Now released. Please let me know if there is any functional problem you see. I have not completely tested it myself yet.
Software Engineer. Bitsum LLC.

edkiefer

quick question, could someone give some examples of processes/app were you might want to disable windows default thread priority ?
Bitsum QA Engineer

Jeremy Collake

Thread Priority Boosting I assume you mean. First, let us define this, as it is often misunderstood. When a thread comes out of a wait state (for example, perhaps it was waiting on I/O), it gets a temporary boost by the Windows CPU Scheduler. That is the setting we are talking about.

This is enabled by default for all Windows processes. You can toggle this setting for all threads of a process via the API SetProcessPriorityBoost or individually for threads via SetThreadPriorityBoost.

Why would someone would want to disable this?

First, some applications may have a need to change this setting for specific threads, for reasons internal to their design, but that is not 'user induced', so a different topic.

The only good reason I can think of for a user wanting to do this --- is if you had a process you absolutely wanted to make sure never interfered with anything, ever. Of course, this would not guarantee it wouldn't, but it would further inhibit it from being able to do so.

There could be other reasons as well. I find users sometimes have reasons to do things for purposes that I have not even fathomed.
Software Engineer. Bitsum LLC.

n8q

Quote from: bitsum.support on November 06, 2011, 12:22:54 PM
v5.1.0.12 beta is being uploaded shortly with this new capability to set the default thread priority boost setting for process(es). This was added to both the single and multi-select process context menu options.

UPDATE: Now released. Please let me know if there is any functional problem you see. I have not completely tested it myself yet.

Great, downloading it now and going to test! Thank you.

n8q

Upon testing, when I re-launched the app it didn't actually save the Default values for the Dynamic Thread Priority Boosts, I had to re-disable it again.

Jeremy Collake

Ok, I will look into it to see what's going on. Probably a simple mistake somewhere. Thanks ;)
Software Engineer. Bitsum LLC.

n8q

I figured out how to save it, I just have to select any priority level other than No Default Priority and it saves my variable to not enable the Windows Dynammic Thread Priority Boosts.

Jeremy Collake

Quote from: n8q on November 08, 2011, 01:47:13 AM
I figured out how to save it, I just have to select any priority level other than No Default Priority and it saves my variable to not enable the Windows Dynammic Thread Priority Boosts.

Ah, yes, that is indeed the logic error in the code. Process Lasso 'skips' the priority checking if no default priorities are set, and I had inserted the default thread boost setting into that block. It has been fixed, for the next build.

The one temporary caveat is that in the initial v5.1 release I may not include a configuration dialog for this, so you may have to manually edit the INI file or use the context menu to remove this setting. I am still debating as to whether to take the time to add yet another configuration dialog for this seldom used feature. The translators will all have to submit new translations, etc.. It is something that could be put off until the next minor update. I don't know, I'll ponder on it for a bit.
Software Engineer. Bitsum LLC.


Jeremy Collake

Software Engineer. Bitsum LLC.