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
F115762367: D32029.diff
Mon, Apr 28, 7:34 AM
Unknown Object (File)
Sat, Apr 26, 9:06 PM
Unknown Object (File)
Tue, Apr 22, 4:53 PM
Unknown Object (File)
Thu, Apr 17, 3:24 AM
Unknown Object (File)
Mon, Apr 14, 9:37 PM
Unknown Object (File)
Mon, Apr 7, 11:15 AM
Unknown Object (File)
Mar 23 2025, 2:39 AM
Unknown Object (File)
Mar 18 2025, 6:50 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
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 41609
Build 38498: arc lint + arc unit

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.