profile - scheduling configuration
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 (though currently only thread priority is implemented). Once created, the profile can be applied to one or more threads, which will then adopt those settings.
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.
Policy 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
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, only a single scheduler parameter
scheduler.priority is supported,
which determines the priority of the thread used by Zircon's kernel
zx_profile_create() describes how to
construct a profile object with a custom scheduler priority.
zx_profile_create()- create a new profile object
zx_object_set_profile()- apply a profile to a thread
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 2020-02-10.