[PATCH v6 0/1] Add thread affinity

Harvey Yang chenghaoyang at chromium.org
Thu Oct 24 10:13:52 CEST 2024


Hi folks,

This patch adds a method to set thread affinity, which is needed to
ensure performance in mtkisp7 pipeline handler and IPA.

This passes gitlab pipeline:
https://gitlab.freedesktop.org/chenghaoyang/libcamera/-/pipelines/1296466

v6:
- Set thread affinity before run(), if it was not started yet.

v5:
- Return failure if any index is invalid.
- Drop the check of max size.

v4:
- Use `sizeof(data_->cpuset_.value())`.

v3:
- Keep the cpu indices in ThreadData.

v2:
- Check cpu indices within [0, `std::thread::hardware_concurrency()`).
- Limit max size of cpus to be CPU_SETSIZE.

BR,
Harvey

Han-Lin Chen (1):
  libcamera: add method to set thread affinity

 include/libcamera/base/thread.h |  5 ++++
 src/libcamera/base/thread.cpp   | 47 +++++++++++++++++++++++++++++++++
 2 files changed, 52 insertions(+)

-- 
2.47.0.163.g1226f6d8fa-goog



More information about the libcamera-devel mailing list