2012-05-14 12 views
5

मैं मैक ओएस और बीएसडी पर एक फ़ंक्शन ढूंढ रहा हूं जो कि लिनक्स के sched_getcpu() के बराबर है, और विंडोज़ GetCurrentProcessorNumberEx() सीपीयू-स्थानीय स्टोरेज के लिए लाइब्रेरी को कार्यान्वित करने के लिए। Cpuid या rdtscp निर्देशों के साथ इसे अनुकरण करना स्पष्ट रूप से संभव है, लेकिन कर्नेल सहयोग के साथ बेहतर करना संभव है: https://lkml.org/lkml/2007/1/6/190मैक और बीएसडी के लिए वर्तमान थ्रेड चालू होने पर सीपीयू कैसे प्राप्त करूं?

मुझे पहले से ही पता है कि जब मैं जानकारी का उपयोग करता हूं तो थ्रेड का वर्तमान CPU बदल सकता है।

उत्तर

2

one या two सवाल हैं जिनके OSX के लिए कवर कतार ट्रैकिंग, साथ ही एक dispatch_get_global_queue विकि पृष्ठ जो बीएसडी के लिए बराबर शामिल किया गया हैं। मुझे नहीं पता कि क्या आप एक सीपीयू को कतार में मैप कर सकते हैं, लेकिन यदि ऐसा है, तो यह निकटतम समकक्ष प्रतीत होता है।

संबंधित मुद्दे