Page MenuHomeFreeBSD

Truncate a too-long interrupt handler name when there is only one handler.
ClosedPublic

Authored by ian on Mar 22 2019, 3:37 AM.
Tags
None
Referenced Files
Unknown Object (File)
Feb 26 2024, 8:28 PM
Unknown Object (File)
Feb 15 2024, 4:00 PM
Unknown Object (File)
Jan 20 2024, 5:15 PM
Unknown Object (File)
Dec 23 2023, 1:47 AM
Unknown Object (File)
Dec 12 2023, 1:49 AM
Unknown Object (File)
Sep 23 2023, 6:40 AM
Unknown Object (File)
Sep 7 2023, 7:00 AM
Unknown Object (File)
Sep 7 2023, 7:00 AM
Subscribers

Details

Summary

There is only 19 bytes available for the name of an interrupt and the name(s) of handlers/drivers using it. There is a mechanism from the days of shared interrupts that replaces some of the handler names with '+' when they don't all fit into 19 bytes.

In modern times there is typically only one device on an interrupt, but long device names are the norm, especially with embedded systems. Also in systems with multiple interrupt controllers, the names of the interrupts themselves can be long. For example: 'gic0,s54: imx6_anatop0' doesn't fit, and replacing the device driver name with a '+' provides no useful info at all.

When there is only one handler, but the name was too long to fit, this change truncates enough leading chars of the handler name to use all 19 bytes, preserving the unit number typically on the end of the name. Using the prior example, this resuls in: 'gic0,s54: 6_anatop0' which provides plenty of info to figure out which device is involved.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable