Page MenuHomeFreeBSD

SYSINIT: add SI_SUB_FIRST
ClosedPublic

Authored by glebius on Fri, Aug 7, 10:18 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Aug 25, 5:26 AM
Unknown Object (File)
Tue, Aug 25, 4:11 AM
Unknown Object (File)
Mon, Aug 24, 8:26 PM
Unknown Object (File)
Fri, Aug 21, 9:31 PM
Unknown Object (File)
Fri, Aug 21, 10:07 AM
Unknown Object (File)
Fri, Aug 21, 9:08 AM
Unknown Object (File)
Thu, Aug 20, 1:29 PM
Unknown Object (File)
Thu, Aug 20, 8:39 AM
Subscribers

Details

Summary
This allows to initialize mp_maxid, mp_ncpus and register APICs at the
most early stage, guaranteeing that those values will already be available
at SI_SUB_TUNABLES.

Diff Detail

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

Event Timeline

markj added inline comments.
sys/sys/kernel.h
97

Can we just call it _EARLY or _FIRST? APIC is specific to x86.

Or call it SI_SUB_NUMCPUS or something, to make it clear it's used for counting CPUs. arm64's mp_setmaxid() could use it too.

Or, just use SI_SUB_TUNABLES/SI_ORDER_FIRST. That's what arm64 and !SMP kernels do.

sys/sys/kernel.h
97

I will use SI_SUB_FIRST as there already exists SI_SUB_LAST.

I don't like to resort to SI_SUB_TUNABLES/SI_ORDER_FIRST, as that would require all real tunables [that care about number of CPUs] to start with SI_ORDER_SECOND. The SI_SUB_FIRST would allow to provide any other info that maybe needed before tunables if any appears in the future.

glebius retitled this revision from SYSINIT: add SI_SUB_APIC to SYSINIT: add SI_SUB_FIRST.Mon, Aug 10, 9:04 PM
glebius edited the summary of this revision. (Show Details)
glebius edited the summary of this revision. (Show Details)

rename to SI_SUB_FIRST

This revision is now accepted and ready to land.Mon, Aug 10, 9:59 PM
This revision was automatically updated to reflect the committed changes.