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
F161500705: D32029.id95457.diff
Sat, Jul 4, 8:23 AM
Unknown Object (File)
Fri, Jul 3, 12:09 PM
Unknown Object (File)
Fri, Jul 3, 12:18 AM
Unknown Object (File)
Thu, Jul 2, 6:27 PM
Unknown Object (File)
Thu, Jul 2, 7:28 AM
Unknown Object (File)
Tue, Jun 30, 9:18 PM
Unknown Object (File)
Tue, Jun 30, 3:09 PM
Unknown Object (File)
Fri, Jun 26, 4:57 PM

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.