Page MenuHomeFreeBSD

Add device_quiet_children() and device_has_quiet_children()
AbandonedPublic

Authored by imp on Apr 21 2018, 7:18 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mar 21 2024, 6:13 PM
Unknown Object (File)
Dec 20 2023, 3:00 AM
Unknown Object (File)
Jun 26 2023, 10:59 PM
Unknown Object (File)
Jun 15 2023, 6:57 PM
Unknown Object (File)
Jun 12 2023, 3:14 PM
Unknown Object (File)
Jun 11 2023, 5:53 AM
Unknown Object (File)
Jan 5 2023, 5:31 AM
Subscribers
None

Details

Reviewers
cperciva
jhb
Summary

If you add a child to a device that has quiet children, we'll
automatically set the quiet flag on the children.

This is indended for things like CPU that have a large amount of
repetition in booting.

Use device_quiet_children to silence verbose CPU probe messages.

Test Plan

boot and notice a lot fewer devices

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 16251
Build 16201: arc lint + arc unit

Event Timeline

imp added reviewers: cperciva, jhb.

Works for me. Two minor questions about the code (see comments inline).

sys/dev/acpica/acpi_cpu.c
311

Is it intentional that cpu0 remains "noisy"? I don't object to this; but it's not quite what the summary says.

sys/kern/subr_bus.c
1832

Should we set device_quiet_children here too? I'd assume that if a device is so noisy that we want to quiet its children, we would also want to quiet its grandchildren.

imp edited the test plan for this revision. (Show Details)
  • Add device_quiet_children() and device_has_quiet_children()
  • Use device_quiet_children to silence verbose CPU probe messages.
  • Put the CPU starting on one line.

Tested on EC2 x1.32xlarge (72 CPUs) and c5.18xlarge (128 CPUs) instances. Aside from making the console output far less verbose, the c5.18xlarge kernel boot time (measured from entering hammer_time to when init enters userland) dropped from 18.78 s to 11.75 s, and the x1.32xlarge kernel boot time dropped from 45.71 s to 36.33 s.

Please commit!

43d9cb5b74fdb / r333334 landed this

sys/dev/acpica/acpi_cpu.c
311

Yes. It's intentional. It's what you proposed :)

sys/kern/subr_bus.c
1832

good point.