On 29/08/14 15:40, Len Ovens wrote:
I don't know that the physical technology matters so much as the OS being
hyperthreading aware and treating each pair of cores like one. That is making
sure that core 0 does not do anything that takes too long for core 1 to meet
it's dead line. I do not know if new Linux kernels do this, older ones did not.
They logged that the chip had hyperthreading, but still seemed to treat two
threads as two different cores.
Certainly, common wisdom has not kept up with tech changes. I would be nice to
know more.
Not quite on topic, since this isn't to do with Hyper-threading, but certainly
the Linux scheduler has been getting much more sophisticated in dealing with
different kinds of cores ... in ARM it now schedules tasks for chips with some
smaller cores and some faster ones, keeping them busy with suitable sized tasks.
The ARM kernels running the most recent Samsung tablets (with 4 big plus 4
little cores) have this GTS in the 3.14 kernels ... it runs all 8 cores together
assigning tasks appropriate to each, rather than just switching between big or
little of each pair to save power. Selling hardware on that scale certainly
brings a budget, and since the kernel is GPL it can't be kept in-house.
Seems that 3.14 has also added a deadline-based scheduler that is closer to what
audio needs from realtime than the extremely low latency preemption based on
priorities that the two older realtime schedulers offer.
http://www.linuxfoundation.org/news-media/blogs/browse/2014/01/deadline-sch…
Simon