2012-05-14 8 views
5

Sto cercando una funzione su Mac OS e BSD che sia equivalente a Linux sched_getcpu() e Windows 'GetCurrentProcessorNumberEx() per implementare una libreria per l'archiviazione cpu-local. È chiaramente possibile emularlo con le istruzioni cpuid o rdtscp, ma è possibile fare meglio con la cooperazione del kernel: https://lkml.org/lkml/2007/1/6/190.Come trovo la cpu su cui è in esecuzione il thread corrente, per Mac e BSD?

So già che la CPU corrente del thread potrebbe cambiare nel momento in cui utilizzo le informazioni.

risposta

2

Ci sono one o two domande che riguardano il tracciamento della coda per OSX, nonché una pagina wiki dispatch_get_global_queue che copre l'equivalente per BSD. Non so se è possibile mappare una coda a una CPU, ma se così fosse, sembrerebbe essere l'equivalente più vicino.

Problemi correlati