On 06/16/2011 01:49 AM, Vincent Guittot wrote:
+config SCHED_MC
- bool "Multi-core scheduler support"
- depends on SMP && ARM_CPU_TOPOLOGY
- default n
- help
Multi-core scheduler support improves the CPU scheduler's decisionmaking when dealing with multi-core CPU chips at a cost of slightlyincreased overhead in some places. If unsure say N here.+config SCHED_SMT
- bool "SMT scheduler support"
- depends on SMP && ARM_CPU_TOPOLOGY
- default n
- help
Improves the CPU scheduler's decision making when dealing withMultiThreading at a cost of slightly increased overhead in someplaces. If unsure say N here.
The default is already n so you can drop those two lines.
* This is a multiprocessor system* multiprocessor format & multiprocessor mode field are set*/if (mpidr & (0x1 << 24)) {/* core performance interdependency */cpuid_topo->thread_id = (mpidr & 0x3);cpuid_topo->core_id = ((mpidr >> 8) & 0xF);cpuid_topo->socket_id = ((mpidr >> 16) & 0xFF);} else {/* normal core interdependency */cpuid_topo->thread_id = -1;cpuid_topo->core_id = (mpidr & 0x3);cpuid_topo->socket_id = ((mpidr >> 8) & 0xF);}
The ARM ARM says these fields are IMPLEMENTATION DEFINED meaning that different vendors may attribute different meaning to these fields if they wish. Does that mean this should be a platform_*() function?