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.

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
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

ian created this revision.Mar 22 2019, 3:37 AM
gonzo accepted this revision.Mar 22 2019, 8:20 PM

LGTM

This revision is now accepted and ready to land.Mar 22 2019, 8:20 PM
This revision was automatically updated to reflect the committed changes.