sched_getcpu(3)

sched_getcpu3

Determine cpu on which the calling thread is running

Usage

#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 */

Library

Standard C library (libc, -lc)

Overview

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).

Attributes

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

InterfaceAttributeValue
sched_getcpu()Thread safetyMT-Safe

Notes

The call

cpu = sched_getcpu();

is equivalent to the following getcpu(2) call:

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

Releases

10 releases since Debian 5.0 (Lenny); the text changed 9 times.

  1. 5.0
  2. 6.0
  3. 7
  4. 8
  5. 9
  6. 10
  7. 11
  8. 12
  9. 13
  10. Arch

Standards

GNU.

History

glibc 2.6.

From man-pages 6.19-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.