Mainline Android logger


 * Summary: Mainline Android logger


 * Proposer: Tim Bird

Description
This is a sub-project of the umbrella project to mainline Android kernel functionality. See Mainline Android kernel functionality

This specific feature is to mainline the Android logger code, which supports kernel buffering of user-space generated logging messages.

More about the Android logger (kernel code) can be found at:
 * Android logger

and the system as a whole is described at:
 * Android Logging System

The difficulty of this work lies not so much in the technical aspects of this code, but in the need to intermediate (as "proxies") between Google and Linux kernel mainline developers.

If this pilot project succeeds, then we might try mainlining other Android code pieces. Ultimately, the goal of this project is to reduce the difference between the Android kernel tree and the mainline Linux kernel tree, over time.

Related work

 * Android Kernel Features

Scope
I am thinking that the bulk of the time for this task will be in bringing contractors up-to-speed with the current political issues with the Android code, and in preparing to engage between the Google engineers and the kernel community.

Contractor Candidates
Alessio Bogani?, Tarek Attia?

Issues
Google has asked that any patches to be submitted to mainline, that are different from what Google has in their Android tree, be submitted to AOSP so that if the code is accepted into mainline, merges between mainline and AOSP kernels are easier.

Google does not have a lot of time to respond to questions about the code, but may be available to help justify the current design of the code.

Plan

 * Get contractors any needed hardware
 * Make sure contractors have AOSP, Android kernels, and logger code
 * Identify and review code before submission
 * identify possible mainline objections to code, and plan how to respond
 * compare with alternatives
 * compare and contrast logger code with kernel log buffer (e.g. dmesg vs. logcat)
 * compare and contrast logger code with syslog (syslogd, /var/log)
 * Submit code to LKML
 * Respond to feedback received
 * Add logger code to busybox?
 * Should this be done first?
 * log
 * logwrapper
 * logsync
 * What about logd_write.c code
 * included in bionic - should be included in busybox directly, because it's missing in glibc?
 * what about udev?
 * should mainline Linux automatically create logger devices nodes?
 * they are created by 'init' in Android systems