SCHED_GETCPU(3)                                                         Linux Programmer's Manual                                                        SCHED_GETCPU(3)

NAME
       sched_getcpu - determine CPU on which the calling thread is running

SYNOPSIS
       #include <sched.h>

       int sched_getcpu(void);

   Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

       sched_getcpu():
           Since glibc 2.14:
               _GNU_SOURCE
           Before glibc 2.14:
               _BSD_SOURCE || _SVID_SOURCE
                   /* _GNU_SOURCE also suffices */

DESCRIPTION
       sched_getcpu() returns the number of the CPU on which the calling thread is currently executing.

RETURN VALUE
       On success, sched_getcpu() returns a nonnegative CPU number.  On error, -1 is returned and errno is set to indicate the error.

ERRORS
       ENOSYS This kernel does not implement getcpu(2).

VERSIONS
       This function is available since glibc 2.6.

ATTRIBUTES
       For an explanation of the terms used in this section, see attributes(7).

       ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬───────────────┬─────────┐
       │Interface                                                                                                                             │ Attribute     │ Value   │
       ├──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼───────────────┼─────────┤
       │sched_getcpu()                                                                                                                        │ Thread safety │ MT-Safe │
       └──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴───────────────┴─────────┘

CONFORMING TO
       sched_getcpu() is glibc-specific.

NOTES
       The call

           cpu = sched_getcpu();

       is equivalent to the following getcpu(2) call:

           int c, s;
           s = getcpu(&c, NULL, NULL);
           cpu = (s == -1) ? s : c;

SEE ALSO
       getcpu(2), sched(7)

Linux                                                                          2021-03-22                                                                SCHED_GETCPU(3)