NAME

profile - scheduling configuration

SYNOPSIS

A profile allows a set of high level scheduling priorities to be defined and later applied to one or more threads. Each profile object defines a scheduling configuration. Once created, the profile can be applied to one or more threads, which will then adopt those settings.

DESCRIPTION

Profile objects define a high level scheduling policy that can be applied to threads. For example, an "audio processing" profile could be created with a high scheduling priority, and then be applied to threads in media playback jobs. Alternatively, a "background" profile could be created with a low scheduling priority, and then be applied to threads in non-interactive jobs.

Profile objects are created with the zx_profile_create() syscall, passing in a scheduling configuration. The returned profile may then be applied to one or more threads using the zx_object_set_profile() syscall.

Because profiles give significant control of the behaviour of the kernel scheduler, creating a profile requires the root resource. Once created, profiles may be delegated freely, however.

Currently, three scheduler parameters are supported: * priority * deadline_params * cpu_affinity_mask

For more details, see zx_profile_create().

SYSCALLS

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2026-03-03 UTC.