Author: kib
Date: Wed Jun 27 20:32:45 2012
New Revision: 237660
URL: http://svn.freebsd.org/changeset/base/237660

Log:
  Optimize the handling of SC_NPROCESSORS_CONF, by using auxv AT_NCPU
  value if present.
  
  MFC after:    1 week

Modified:
  head/lib/libc/gen/sysconf.c

Modified: head/lib/libc/gen/sysconf.c
==============================================================================
--- head/lib/libc/gen/sysconf.c Wed Jun 27 20:24:25 2012        (r237659)
+++ head/lib/libc/gen/sysconf.c Wed Jun 27 20:32:45 2012        (r237660)
@@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$");
 #include <sys/resource.h>
 #include <sys/socket.h>
 
+#include <elf.h>
 #include <errno.h>
 #include <limits.h>
 #include <paths.h>
@@ -51,6 +52,7 @@ __FBSDID("$FreeBSD$");
 
 #include "../stdlib/atexit.h"
 #include "tzfile.h"            /* from ../../../contrib/tzcode/stdtime */
+#include "libc_private.h"
 
 #define        _PATH_ZONEINFO  TZDIR   /* from tzfile.h */
 
@@ -585,6 +587,8 @@ yesno:
 
        case _SC_NPROCESSORS_CONF:
        case _SC_NPROCESSORS_ONLN:
+               if (_elf_aux_info(AT_NCPUS, &value, sizeof(value)) == 0)
+                       return ((long)value);
                mib[0] = CTL_HW;
                mib[1] = HW_NCPU;
                break;
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to