On 06/10/2012 05:53 PM, the mail apparently from Andy Green included:
These are the suspicious things I found from the diff between
linaro-android-3.4 (from
http://git.linaro.org/gitweb?p=people/jstultz/android.git;a=shortlog;h=refs/heads/linaro-android-3.4
at HEAD 8674fd7a65aeff35c3879cf0d56e78c93ee62e2c) vs v3.4. Some are
clear cut and others change code I don't really understand, but others
on this list will.
I noticed while making patches for these that the basis for the diff was
upstream/android-3.4 instead of linaro-android-3.4 I thought I was using.
Studying the diff between those two, I see there are already changes
addressing some of these problems.
1) drivers/input/evdev.c: adds wakelock code not dependent on
ANDROID *** need discussion ***
Wakelocks got changed in their include file to generate empty structs
and apis in case CONFIG_WAKELOCK is not defined.
That solves the wakelock part of 16, 17, 18.
16 introduces a flag in mmc code, I am not sure if nulling out the
wakelock code but leaving the flag is the same as not having the flag.
3) add net/activity_stats.c contingent on NET_ACTIVITY_STATS ***
BUG *** default y
fixed
4) net/Kconfig: add ANDROID_PARANOID_NETWORK *** BUG *** default
Y: needs changing
fixed
> 8) kernel/power/Kconfig: ***BUG*** HAS_WAKELOCK, WAKELOCK,
> USER_WAKELOCK all introduced as default y
fixed
The debug_ll printk problem is also solved.
> 13) drivers/char/Kconfig: Add DEVMEM *** BUG *** default y ; add
> DCC_TTY (harmless)
fixed
That leaves the following:
> 2) *** BUG *** changes net/wireless/scan.c not protected by
> CFG80211_ALLOW_RECONNECT: IEEE80211_SCAN_RESULT_EXPIRE reduced to 3s
> from 15s whether configured or not
>
5) mm/page_alloc.c: replace constant of 1 with filescope int
min_free_order_shift defaults to 1 but changeable from sysctl *** Needs
comment ***
6) fs/proc.c: add support for Android-specific OOM adjust
interface... ***BUG*** should be contingent on CONFIG_ANDROID or the
ANDROID OOM config
7) kernel/cgroup.c: adds a "queue of wairer to do rmdir() cgroup",
removes most content from free_css_set_work(), screws with much else in
there, no idea if that makes cgroups better or worse, but the changes
are not contingent on anything *** needs discussion ***
9) kernel/printk.c: *** BUG? *** unconditionally remove CPU_DYING
notification from console_cpu_notify, log_buf_get_len, log_buf_clear,
log_buf_copy apis added
10) kernel/sched/core.c: __might_sleep_init_called flag
introduction (harmless) change __might_sleep processing *** Needs
checking ***; add allow_attach cgroup api callback, if not same task
actig on itself then confirm CAP_SYS_NICE, or effective uid is suid
(seems good); only requeue task if any "ancestors" are the one element
in queue as well as if it's just us (seems good)
11) kernel/sysctl.c: add min_order_free_shift change (pagealloc.c)
interface *** Needs comment ***
12) drivers/base/power/main.c: add driver suspend / resume timeout
concept, no driver may take more than 12s suspending or BUG(), not
dependent on any CONFIG_ probably benficial but *** Needs discussion ***
14) drivers/cpuidle/governors/menu.c: remove scaling formula "mult
+= 2 * get_loadavg();" *** needs discussion ***
15) drivers/mmc/card/block.c: change computation in
mmc_get_devidx() *** needs discussion ***; add pr_err if r/w command
fails or we abort, harmless; deferred resume implementation properly
protected by config, harmless; set md->disk->flags to GENHD_FL_EXT_DEVT
*** needs discussion ***
16) drivers/mmc/core/core.c: mmc_resume_bus() introduction; extend
wakelock flag, other
unconditonal changes *** needs discussion ***
17) drivers/mmc/core/host.c:adds pm_notifier if not flagged
MMC_PM_IGNORE_PM_NOTIFY *** needs
discussion ***
18) drivers/power/power_supply_core.c: change
power_supply_changed() processing ***
needs discussion ***
19) arch/arm/boot/compressed/head.S: wrap older chip IDs from
colliding with v7 *** needs discussion ***
20) arch/arm/include/asm/hardware/coresight.h: various lowlevel io
changes *** need discussion ***
21) arch/arm/include/asm/mach/mmc.h: extra stuff for
embedded_sdio_data, declares mmc_platform_data ??? *** needs discussion ***
22) arch/arm/kernel/etm.c: mass changes, no idea *** needs
discussion ***
23) arch/arm/mm/cache-l2x0.c: add sets and ways count, service
CONFIG_PL310_ERRATA_727915, two magic debug_writel *** needs discussion ***
24) arch/arm/mm/cache-v6.S: support CONFIG_CACHE_FLUSH_RANGE_LIMIT
*** needs discussion ***
25) arch/arm/mm/mmu.c: simplify early_pte_alloc() args, add
force_pages to alloc_init_pud(), more changes *** needs discussion ***
26) arch/arm/vfp/entry.S: thumb2 code added *** needs discussion ***
27) arch/arm/vfp/vfpmodule.c: add SMP code *** needs discussion ***
28) linux/amba/mmci.h: hmmm also defines stuff defined in
include/asm/mach/mmc.h, *** needs discussion ***
There's some additional code introduced in linaro-android-3.4:
drivers/input/evdev.c | 1 +
include/linux/earlysuspend.h | 56 ++++
include/linux/wakelock.h | 82 +++--
kernel/power/Kconfig | 59 +++-
kernel/power/Makefile | 4 +
kernel/power/consoleearlysuspend.c | 78 +++++
kernel/power/earlysuspend.c | 187 +++++++++++
kernel/power/fbearlysuspend.c | 153 +++++++++
kernel/power/main.c | 13 +-
kernel/power/power.h | 13 +
kernel/power/process.c | 32 +-
kernel/power/suspend.c | 3 +
kernel/power/wakelock.c | 634
++++++++++++++++++++++++++++++++++++
kernel/printk.c | 8 -
net/Kconfig | 4 +-
drivers/input/evdev.c: change clock to CLOCK_MONOTONIC, harmless
include/linux/earlysuspend.h: protected by CONFIG_HAS_EARLYSUSPEND, harmless
include/linux/wakelock.h: improve so there is a null struct and empty
APIs if CONFIG_WAKELOCK is not set, beneficial
kernel/power/Kconfig: change defaults on WAKELOCK stuff to n, add
EARLYSUSPEND default y but it's depends on WAKELOCK that is default n,
add WAKELOCK_STAT
kernel/power/Makefile: harmless
kernel/power/consoleearlysuspend.c: only built with
CONFIG_CONSOLE_EARLYSUSPEND, harmless
kernel/power/earlysuspend.c: only built with CONFIG_EARLYSUSPEND, harmless
kernel/power/fbearlysuspend.c: only built with CONFIG_FB_EARLYSUSPEND,
harmless
kernel/power/main.c: adds earlysuspend pieces but properly protected
kernel/power/power.h: adds wakelock and earlysuspend global externs
properly protected
kernel/power/process.c: adds wakelock flag, prints tasks taking longer
than 1s to freeze, harmless afaict
kernel/power/suspend.c: adds "on" pm state for earlysuspend, properly
protected by CONFIG_EARLYSUSPEND, harmless
kernel/power/wakelock.c: only built with CONFIG_WAKELOCK, harmless
kernel/printk.c: kill printascii(), good
net/Kconfig: change NET_ACTIVITY_STATS and ANDROID_PARANOID_NETWORK
defaults to n, good
So it doesn't seem to introduce any new issues and solves some of the
existing ones present in Android's 3.4 androidization.
-Andy
--
Andy Green | TI Landing Team Leader
Linaro.org │ Open source software for ARM SoCs | Follow Linaro
http://facebook.com/pages/Linaro/155974581091106 -
http://twitter.com/#!/linaroorg - http://linaro.org/linaro-blog
_______________________________________________
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev