---
name: "efadv_wr_set_processing_hints"
section: "3"
platform: "linux"
package: "rdma-core"
version: "65.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/efadv_wr_set_processing_hints"
---

# efadv\_wr\_set\_processing\_hints(3)

Set processing hints on the current work request

## NAME

efadv\_wr\_set\_processing\_hints - Set processing hints on the current work request

## SYNOPSIS

-

  ```
  #include <infiniband/efadv.h>
  static inline void efadv_wr_set_processing_hints(
      struct efadv_qp *efadv_qp,
      uint32_t hints);
  ```

## DESCRIPTION

**efadv\_wr\_set\_processing\_hints()** sets processing hints on the current work request being built. Hints allow the application to communicate intended usage patterns to the device, which may use them to optimize processing.

This function is a work request setter and must be called after the work request opcode function (e.g. **ibv\_wr\_send()**) and before **ibv\_wr\_complete()** or the next work request opcode call.

Use **efadv\_qp\_from\_ibv\_qp\_ex()** to get the efadv\_qp for accessing this interface.

The QP must be created with **EFADV\_WR\_EX\_WITH\_PROCESSING\_HINTS** set in *efadv\_qp\_init\_attr.wr\_flags* to use this function.

The *hints* argument is a bitmask of **efadv\_wr\_processing\_hint** values:

-

  ```
  enum efadv_wr_processing_hint {
      EFADV_WR_PROCESSING_HINT_BURST_PPS_SENSITIVE = 1 << 0,
  };
  ```

- *EFADV\_WR\_PROCESSING\_HINT\_BURST\_PPS\_SENSITIVE*

  Optimize for throughput in bursty, packet-rate sensitive workloads.

## SEE ALSO

[**efadv**(7)](/efadv/7.md), [**efadv\_create\_qp\_ex**(3)](/efadv_create_qp_ex/3.md), [**ibv\_wr\_start**(3)](/ibv_wr_start/3.md)

## AUTHORS

Michael Margolin ⟨mrgolin@amazon.com⟩\\c
