# hint\_high\_cpuutil 

Source: [https://docs.qualcomm.com/doc/80-PK177-134/topic/qape_hint_high_cpu_util.html](https://docs.qualcomm.com/doc/80-PK177-134/topic/qape_hint_high_cpu_util.html)

Informs the system about a
    specific high CPU utilization thread that requires a high-performance core on the SoC. This
    thread is placed accordingly onto a big CPU core. It does not set the frequency of the core in
    which the thread runs, but instead, the choice is left to the scheduler-DCVS directly or
    indirectly via the boost\_cpu API.

hint_high_cpuutil()Copy to clipboard

Caution:

When a thread is defined as high util, the system first tries to use the
        big/performance core. This may result in a higher power and may impact battery life. Any
        thread hints, such as high\_cpuutil, low\_cpuutil, and thread\_pipeline, remains for the lifetime
        of the thread, unless it is explicitly released by the app using release\_thread\_hints API or
        through the auto-release mechanism when the app goes to the background or gets killed.

## Usage guidance

This hint is useful for critical threads running a heavy workload, like UI thread in apps or
        GL thread for games. It is useful when the application thread workload is mostly high but can
        sporadically go low. Using this hint assists the system scheduler to ensure that the
        application thread should still be placed onto big/performance CPU cores. One of the key goals
        with this hint is to have application threads avoid using thread affinities that need special
        CPU topology knowledge. Also, it can work against the application thread if, at runtime, the
        affined CPU is already running other concurrent workloads.

## Parameters

| Parameters | API type | Data type | Description |
| --- | --- | --- | --- |
| Tid | Java | long | TID if the thread that needs to be set for high CPU<br>                utilization |
| Tid | Native | uint32 | TID if the thread that needs to be set for high CPU<br>                utilization |
| ret\_val | Native | int8\_t& | On success this is the actual return value from the API.<br><br><br>                <br><ul class="ul"><br>                    <li class="li">0: Success</li><br><br>                    <li class="li">-1: Failed to apply hint</li><br><br>                    <li class="li">-2: Failed to establish session, check that <a href="https://docs.qualcomm.com/doc/80-PK177-134/topic/qape_set_pkg.html">set_pkg</a> was called before this API</li><br><br>                  </ul> |
|  |  |  |  |

## Returns

| Return | API type | Data type | Description |
| --- | --- | --- | --- |
| response | Java | int | <ul class="ul"><br>                  <li class="li">0: Success</li><br><br>                  <li class="li">-1: Failed to apply hint</li><br><br>                  <li class="li">-2: Failed to establish session, check that <a href="https://docs.qualcomm.com/doc/80-PK177-134/topic/qape_set_pkg.html">set_pkg</a> was called before this API</li><br><br>                </ul> |
| response | Native | qesdk\_transaction\_status | See [QESDK transaction status for Native APIs](https://docs.qualcomm.com/doc/80-PK177-134/topic/native_qesdk_class.html) for usage details. Use qesdk\_transaction\_status to confirm API call invocation. If successful, use the `ret` value for the actual API return value object. |
|  |  |  |  |

**Parent Topic:** [QAPE subsystem APIs](https://docs.qualcomm.com/doc/80-PK177-134/topic/qape_apis.html)

Last Published: Nov 14, 2024

[Previous Topic
hint\_low\_latency](https://docs.qualcomm.com/bundle/publicresource/80-PK177-134/topics/qape_hint_low_latency.md) [Next Topic
hint\_low\_cpuutil](https://docs.qualcomm.com/bundle/publicresource/80-PK177-134/topics/qape_hint_low_cpu_util.md)