Home
last modified time | relevance | path

Searched refs:targetCPU (Results 1 – 5 of 5) sorted by relevance

/haiku/src/system/kernel/scheduler/
H A Dscheduler_thread.cpp162 ThreadData::ChooseCoreAndCPU(CoreEntry*& targetCore, CPUEntry*& targetCPU) in ChooseCoreAndCPU() argument
173 if (targetCPU != NULL && (useMask && !mask.GetBit(targetCPU->ID()))) in ChooseCoreAndCPU()
174 targetCPU = NULL; in ChooseCoreAndCPU()
176 if (targetCore == NULL && targetCPU != NULL) in ChooseCoreAndCPU()
177 targetCore = targetCPU->Core(); in ChooseCoreAndCPU()
178 else if (targetCore != NULL && targetCPU == NULL) in ChooseCoreAndCPU()
179 targetCPU = _ChooseCPU(targetCore, rescheduleNeeded); in ChooseCoreAndCPU()
180 else if (targetCore == NULL && targetCPU == NULL) { in ChooseCoreAndCPU()
183 targetCPU = _ChooseCPU(targetCore, rescheduleNeeded); in ChooseCoreAndCPU()
187 ASSERT(targetCPU != NULL); in ChooseCoreAndCPU()
H A Dscheduler.cpp105 CPUEntry* targetCPU = NULL; in enqueue() local
110 targetCPU = &gCPUEntries[thread->previous_cpu->cpu_num]; in enqueue()
118 const bool rescheduleNeeded = threadData->ChooseCoreAndCPU(targetCore, targetCPU); in enqueue()
121 thread->id, threadPriority, targetCPU->ID(), targetCore->ID()); in enqueue()
130 int32 heapPriority = CPUPriorityHeap::GetKey(targetCPU); in enqueue()
135 if (targetCPU->ID() == smp_get_current_cpu()) { in enqueue()
136 gCPU[targetCPU->ID()].invoke_scheduler = true; in enqueue()
138 smp_send_ici(targetCPU->ID(), SMP_MSG_RESCHEDULE, 0, 0, 0, in enqueue()
H A Dscheduler_thread.h59 CPUEntry*& targetCPU);
/haiku/src/system/kernel/
H A Dsmp.cpp1044 smp_send_ici(int32 targetCPU, int32 message, addr_t data, addr_t data2, in smp_send_ici() argument
1050 "data3 0x%lx, ptr %p, flags 0x%lx\n", targetCPU, message, data, data2, in smp_send_ici()
1061 if (targetCPU == currentCPU) { in smp_send_ici()
1081 next = atomic_pointer_get(&sCPUMessages[targetCPU]); in smp_send_ici()
1083 } while (atomic_pointer_test_and_set(&sCPUMessages[targetCPU], msg, in smp_send_ici()
1086 arch_smp_send_ici(targetCPU); in smp_send_ici()
1460 _call_single_cpu(uint32 targetCPU, void (*func)(void*, int), void* cookie, bool sync) in _call_single_cpu() argument
1464 if (targetCPU == (uint32)smp_get_current_cpu()) { in _call_single_cpu()
1477 smp_send_ici(targetCPU, SMP_MSG_CALL_FUNCTION, (addr_t)cookie, in _call_single_cpu()
1485 call_single_cpu(uint32 targetCPU, void (*func)(void*, int), void* cookie) in call_single_cpu() argument
[all …]
/haiku/headers/private/kernel/
H A Dsmp.h84 void smp_send_ici(int32 targetCPU, int32 message, addr_t data, addr_t data2, addr_t data3,
99 void call_single_cpu(uint32 targetCPU, void (*func)(void*, int), void* cookie);
100 void call_single_cpu_sync(uint32 targetCPU, void (*func)(void*, int),