2012-05-14 35 views
5

Tôi đang tìm một chức năng trên Mac OS và BSD tương đương với sched_getcpu() của Linux và Windows 'GetCurrentProcessorNumberEx() để triển khai thư viện để lưu trữ cục bộ cpu. Rõ ràng là có thể mô phỏng điều này với các hướng dẫn cpuid hoặc rdtscp, nhưng có thể làm tốt hơn với sự hợp tác của hạt nhân: https://lkml.org/lkml/2007/1/6/190.Làm cách nào để tìm cpu mà chuỗi hiện tại đang chạy trên, cho Mac và BSD?

Tôi đã biết rằng CPU hiện tại của luồng có thể thay đổi theo thời gian tôi sử dụng thông tin.

Trả lời

2

one hoặc two câu hỏi bao gồm theo dõi hàng đợi cho OSX, cũng như trang wiki dispatch_get_global_queue bao gồm tương đương cho BSD. Tôi không biết nếu bạn có thể ánh xạ một hàng đợi đến một CPU, nhưng nếu như vậy, đó có vẻ là tương đương gần nhất.