pans
2017-08-18 7572cd33f27b512691b6acf39cd0d78d35017a46
VisitFace/RtspNativeCodec/app/src/main/cpp/cpu_sched_test.cpp
@@ -8,9 +8,11 @@
#include<sys/sysinfo.h>
#include<unistd.h>
// setup the cpu set of this program to run on
void set_cpu(int id)
// setup the cpu set of this program (task) to run on
void set_task_cpu(int id)
{
   int num = sysconf(_SC_NPROCESSORS_CONF);
    cpu_set_t mask;
    CPU_ZERO(&mask);
    if (sched_getaffinity(0, sizeof(mask), &mask) == -1)
@@ -18,14 +20,44 @@
        fprintf(stderr, "warning: could not get CPU affinity/n");
    }
    CPU_SET(id, &mask);
    if (sched_setaffinity(0, sizeof(mask), &mask) == -1)
    {
        fprintf(stderr, "warning: could not set CPU affinity/n");
    }
   for(int i= 0; i< num; i++)
   {
      LOG_ERROR << "cpu " << i <<": " << CPU_ISSET(i, &mask) <<LOG_ENDL;
   }
   //CPU_CLR(0x0000, &mask);
   //CPU_CLR(0x0001, &mask);
   //CPU_CLR(0x0002, &mask);
   //CPU_CLR(0x0003, &mask);
   //CPU_CLR(0x0004, &mask);
   //CPU_CLR(0x0005, &mask);
   CPU_SET(0x0000, &mask);
   CPU_SET(0x0001, &mask);
   CPU_SET(0x0002, &mask);
   CPU_SET(0x0003, &mask);
   CPU_SET(0x0004, &mask);
   CPU_SET(0x0005, &mask);
   if (sched_setaffinity(0, sizeof(mask), &mask) == -1)
   {
      LOG_ERROR << "warning: could not set CPU affinity" << LOG_ENDL;
   }
   for(int i= 0; i< num; i++)
   {
      LOG_ERROR << "cpu " << i <<": " << CPU_ISSET(i, &mask) <<LOG_ENDL;
   }
}
void cpu_sched()
{
//set_cpu(0x0003);
   //set_task_cpu(0x0003);
}
void pthread_cpu_sched(const pthread_attr_t *attr)
{
   cpu_set_t mask;
   CPU_ZERO(&mask);
}