oneTBB icon indicating copy to clipboard operation
oneTBB copied to clipboard

OpenBSD and NetBSD doesn't have the cpuset_* feature

Open rilysh opened this issue 1 year ago • 3 comments

Hi!

I was looking at the https://github.com/oneapi-src/oneTBB/blob/master/src/tbb/misc_ex.cpp file, and I noticed that a few several functions uses cpuset_*affinity() functions, but they're only available in FreeBSD. Neither OpenBSD or NetBSD seem to have these, and there seem to be no libc API to address this on OpenBSD. (NetBSD apparently have pthread_*affinity_*() and cpuset, https://man.netbsd.org/affinity.3 but I haven't dig further to this yet).

  1. https://man.openbsd.org/cpuset_getaffinity (empty)
  2. https://man.netbsd.org/cpuset_getaffinity (empty)

I've also noticed a few syscalls, but starting from OpenBSD 7.5 direct syscalls aren't permitted. The syscall wrapper is also removed from the libc and kernel. (https://marc.info/?l=openbsd-tech&m=169841790407370&w=2)

I just found oneTBB right now, so I'm not sure how useful misc_ex file is. Moreover I haven't compiled it to these specified target systems.

rilysh avatar Jun 22 '24 09:06 rilysh

Hi @rilysh, misc_ex still in use and provides some platform specific functionality. I cannot comment on fullness of OpenBSD support in this specific part of functionality because BSDs are community supported platforms. If you can test it on your side and provide a contribution with the improvement (if needed) we would be happy to help with it.

pavelkumbrasev avatar Jun 24 '24 09:06 pavelkumbrasev

@rilysh is this issue still relevant?

nofuturre avatar Jul 12 '24 11:07 nofuturre

@rilysh is this issue still relevant?

Yes. Compilation on both systems (NetBSD 10 and OpenBSD 7.5) fails. I haven't think about patching this yet. I just reported this approximately three weeks ago.

rilysh avatar Jul 12 '24 13:07 rilysh