Revision: 55018
          http://brlcad.svn.sourceforge.net/brlcad/?rev=55018&view=rev
Author:   brlcad
Date:     2013-04-03 05:11:55 +0000 (Wed, 03 Apr 2013)
Log Message:
-----------
pass our cpu number to parallel_set_affinity() since there's no reason to incur 
a lookup cost here (we know the number) and it keeps open the possibility of 
reassignment later.

Modified Paths:
--------------
    brlcad/trunk/src/libbu/affinity.c
    brlcad/trunk/src/libbu/parallel.h

Modified: brlcad/trunk/src/libbu/affinity.c
===================================================================
--- brlcad/trunk/src/libbu/affinity.c   2013-04-03 05:10:00 UTC (rev 55017)
+++ brlcad/trunk/src/libbu/affinity.c   2013-04-03 05:11:55 UTC (rev 55018)
@@ -53,7 +53,7 @@
 
 
 int
-parallel_set_affinity(void)
+parallel_set_affinity(int cpu)
 {
 #if defined(HAVE_PTHREAD_H) && defined (CPU_ZERO)
 
@@ -68,7 +68,7 @@
 
     /* Clear CPU set and assign our number */
     CPU_ZERO(&set_of_cpus);
-    CPU_SET(bu_parallel_id() & bu_avail_cpus(), &set_of_cpus);
+    CPU_SET(cpu & bu_avail_cpus(), &set_of_cpus);
 
     /* set affinity mask of current thread */
     ret = pthread_setaffinity_np(pthread_self(), sizeof(set_of_cpus), 
&set_of_cpus);
@@ -100,7 +100,7 @@
        return -1;
 
     /* put each thread into a separate group */
-    apolicy.affinity_tag = bu_parallel_id() % bu_avail_cpus();
+    apolicy.affinity_tag = cpu % bu_avail_cpus();
     ret = thread_policy_set(curr_thread, THREAD_EXTENDED_POLICY, 
(thread_policy_t) &apolicy, THREAD_EXTENDED_POLICY_COUNT);
     if (ret != KERN_SUCCESS)
        return -1;
@@ -109,7 +109,7 @@
 
 #elif defined(HAVE_WINDOWS_H)
 
-    BOOL ret = SetThreadAffinityMask(GetCurrentThread(), 1 << bu_parallel_id() 
% bu_avail_cpus());
+    BOOL ret = SetThreadAffinityMask(GetCurrentThread(), 1 << cpu % 
bu_avail_cpus());
     if (ret  == 0)
        return -1;
 

Modified: brlcad/trunk/src/libbu/parallel.h
===================================================================
--- brlcad/trunk/src/libbu/parallel.h   2013-04-03 05:10:00 UTC (rev 55017)
+++ brlcad/trunk/src/libbu/parallel.h   2013-04-03 05:11:55 UTC (rev 55018)
@@ -30,7 +30,7 @@
  * -1 on Failure
  *
  */
-extern int parallel_set_affinity(void);
+extern int parallel_set_affinity(int cpu);
 
 extern void thread_set_cpu(int cpu);
 extern int thread_get_cpu(void);

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Minimize network downtime and maximize team effectiveness.
Reduce network management and security costs.Learn how to hire 
the most talented Cisco Certified professionals. Visit the 
Employer Resources Portal
http://www.cisco.com/web/learning/employer_resources/index.html
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to