== Highlights ==
* Further work on familiarizing with the scheduler code.
* Built and tried cpufreq-bench, but the suite reported that it'll take more
then 6 hours to complete. I hope it's some bug in the cpufreq-bench,
but didn't investigate it yet.
* Got some notes/concerns regarding idea of moving LMK to the userland.
The problem is that we should make sure that LMK would not need any new
allocations, which seems nearly impossible in JVM.
The idea to solve the issue would be to move killer process into the
C code (as a daemon), and then revert Activity Manager to handle
oom_adj. Upon low-memory event, the killer would just read pid's
oom_adj. This will be good for a proof-of-concept thing (and as a drop-in
replacement for the LMK kernel driver), but for production, we might want
Activity Manager to keep process list in a shared memory (+ maybe
liburcu for efficiency).
This whole scheme seems even better then having everything in Java
(as we won't need cgroups/low-memory-notifiers bindings).
--
Anton Vorontsov
Email: cbouatmailru(a)gmail.com
== Highlights ==
* Submitted interactive cpufreq governor, got a lot of feedback. Mostly
about cpufreq in general, and that we should make scheduler more PM-aware
instead on making cpufreq itself scheduler-state aware.
Fiddling with the scheduler is surely a lot of fun, so I started looking
into entity load-tracking re-work patches by Paul Turner @ Google.
As Peter Zijlstra says, these patches should be a good start to add
avg runtime per cpu.
* Further work on a patchset that fixes various task->mm handling mistakes.
More abusers found and fixed. (This is started as a LMK cleanup, but
as it appears a lot of other code in the kernel has the same bugs.)
* Several LMK fixes were accepted into -staging.
--
Anton Vorontsov
Email: cbouatmailru(a)gmail.com
=== Highlights ===
* Rebased the 3.2 Androidization patches from Andy Green onto 3.3-rc3
and provided them to Andrey for the 12.2 release.
* Worked to get Rafael's wakelock patches into a git tree for testing.
Unfortunately the patches have been under quite a bit of churn on the
list, so I asked Rafael for a git tree to pull from, but he's not yet
responded.
* Pinged tglx on my patch queues for 3.4, and he pulled them in.
* Spent some time trying to get a test platform working to play with
Rafael's wakelock patches. So far there seems to be an issue getting the
panda board to notice wake-events after suspending.
* Finished a first rough draft summarizing Android upstreaming meeting
from last week. The hope is to publish it to lwn once complete.
* Tried to address a number of comments on the fadvise volatile patches.
Integrated a few fixes to issues noticed by reviewers, and proposed
using a different interface if folks feel fadvise isn't appropriate.
Found an ugly locking issue I need to solve.
* Handled some Android-subteam items.
=== Plans ===
* Finish summary writeup and send to lwn
* Read over other fadvises discussions going on, and review interval
kinterval tree implementation sent out by Andrea Righi.
* Read more on the pagecache code, and try to take another pass at
fadvise volatile code.
=== Issues ===
* NA
[ACTIVITY][weekly][linaro] (Dave Martin) 2012-01-30 - 2012-02-17
== Dave Martin <dmart> ==
=== Activity Summary ===
* big.LITTLE switcher bringup on the ARM model to be delivered to
Linaro (builds; mostly, but not completely, working)
* Linaro Connect
* Started hacking some patches to enter the kernel in HYP mode to
allow the kernel to install its own hypervisor code at run-time --
potentially of interest to the big.LITTLE and KVM folks.
-> git://git.linaro.org/people/dmart/linux-3-arm.git
arm/hyp-entry+zImage-bounce-hacks (zImage decompressor runs mostly in
SVC mode, appears to work, but the zImage hacks are fundamentally
flawed and may not work on real hardware)
-> git://git.linaro.org/people/dmart/linux-3-arm.git
arm/hyp-entry+lpae (zImage decompressor runs natively in hyp mode --
currently extremely incomplete and out of sync with the other
branches)
-> git://git.linaro.org/people/dmart/boot-wrapper.git
hyp-entry/fixes (fixes on top of Rusty's boot-wrapper required for
actually testing the above branches on the model)
This work is not posted upstream yet: the plan is to get a sane
implementation and a reasonably clean patch series before posting an
upstream RFC.
=== Plans ===
* Sync the various arm/hyp-entry branches and cleanly separate the
main kernel stuff from the zImage decompressor stuff
* Address the various comments received so far.
* Modify the in-kernel hypervisor stub just to provide a raw "jump to
this address in hyp mode" call instead of a cooked "set hypervisor
vectors" call. This is closer to Christoffer Dall's existing
implementation for KVM, and is both simpler and more flexible than my
current approach.
* Clean up main kernel patches and post upstream RFC.
* Get the zImage decompressor working in hyp mode; post for review.
* Draft initial specification for the big.LITTLE implementation
details within Linaro, and flesh out the blueprint.
* Finish debugging the GNU-ised ARM switcher on the A15+A7 model.
=== Work Items ===
no update
=== Absences ===
none planned yet
=== Highlights ===
* Attended Linaro Connect. Now a bit exhausted. :)
* Presented on merge_config.sh script. Interesting discussion around how
even within linaro we have a variety of build systems with which we will
have to integrate the concept of config fragments. The question of who
maintains the fragments is still somewhat open, but hopefully we can
centralize their location in the linaro kernel source maintained by
Andrey. Two interesting suggestions were to have something like a
source command in config fragments, as well as some commented out
annotation in the resulting config. Will have to look into these in the
future.
* Dropped by the Android workgroup room and worked with Vishal and Amit
on the Android team to get the origen fb console working with software
rendering under Android. It was great to go into the Android room and
get really useful help in working out what the problems were. This was
really useful for Demo Friday, and great example of the benefit of
attending Linaro Connect.
* Had some discussions as well as attended talks about plans for
Android's ion infrastructure. There seems to be a fair amount of
community interest in it, but from the Google folks' comments, it seems
like it may have a fair amount of churn in the future, so it may not be
best to upstream it yet. Having some point for community discourse and
collaboration (if not a centralized merge point) is needed.
* Re-sent android-alarm driver to GregKH for staging, as he had some
last minute requests on minor patch ordering issues.
* Resolved the last few bugs I could trigger with my range-tree
implementation of fadvise volatile code. Sent out to lkml for review. So
far only minor comments, but I did get some mail today on a different
but related fadvise effort that is also using range data.
* Attended the Android upstreaming effort community face to face meeting
organized by Tim Bird. It was ~4 hours and covered a lot of material.
Very positive interaction overall with the Google folks. They seem to be
in agreement with most of our approaches, and where they disagreed they
were not dismissive, and were open to us still prototyping and trying to
convince them otherwise.
* Demoed the origen board running Android on a vanilla linus' HEAD
3.3-rc kernel with only two minor patches. Repeated myself endlessly to
probably everyone.
=== Plans ===
* Need to summarize and organize my thoughts from the week, and catch up
on some Android Kernel Subteam items.
* Plan on closer review of Rafael's wakelock patches that were sent out
and try to integrate them with the android alarm timers work in staging.
* Read over other fadvises discussions going on, and review interval
kinterval tree implementation sent out by Andrea Righi.
* Take another pass at fadvise volatile code.
* Ping tglx on 3.4 queue.
=== Issues ===
* NA
== Highlights ==
* Deep dive into signal/clone/exit handling to better understand
current LMK technical flaws. As a side effect noticed a lot of other
bugs (not only in LMK).
* Further investigation on interactive cpufreq dependencies. Looking
into various CPU idle notifiers, PM callbacks and cpuidle stuff.
This is all parts of proper handling of cpufreq interactive governor.
(Well, now it appears that idle notifiers are no good, as scheduler
might provide a per-cpu load avg values, which, if accurate enough,
might be a suitable replacement.)
* Got not much time to continue LMK-userland stuff, though. But this
is still near the top of my 'interesting things to do' list.
--
Anton Vorontsov
Email: cbouatmailru(a)gmail.com
== Rajendra Nayak <rnayak> ==
=== Highlights ===
* Started writing a generic system control module driver for
OMAP2/3/4, with exported api's for system control read/write.
Needed mainly for omap-hsmmc-dt adaptation as omap-hsmmc
currently does system control read/writes from machine code by
passing function pointers to the driver. This needs cleanup
before omap_hsmmc can work with DT.
* Cleaned up the use/abuse of pdev->id across omap-hsmmc driver.
Again a pre-requisite step before omap-hsmmc can work with DT.
* Reworked TWL DT regulator patches based on off-list discussions
with Benoit to make non-DT and DT both use a common lookup table.
* Caught-up on all the pinctrl DT discussions on list while I was
off 3 weeks in nice.
=== Plans ===
* Repost v3 of TWL DT series. Need to wait for Benoit to post his
which adds twl*.dtsi files.
* Continue work on system control module driver.
* omap-hsmmc DT adaptation.
* Attend connect.
=== Misc ===
* Was off on 27th and 26th was a holiday in India.
=== Highlights ===
* Sent android-alarm drivers to Greg for inclusion into staging. He's
currently changing employers, but said he's planning on merging them
into staging for 3.4.
* Worked on getting origen board booting with Android on a vanilla
3.3-rc kernel. Got close, even have boot console graphics working, but
for some reason gralloc is failing. Will try to work this out over
connect.
* Got Panda board ready for Android demo running on a (almost) vanilla
linux 3.3-rc2 kernel. Only required a single ~4 line patch.
* Spent a good chunk of the week trying to integrate the range-tree
implementation into fadvise volatile work. Unfortunately this was much
more difficult then I expected, and I had three or four false starts
that required entirely rearchitecting the approach each time. Almost
gave up, but finally last night I came up with a reasonable approach,
and have integrated a first pass. Wanted to send something out by
friday, but its just not well enough tested, so I'll hopefully get it
out next week.
* Sent out my 3.4 queue to tglx for merging.
* Reviewed a couple of ELC presentations and provided feedback.
* Ran email meeting for Android Kernel Sub-team
=== Plans ===
* Lots of connect stuff
* Finish and send out first working range-tree fadivse volatile
implementation
* Do presentation on merge_config.sh script
* Work on origen Android issues w/ vanilla kernel.
* Present on Linaro's Android upstreaming
=== Issues ===
NA