You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We are trending towards having our logging APIs be the de factor standard for logging in the kernel codebase, for example we recently merged a patch which causes all fatal errors to get sent to the logging mechanism, and tests now all enable CONFIG_LOG and CONFIG_LOG_IMMEDIATE.
The APIs are good, and we should continue to convert kernel code to use them. But we need to keep supporting very tiny devices with limited RAM and ROM storage. Unfortunately, even in this configuration the logging code takes up about 1800B of ROM, for example here is a build of the thread_init test on 96b_meerkat96 (run "make rom_report"):
For the tiniest platforms, we need an alternative implementation. This new mechanism should implement all the APIs in include/logging/log.h, but with an alternate log_core.h where all messages are routed synchronously to printk() in the simplest way possible. Build-time filtering should be available, but ideally we do all of this with macro magic and there is no runtime RAM/ROM footprint for this at all, other than what is imposed by printk().
The text was updated successfully, but these errors were encountered:
We are trending towards having our logging APIs be the de factor standard for logging in the kernel codebase, for example we recently merged a patch which causes all fatal errors to get sent to the logging mechanism, and tests now all enable CONFIG_LOG and CONFIG_LOG_IMMEDIATE.
The APIs are good, and we should continue to convert kernel code to use them. But we need to keep supporting very tiny devices with limited RAM and ROM storage. Unfortunately, even in this configuration the logging code takes up about 1800B of ROM, for example here is a build of the thread_init test on 96b_meerkat96 (run "make rom_report"):
RAM usage is less of a concern, about 63B (run 'make ram_report'):
For the tiniest platforms, we need an alternative implementation. This new mechanism should implement all the APIs in include/logging/log.h, but with an alternate log_core.h where all messages are routed synchronously to printk() in the simplest way possible. Build-time filtering should be available, but ideally we do all of this with macro magic and there is no runtime RAM/ROM footprint for this at all, other than what is imposed by printk().
The text was updated successfully, but these errors were encountered: