Mikhail Panasyuk <otoko@xxxxxxxxx> wrote: > There is something wrong with the way you, Haiku developers, define > priorities > for some system services and apps. Critical for overall performance > and > responsiveness threads many other threads depend on have too low > priorities. You're actually right here: the reason is that the normal thread priority is indeed used for CPU heavy tasks. An application developer should normally choose B_LOW_PRIORITY for those, but I guess we shouldn't rely on that, especially with CLI apps. IOW it makes sense to elevate the priority of important system threads; I've now done so in r33961. An alternative approach would be to automatically give worker threads a lower priority. > + most other kernel_team threads with 10 priority in case there are > _lots_ of > 10-priority tasks (see PS. section for details why) I haven't changed those yet; some needs a bit more thinking. > - MediaPlayer: > 1. media extractor thread > 2. event queue runner > 3. playback manager I haven't changed those either, since I guess Stippi (or someone else) will have a better understanding about which thread should get a higher priority and why. > - input_server: > 1. input_server > Give it at least 11 if you want fast menus' and buttons' interaction > with mouse > and redraw. That one was indeed much too low, although the description doesn't really fit, as the complete event queue was separated from that one. > - Tracker: > 1. Tracker > > At least 11 if you want fast Desktop redraw and FS-navigation. Slow > desktop > redraw affects MediaPlayer. Hardly imaginable - looking at what the Tracker thread does, it's almost nothing. > - app_server: > 1. picasso > 2. screen manager Those two don't really do a lot, but you're right, giving them a higher priority doesn't hurt either. > There is one important thing about BeOS/Haiku schedulers every > developer > must know. [...] Indeed, but that's also mostly neglectable because Haiku is no server OS - you just won't have dozens of worker threads running all day. Bye, Axel.