On 2012/6/28 10:21, Attilio Rao wrote:
2012/6/28, David Xu<listlog2...@gmail.com>:
On 2012/6/28 4:32, Konstantin Belousov wrote:
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;

Will this make controlling the number of CPU online or CPU hotplug
be impossible on FreeBSD ?
If I think about hotplug CPUs I can think of other 1000
problems/races/bad situations to be fixed before this one, really.
These are problems only in kernel, but kib's change is about ABI
between userland and kernel, I hope we don't introduce an ABI which
is not extendable road stone.

Attilio



_______________________________________________
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