コード例 #1
0
ファイル: msr.cpp プロジェクト: mertdikmen/ViVid
	ThreadGroupTempAffinity(uint32 core_id)
	{
		GROUP_AFFINITY NewGroupAffinity;
		memset(&NewGroupAffinity, 0, sizeof(GROUP_AFFINITY));
		memset(&PreviousGroupAffinity, 0, sizeof(GROUP_AFFINITY));
		uint32 currentGroupSize = 0;

		while (core_id >= (currentGroupSize = GetMaximumProcessorCount(NewGroupAffinity.Group)))
		{
			core_id -= currentGroupSize;
			++NewGroupAffinity.Group;
		}
		NewGroupAffinity.Mask = 1ULL << core_id;
		SetThreadGroupAffinity(GetCurrentThread(),&NewGroupAffinity,&PreviousGroupAffinity);
	}
コード例 #2
0
int devIocStatsInitCpuUtilization(loadInfo *pval) {

 
     GetSystemTimes(&Prev_Sys_IdleTime, &Prev_Sys_KernelTime, &Prev_Sys_UserTime);
    GetProcessTimes(GetCurrentProcess(),&Proc_Creationtime,&Prev_Proc_IdleTime, &Prev_Proc_KernelTime, &Prev_Proc_UserTime);

    
    myprocessid = GetCurrentProcessId();
    
#ifdef _WIN64
    pval->noOfCpus = GetMaximumProcessorCount(ALL_PROCESSOR_GROUPS);
#else
    
    pval->noOfCpus = strtol(getenv("NUMBER_OF_PROCESSORS"),NULL,10);
#endif    
    
    return 0;
}