mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-11-14 21:50:37 +00:00
The 'perf bench epoll' testcase fails on systems with more than 1K CPUs. Testcase: perf bench epoll all Result snippet: <<>> Run summary [PID 106497]: 1399 threads monitoring on 64 file-descriptors for 8 secs. perf: pthread_create: No such file or directory <<>> In epoll benchmarks (ctl, wait) pthread_create is invoked in do_threads from respective bench_epoll_* function. Though the logs shows direct failure from pthread_create, the actual failure is from "sched_setaffinity" returning EINVAL (invalid argument). This happens because the default mask size in glibc is 1024. To overcome this 1024 CPUs mask size limitation of cpu_set_t, change the mask size using the CPU_*_S macros. Patch addresses this by fixing all the epoll benchmarks to use CPU_ALLOC to allocate cpumask, CPU_ALLOC_SIZE for size, and CPU_SET_S to set the mask. Reported-by: Disha Goel <disgoel@linux.vnet.ibm.com> Signed-off-by: Athira Jajeev <atrajeev@linux.vnet.ibm.com> Tested-by: Disha Goel <disgoel@linux.vnet.ibm.com> Acked-by: Ian Rogers <irogers@google.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Kajol Jain <kjain@linux.ibm.com> Cc: Madhavan Srinivasan <maddy@linux.vnet.ibm.com> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Nageswara R Sastry <rnsastry@linux.ibm.com> Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com> Cc: linuxppc-dev@lists.ozlabs.org Link: https://lore.kernel.org/r/20220406175113.87881-3-atrajeev@linux.vnet.ibm.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> |
||
|---|---|---|
| .. | ||
| bench.h | ||
| Build | ||
| epoll-ctl.c | ||
| epoll-wait.c | ||
| evlist-open-close.c | ||
| find-bit-bench.c | ||
| futex-hash.c | ||
| futex-lock-pi.c | ||
| futex-requeue.c | ||
| futex-wake-parallel.c | ||
| futex-wake.c | ||
| futex.h | ||
| inject-buildid.c | ||
| kallsyms-parse.c | ||
| mem-functions.c | ||
| mem-memcpy-arch.h | ||
| mem-memcpy-x86-64-asm-def.h | ||
| mem-memcpy-x86-64-asm.S | ||
| mem-memset-arch.h | ||
| mem-memset-x86-64-asm-def.h | ||
| mem-memset-x86-64-asm.S | ||
| numa.c | ||
| sched-messaging.c | ||
| sched-pipe.c | ||
| synthesize.c | ||
| syscall.c | ||