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)
Tue, Nov 5, 11:20 AM
Unknown Object (File)
Tue, Nov 5, 8:43 AM
Unknown Object (File)
Thu, Oct 17, 6:13 PM
Unknown Object (File)
Wed, Oct 16, 6:00 PM
Unknown Object (File)
Tue, Oct 15, 8:59 PM
Unknown Object (File)
Tue, Oct 15, 3:41 AM
Unknown Object (File)
Mon, Oct 14, 3:13 PM
Unknown Object (File)
Mon, Oct 14, 7:36 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.