Re: Real-time scheduling policies and hyper-threading

2014-04-25 Thread Roman Gushchin
25.04.2014, 19:11, "Peter Zijlstra" : > On Fri, Apr 25, 2014 at 07:02:16PM +0400, Roman Gushchin wrote: > >>  Hm. What I really want (and try to implement), is >>  "work as if ht is disabled if there are free physical cores, start using ht >> siblings otherwise". > > At which point I have to ask,

Re: Real-time scheduling policies and hyper-threading

2014-04-25 Thread Peter Zijlstra
On Fri, Apr 25, 2014 at 07:02:16PM +0400, Roman Gushchin wrote: > Of course, there is always a trade-off between latency and performance > utilization, > but the common practice here is to keep cpu load between 40% and 70%. So, > there is > fast always a free CPU thread, and a good chance that th

Re: Real-time scheduling policies and hyper-threading

2014-04-25 Thread Roman Gushchin
25.04.2014, 17:16, "Peter Zijlstra" : > On Fri, Apr 25, 2014 at 03:04:49PM +0400, Roman Gushchin wrote: > >>  24.04.2014, 22:59, "Peter Zijlstra" : >>>  On Thu, Apr 24, 2014 at 10:16:12PM +0400, Roman Gushchin wrote:   Are there any known solutions of this problem except disabling   hyper

Re: Real-time scheduling policies and hyper-threading

2014-04-25 Thread Peter Zijlstra
On Fri, Apr 25, 2014 at 07:02:16PM +0400, Roman Gushchin wrote: > Hm. What I really want (and try to implement), is > "work as if ht is disabled if there are free physical cores, start using ht > siblings otherwise". At which point I have to ask, what about the rest of the topology? Also, how i

Re: Real-time scheduling policies and hyper-threading

2014-04-25 Thread Peter Zijlstra
On Fri, Apr 25, 2014 at 03:04:49PM +0400, Roman Gushchin wrote: > 24.04.2014, 22:59, "Peter Zijlstra" : > > On Thu, Apr 24, 2014 at 10:16:12PM +0400, Roman Gushchin wrote: > > > >>  Are there any known solutions of this problem except disabling > >>  hyper-threading and frequency scaling at all? >

Re: Real-time scheduling policies and hyper-threading

2014-04-25 Thread Roman Gushchin
25.04.2014, 00:16, "Kirill Tkhai" : > 24.04.2014, 22:59, "Peter Zijlstra" : > > [snip] > >>>   Does anyone use rt-scheduler for runtime-like cpu-bound tasks? >>  So in general cpu bound tasks in the RT classes (FIFO/RR/DEADLINE) are >>  bad and can make the system go funny. >> >>  For general syste

Re: Real-time scheduling policies and hyper-threading

2014-04-25 Thread Roman Gushchin
24.04.2014, 22:59, "Peter Zijlstra" : > On Thu, Apr 24, 2014 at 10:16:12PM +0400, Roman Gushchin wrote: > >>  Are there any known solutions of this problem except disabling >>  hyper-threading and frequency scaling at all? > > This is what we generally tell people to do; disable HT in the BIOS, > o

Re: Real-time scheduling policies and hyper-threading

2014-04-24 Thread Kirill Tkhai
24.04.2014, 22:59, "Peter Zijlstra" : [snip] >>  Does anyone use rt-scheduler for runtime-like cpu-bound tasks? > > So in general cpu bound tasks in the RT classes (FIFO/RR/DEADLINE) are > bad and can make the system go funny. > > For general system health it is important that various system task

Re: Real-time scheduling policies and hyper-threading

2014-04-24 Thread Peter Zijlstra
On Fri, Apr 25, 2014 at 12:16:52AM +0400, Kirill Tkhai wrote: > 24.04.2014, 22:59, "Peter Zijlstra" : > > [snip] > > >>  Does anyone use rt-scheduler for runtime-like cpu-bound tasks? > > > > So in general cpu bound tasks in the RT classes (FIFO/RR/DEADLINE) are > > bad and can make the system go

Re: Real-time scheduling policies and hyper-threading

2014-04-24 Thread Peter Zijlstra
On Thu, Apr 24, 2014 at 10:16:12PM +0400, Roman Gushchin wrote: > Are there any known solutions of this problem except disabling > hyper-threading and frequency scaling at all? This is what we generally tell people to do; disable HT in the BIOS, offline the siblings or similar approaches. Similar

Real-time scheduling policies and hyper-threading

2014-04-24 Thread Roman Gushchin
Hello! I spend some time investigating why switching runtime* tasks to real-time scheduling policies increases response time dispersion, while the opposite is expected. The main reason is hyper-threading. rt-scheduler tries only to load all logical CPUs, selecting topologically closest when th