This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: What *is* the API for sched_getaffinity? Should sched_getaffinity always succeed when using cpu_set_t?


On Mon, Jul 22, 2013 at 06:34:32PM -0400, Carlos O'Donell wrote:
> The reality of the situation is that the linux kernel as an abstraction
> presents the following:
> 
> (a) The number of online cpus.
>     - Changes dynamically.
>     - Not constant for the life of the process, but pretty constant.

Values returned by sysconf are required[1] to be constant for the
lifetime of a process.

    The value returned shall not be more restrictive than the
    corresponding value described to the application when it was
    compiled with the implementation's <limits.h> or <unistd.h>. The
    value shall not change during the lifetime of the calling process,
    [XSI] [Option Start] except that sysconf(_SC_OPEN_MAX) may return
    different values before and after a call to setrlimit() which
    changes the RLIMIT_NOFILE soft limit.

although I guess there is merit in considering _SC_NPROCESSORS_* for
an exception similar to OPEN_MAX.  That fact needs to be documented
though.

Siddhesh
[1]http://pubs.opengroup.org/onlinepubs/009695399/functions/sysconf.html


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]