.\" SPDX-License-Identifier: BSD-2-Clause .\" .\" Copyright (c) 2024 The FreeBSD Foundation .\" .\" This documentation was written by Ed Maste <emaste@FreeBSD.org> .\" under sponsorship from the FreeBSD Foundation. .\" .Dd November 13, 2024 .Dt SCHED_GETCPU 3 .Os .Sh NAME .Nm sched_getcpu .Nd get current CPU .Sh LIBRARY .Lb libc .Sh SYNOPSIS .In sched.h .Ft int .Fn sched_getcpu void .Sh DESCRIPTION The .Fn sched_getcpu function returns the current CPU on which the calling thread is running. .Sh RETURN VALUES .Fn sched_getcpu returns the 0-based index of the current CPU at the time of the call. The value may become invalid immediately after return, unless the thread is pinned to a specific CPU. CPU numbering is the same as used by .Xr cpuset 2 and CPU affinity calls. .Pp There are no error values as .Fn sched_getcpu does not fail. .Sh SEE ALSO .Xr cpuset 2 , .Xr cpuset_getaffinity 2 , .Xr cpuset_setaffinity 2 , .Xr pthread_getaffinity_np 3 , .Xr pthread_setaffinity_np .Sh STANDARDS The .Nm function originated in Linux. This implementation aims to be source-compatible with the Linux implementation. .Sh HISTORY The .Nm function was introduced in .Fx 13.1 .