Changed-lines coverage: PR changed C/C++ lines covered by tests: 41.67% (10/24) Uncovered changed code (with context): ================================================================================ programs/server/Server.cpp ================================================================================ --- uncovered block 866-878 --- 864 | 865 | if (!PerCPU::haveRSeq()) >> 866 | server.context()->addOrUpdateWarningMessage( >> 867 | Context::WarningType::LINUX_RSEQ_UNAVAILABLE, >> 868 | PreformattedMessage::create( >> 869 | "The Linux 'restartable sequences' (rseq) feature is not enabled for this process. " >> 870 | "ClickHouse uses it to cheaply detect which CPU core a thread is running on, which keeps " >> 871 | "per-CPU performance counters (used for internal profiling and statistics) fast to update. " >> 872 | "Without it, a slower fallback is used (a real system call on some platforms, such as AArch64), " >> 873 | "making these counters more expensive and slightly degrading performance. " >> 874 | "This means the runtime C library or the kernel did not register a usable rseq area for this process. " >> 875 | "Possible causes: the kernel does not support rseq (it was introduced in Linux 4.18); " >> 876 | "the C library does not register it (glibc does so automatically since version 2.35, so upgrading glibc may help; " >> 877 | "other libraries, such as musl, do not register it); " >> 878 | "or registration was disabled or failed at startup (with glibc, see the 'glibc.pthread.rseq' tunable).")); 879 | 880 | try ================================================================================ src/Common/PerCPU.cpp ================================================================================ --- uncovered block 49-49 --- 47 | /// The registered area must cover at least the `cpu_id` field (offset 4, size 4). 48 | if (&__rseq_size == nullptr || __rseq_size < 8) >> 49 | return false; 50 | /// The kernel uses negative sentinels in `cpu_id`: -1 (UNINITIALIZED) and -2 51 | /// (REGISTRATION_FAILED). The production `sched_getcpu` WARNING: Failed to get start time for [Print Uncovered Code] - start time and duration won't be set --- Coverage counts --- Lines : baseline 913,753/1,059,546 -> current 913,775/1,059,568 (delta +22 / +22) Functions : baseline 800,348/870,004 -> current 800,520/870,006 (delta +172 / +2) Branches : baseline 295,445/377,022 -> current 295,484/377,028 (delta +39 / +6)