Page MenuHomeFreeBSD

Convert consumers to use the CPU_FOREACH_SET() macro
ClosedPublic

Authored by markj on Sep 20 2021, 7:11 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Apr 21, 9:48 PM
Unknown Object (File)
Fri, Apr 19, 12:56 AM
Unknown Object (File)
Sun, Mar 31, 1:19 AM
Unknown Object (File)
Sun, Mar 31, 1:05 AM
Unknown Object (File)
Mar 18 2024, 9:38 AM
Unknown Object (File)
Feb 21 2024, 10:55 AM
Unknown Object (File)
Jan 16 2024, 4:32 AM
Unknown Object (File)
Dec 20 2023, 2:05 AM

Details

Summary

This implementation is faster and doesn't modify the cpuset, so it lets
us avoid some unnecessary copying. No functional change intended.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

markj requested review of this revision.Sep 20 2021, 7:11 PM
This revision is now accepted and ready to land.Sep 20 2021, 7:16 PM

BTW there is enough similar iterations FFS/CLR done over the signal sets/masks. Do you plan to look at this as well?

In D32029#722803, @kib wrote:

BTW there is enough similar iterations FFS/CLR done over the signal sets/masks. Do you plan to look at this as well?

I will try implementing this for sigsets too. I guess it would be somewhat messy to change the kernel to use bitset(9) for signal sets?

sys/amd64/vmm/io/vlapic.c
895–897

This is currently broken due to the issue with break noted in D32028.

sys/amd64/vmm/vmm_lapic.c
92–94

Again, break is broken.

sys/amd64/vmm/io/vlapic.c
895–897

Thanks, I reverted this commit for now.