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 19, 11:12 AM
Unknown Object (File)
Sun, Apr 12, 5:18 AM
Unknown Object (File)
Sun, Apr 12, 4:59 AM
Unknown Object (File)
Sat, Apr 11, 6:05 AM
Unknown Object (File)
Fri, Apr 10, 10:40 PM
Unknown Object (File)
Wed, Apr 8, 2:36 PM
Unknown Object (File)
Sun, Apr 5, 10:47 AM
Unknown Object (File)
Sat, Apr 4, 11:24 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.