[netperf-dev] netperf2 commit notice r64 - in trunk: . src

raj at netperf.org raj at netperf.org
Fri Mar 31 13:27:07 PST 2006


Author: raj
Date: 2006-03-31 13:27:06 -0800 (Fri, 31 Mar 2006)
New Revision: 64

Modified:
   trunk/AUTHORS
   trunk/Release_Notes
   trunk/config.h.in
   trunk/configure
   trunk/configure.ac
   trunk/src/netlib.c
Log:
Add processor affinity for AIX (5.3 at least, perhaps earlier) and some
housekeeping for AUTHORS and Release_Notes.  Pretty soon we really aught
to cut a 2.4.2 "release"


Modified: trunk/AUTHORS
===================================================================
--- trunk/AUTHORS	2006-03-30 04:46:19 UTC (rev 63)
+++ trunk/AUTHORS	2006-03-31 21:27:06 UTC (rev 64)
@@ -167,4 +167,7 @@
 Changes to deal with different floating-point formats.
 
 Anonymous
-Changes to retrieve CPU util on MacOS X.
\ No newline at end of file
+Changes to retrieve CPU util on MacOS X.
+
+Dickon Reed
+Patches to attend to some windows in TCP_CRR and TCP_CC under Windows
\ No newline at end of file

Modified: trunk/Release_Notes
===================================================================
--- trunk/Release_Notes	2006-03-30 04:46:19 UTC (rev 63)
+++ trunk/Release_Notes	2006-03-31 21:27:06 UTC (rev 64)
@@ -7,6 +7,12 @@
 
 *) Additions for CPU util support on MacOS X, courtesy of Anonymous.
 
+*) Processor affinity is now supported on AIX 5.3 (perhaps earlier)
+   via the bindprocessor system call.
+
+*) Fixes for test lockups with TCP_CRR and TCP_CC under Windows
+   courtesy of Dikon Reed.
+
 These are the Release Notes for Revision 2.4.1 of netperf:
 
 Things changed in this release:

Modified: trunk/config.h.in
===================================================================
--- trunk/config.h.in	2006-03-30 04:46:19 UTC (rev 63)
+++ trunk/config.h.in	2006-03-31 21:27:06 UTC (rev 64)
@@ -6,6 +6,9 @@
 /* Define to 1 if you have the <arpa/inet.h> header file. */
 #undef HAVE_ARPA_INET_H
 
+/* Define to 1 if you have the `bindprocessor' function. */
+#undef HAVE_BINDPROCESSOR
+
 /* Define to 1 if you have the `bind_to_cpu_id' function. */
 #undef HAVE_BIND_TO_CPU_ID
 

Modified: trunk/configure
===================================================================
--- trunk/configure	2006-03-30 04:46:19 UTC (rev 63)
+++ trunk/configure	2006-03-31 21:27:06 UTC (rev 64)
@@ -6407,11 +6407,13 @@
 done
 
 
+# check for the various CPU binding calls
 
 
 
 
-for ac_func in mpctl processor_bind sched_setaffinity bind_to_cpu_id
+
+for ac_func in mpctl processor_bind sched_setaffinity bind_to_cpu_id bindprocessor
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
 echo "$as_me:$LINENO: checking for $ac_func" >&5

Modified: trunk/configure.ac
===================================================================
--- trunk/configure.ac	2006-03-30 04:46:19 UTC (rev 63)
+++ trunk/configure.ac	2006-03-31 21:27:06 UTC (rev 64)
@@ -84,7 +84,8 @@
 
 AC_CHECK_FUNCS(sendfile)
 
-AC_CHECK_FUNCS(mpctl processor_bind sched_setaffinity bind_to_cpu_id)
+# check for the various CPU binding calls
+AC_CHECK_FUNCS(mpctl processor_bind sched_setaffinity bind_to_cpu_id bindprocessor)
 
 # see if we should be enabling histogram support
 

Modified: trunk/src/netlib.c
===================================================================
--- trunk/src/netlib.c	2006-03-30 04:46:19 UTC (rev 63)
+++ trunk/src/netlib.c	2006-03-31 21:27:06 UTC (rev 64)
@@ -1762,6 +1762,17 @@
 #include <sys/processor.h>
 #include <sys/procset.h>
   processor_bind(P_PID,P_MYID,processor_affinity,NULL);
+#elif HAVE_BINDPROCESSOR
+#include <sys/processor.h>
+  /* this is the call on AIX.  It takes a "what" of BINDPROCESS or
+     BINDTHRAD, then "who" and finally "where" which is a CPU number
+     or it seems PROCESSOR_CLASS_ANY there also seems to be a mycpu()
+     call to return the current CPU assignment.  this is all based on
+     the sys/processor.h include file.  from empirical testing, it
+     would seem that the my_cpu() call returns the current CPU on
+     which we are running rather than the CPU binding, so it's return
+     value will not tell you if you are bound vs unbound. */
+  bindprocessor(BINDPROCESS,getpid(),(cpu_t)processor_affinity);
 #elif HAVE_SCHED_SETAFFINITY
 #include <sched.h>
   /* gee, I wonder what we would do on a system with > 32 or 64



More information about the netperf-dev mailing list