Lines Matching defs:core
56 CoreEntry* core = gCoreLoadHeap.PeekMaximum();
57 if (core == NULL)
61 = atomic_pointer_test_and_set(&sSmallTaskCore, core, (CoreEntry*)NULL);
63 return core;
90 CoreEntry* core = NULL;
92 // try to pack all threads on one core
93 core = choose_small_task_core();
95 if (core == NULL || core->GetLoad() + threadData->GetLoad() >= kHighLoad) {
98 // run immediately on already woken core
99 core = gCoreLoadHeap.PeekMinimum();
100 if (core == NULL) {
103 core = choose_idle_core();
105 if (core == NULL) {
107 core = gCoreHighLoadHeap.PeekMinimum();
112 ASSERT(core != NULL);
113 return core;
124 CoreEntry* core = threadData->Core();
126 int32 coreLoad = core->GetLoad();
127 int32 threadLoad = threadData->GetLoad() / core->CPUCount();
129 if (sSmallTaskCore == core) {
134 return core;
135 return coreLoad > kVeryHighLoad ? smallTaskCore : core;
139 return core;
150 return coreNewLoad - otherNewLoad >= kLoadDifference / 2 ? other : core;
154 return core;
158 return core;
160 ? smallTaskCore : core;
229 CoreEntry* core = CoreEntry::GetCore(smp_get_current_cpu());
230 if (other == core)
232 if (other->GetLoad() + kLoadDifference >= core->GetLoad())