|
|
@ -20,12 +20,16 @@ |
|
|
|
* You should have received a copy of the GNU General Public License |
|
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
|
|
#ifdef __FreeBSD__ |
|
|
|
#include <sys/types.h> |
|
|
|
#include <sys/param.h> |
|
|
|
#include <sys/cpuset.h> |
|
|
|
#include <pthread_np.h> |
|
|
|
# include <sys/types.h> |
|
|
|
# include <sys/param.h> |
|
|
|
# include <sys/cpuset.h> |
|
|
|
# include <pthread_np.h> |
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
#include <pthread.h> |
|
|
|
#include <sched.h> |
|
|
|
#include <unistd.h> |
|
|
@ -34,10 +38,12 @@ |
|
|
|
|
|
|
|
#include "Cpu.h" |
|
|
|
|
|
|
|
|
|
|
|
#ifdef __FreeBSD__ |
|
|
|
typedef cpuset_t cpu_set_t; |
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
void Cpu::init() |
|
|
|
{ |
|
|
|
# ifdef XMRIG_NO_LIBCPUID |
|
|
@ -60,9 +66,9 @@ void Cpu::setAffinity(int id, uint64_t mask) |
|
|
|
} |
|
|
|
|
|
|
|
if (id == -1) { |
|
|
|
#ifndef __FreeBSD__ |
|
|
|
# ifndef __FreeBSD__ |
|
|
|
sched_setaffinity(0, sizeof(&set), &set); |
|
|
|
#endif |
|
|
|
# endif |
|
|
|
} else { |
|
|
|
pthread_setaffinity_np(pthread_self(), sizeof(&set), &set); |
|
|
|
} |
|
|
|