placement: optimize bitmap range checks with byte-level skipping#17623
placement: optimize bitmap range checks with byte-level skipping#17623
Conversation
Co-authored-by: gnailzenh <7268050+gnailzenh@users.noreply.github.com>
pl_debug
|
Test stage Build on Leap 15.5 with Intel-C and TARGET_PREFIX completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-17623/2/execution/node/305/log |
|
Test stage Build on EL 9.6 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-17623/2/execution/node/339/log |
|
Test stage Build on EL 8.8 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-17623/2/execution/node/374/log |
|
Test stage Build on Leap 15.5 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-17623/2/execution/node/409/log |
Co-authored-by: gnailzenh <7268050+gnailzenh@users.noreply.github.com>
pl_debug|
Test stage Build on Leap 15.5 with Intel-C and TARGET_PREFIX completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-17623/3/execution/node/304/log |
|
Test stage Build on EL 9.6 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-17623/3/execution/node/338/log |
Co-authored-by: gnailzenh <7268050+gnailzenh@users.noreply.github.com>
|
Test stage Build on EL 8.8 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-17623/3/execution/node/373/log |
|
Test stage Build on Leap 15.5 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-17623/3/execution/node/408/log |
|
Test stage Build on Leap 15.5 with Intel-C and TARGET_PREFIX completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-17623/4/execution/node/305/log |
|
Test stage Build on EL 9.6 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-17623/4/execution/node/339/log |
|
Test stage Build on EL 8.8 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-17623/4/execution/node/374/log |
|
Test stage Build on Leap 15.5 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-17623/4/execution/node/409/log |
…debug Co-authored-by: gnailzenh <7268050+gnailzenh@users.noreply.github.com>
|
Test stage NLT on EL 8.8 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-17623/19/execution/node/684/log |
…en_layout Co-authored-by: gnailzenh <7268050+gnailzenh@users.noreply.github.com>
Co-authored-by: gnailzenh <7268050+gnailzenh@users.noreply.github.com>
Co-authored-by: gnailzenh <7268050+gnailzenh@users.noreply.github.com>
Co-authored-by: gnailzenh <7268050+gnailzenh@users.noreply.github.com>
|
Test stage Fault injection testing on EL 8.8 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-17623/23/execution/node/1000/log |
Co-authored-by: gnailzenh <7268050+gnailzenh@users.noreply.github.com>
|
Test stage Build on Leap 15.5 with Intel-C and TARGET_PREFIX completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-17623/24/execution/node/304/log |
|
Test stage Build on EL 8.8 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-17623/24/execution/node/320/log |
|
Test stage Build on Leap 15.5 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-17623/24/execution/node/328/log |
…itmap skipping Co-authored-by: gnailzenh <7268050+gnailzenh@users.noreply.github.com>
|
Test stage Build on Leap 15.5 with Intel-C and TARGET_PREFIX completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-17623/25/execution/node/304/log |
|
Test stage Build on EL 8.8 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-17623/25/execution/node/320/log |
|
Test stage Build on Leap 15.5 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-17623/25/execution/node/328/log |
Co-authored-by: gnailzenh <7268050+gnailzenh@users.noreply.github.com>
|
Test stage Build on Leap 15.5 with Intel-C and TARGET_PREFIX completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-17623/26/execution/node/304/log |
|
Test stage Build on EL 8.8 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-17623/26/execution/node/320/log |
|
Test stage Build on Leap 15.5 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-17623/26/execution/node/328/log |
tgt_isset_range,dom_isset_range, anddom_isset_2rangesiterated every index one-by-one even when large runs of the bitmap were fully set. Since the bitmap is auint8_tarray, a single byte covers 8 indices — checkingbits[index >> 3] == 0xFFlets us skip the entire byte unconditionally.Changes
bits[index >> 3] == 0xFF, every bit in that byte is set regardless of whereindexsits within it, soindex = (index | 7) + 1safely jumps to the next byte.dom_isset_2rangesuses(bits1[b] | bits2[b]) == 0xFFas the skip predicate — OR of both bytes being all-ones meansisclr(bits1,i) && isclr(bits2,i)is impossible for anyiin that byte.Steps for the author:
After all prior steps are complete:
Original prompt
This pull request was created from Copilot chat.
🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.