80 likes | 207 Views
CONFIG_EMBEDDED. Renesas Solutions Corporation Hisao Munakata ( munakata.hisao@renesas.com ). Translated by ikoma. Frequently Heard Complaints in Embedded World. “Embedded” is a minority in Linux developer community Requirement from embedded developers tends to be neglected
E N D
CONFIG_EMBEDDED Renesas Solutions CorporationHisao Munakata ( munakata.hisao@renesas.com ) Translated by ikoma
Frequently Heard Complaints in Embedded World • “Embedded” is a minority in Linux developer community Requirement from embedded developers tends to be neglected • Kernel 2.6 assumes environment with rich resources -- not suited for embedded What should we do as a trigger to have embedded profile incorporated, allowing consistency with mainline kernel development policy?
There is an item “config_embedded” in kernel configuration (Added since kernel 2.6)
ELF_CORE • BASE_FULL • FUTEX • EPOLL • SHMEM • UID16 • VM86 • KALLSYMS • HOTPLUG • PRINTK • CC_ALIGN_FUNCTIONS • CC_ALIGN_LABELS • CC_ALIGN_LOOPS • CC_ALIGN_JUMPS • SLAB What does this config set? • Expands some of kernel config setting • An option for selecting options not necessarily required for embedded systems and making tunable • Basically, only experts are assumed to use • Has no influence on algorithms in kernel • Has no influence on parameter setting such as page size
At kernel 2.5.68, for the opinion that FUTEX is not necessary for the embedded (footprint too large), Alan Cox supported it as “Application of Linux to embedded is also important…”As Alan was promoting no-MMU support then, he took support of CPUs not capble of FUTEX into consideration(?) Tracing back history ー (1)[http://lkml.org/lkml/2003/5/16/158]
Andrew Morton reviewed the kernel config menu and agreed to add setting to separate a part of kernel functions for embedded, when current menu structure was introduced ⇒ After then, it seems that optional items have been added, responding to the requirement from the embedded… without deep consideration.Almost like a sink? “OK, here is the place…” Tracing back history ー (2)[http://lkml.org/lkml/2003/5/16/191]
Summary of current config_embedded • Seems not to be actively used (nor accepted) • Intended to be an extended option to suppress a part of functions Not used for the purpose of adding desired functions or settings for embedded • Current setting does not necessarily reflecting the requirement from embedded • For example, FUTEX support is mandatory to use NPTL… Rather characterized by configuration to support no-MMU architecture? • “embedded” gets diversified -> no more categorizable as a group • SH7785 (>1,000 MIPS), SH7751R (430 MIPS), SH7619 (100MIPS) • Multi-Core CPU, SMP CPU, Numa memory
How we would like to proceed • Raising the issue how to utilize config_embedded option already supported in kernel 2.6, can’t we actively promote to incorporate profiling for embedded into mainline? • Can’t we propose several requirement profiles for embedded as current kernel tuning paramters and future extentions? • We want to discuss to propose a direction in coming Jamborees etc..