Commit 6e5d7cdd authored by Rohit Gupta's avatar Rohit Gupta
Browse files

disable CPU affinity for UE and also for case when MAX_CPUS <=2

parent 00b26f36
...@@ -3298,39 +3298,46 @@ int main( int argc, char **argv ) ...@@ -3298,39 +3298,46 @@ int main( int argc, char **argv )
} }
#ifndef LOWLATENCY #ifndef LOWLATENCY
cpu_set_t cpuset;
int s;
char cpu_affinity[1024];
LOG_I(HW, "Setting the affinity of main function to CPU 0, for device library to use CPU 0 only!\n");
CPU_ZERO(&cpuset);
CPU_SET(0, &cpuset);
s = pthread_setaffinity_np(pthread_self(), sizeof(cpu_set_t), &cpuset); /* Currently we set affinity for UHD to CPU 0 for eNB only and only if number of CPUS >2 */
if (s != 0) /* ToDo: Set CPU affinity for UE */
if (UE_flag == 0 && get_nprocs() > 2)
{ {
perror( "pthread_setaffinity_np"); cpu_set_t cpuset;
exit_fun("Error setting processor affinity"); int s;
} char cpu_affinity[1024];
/* Check the actual affinity mask assigned to the thread */
s = pthread_getaffinity_np(pthread_self(), sizeof(cpu_set_t), &cpuset); LOG_I(HW, "Setting the affinity of main function to CPU 0, for device library to use CPU 0 only!\n");
if (s != 0)
{ CPU_ZERO(&cpuset);
perror( "pthread_getaffinity_np"); CPU_SET(0, &cpuset);
exit_fun("Error getting processor affinity ");
} s = pthread_setaffinity_np(pthread_self(), sizeof(cpu_set_t), &cpuset);
memset(cpu_affinity, 0 , sizeof(cpu_affinity)); if (s != 0)
for (int j = 0; j < CPU_SETSIZE; j++) {
if (CPU_ISSET(j, &cpuset)) perror( "pthread_setaffinity_np");
{ exit_fun("Error setting processor affinity");
char temp[1024]; }
sprintf(temp, " CPU_%d ", j);
strcat(cpu_affinity, temp); /* Check the actual affinity mask assigned to the thread */
s = pthread_getaffinity_np(pthread_self(), sizeof(cpu_set_t), &cpuset);
if (s != 0)
{
perror( "pthread_getaffinity_np");
exit_fun("Error getting processor affinity ");
}
memset(cpu_affinity, 0 , sizeof(cpu_affinity));
for (int j = 0; j < CPU_SETSIZE; j++)
{
if (CPU_ISSET(j, &cpuset))
{
char temp[1024];
sprintf(temp, " CPU_%d ", j);
strcat(cpu_affinity, temp);
}
}
LOG_I(HW, "CPU Affinity of main() function is... %s\n", cpu_affinity);
} }
LOG_I(HW, "CPU Affinity of main() function is... %s\n", cpu_affinity);
#endif #endif
/* device host type is set*/ /* device host type is set*/
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment