On 04/24/2015 09:25 PM, Juri Lelli wrote:
Hi Alex,
Robin asked me to share with you the patches that I found having conflicts on the Juno LSK integration branch. It would be helpful to know your feelings about them (are they fundamental? can they be dropped? etc.). The aim here is to understand if we can eventually come up with a sched-upstream branch that is more easily applicable on top of the Juno integration branch:
http://git.linaro.org/landing-teams/working/arm/kernel.git integration-lsk-3.10-juno-android
I'll try to give you a list of patches that I had to remove or revert from sched-upstream when trying to build a branch that supports Juno and has EASv3 on top (so that we could test it on Android). I'll also add comments about patches that I'm more familiar with. Please be aware that I had to come up with this in quite a hurry, as we wanted to show EAS results coming from Juno at the last Connect. This means that the rationale for deciding to keep or drop a patch in the branch was merely "drop everything that seems to have non trivial conflicts". At the end I was fairly happy with the behaviours, but this doesn't necessarily mean that we still not need some of what I dropped.
080bdd1 exit.c: unexport __set_special_pids() cdba026 ptrace: revert "Prepare to fix racy accesses on task breakpoints" 73bcb2e mm: remove free_area_cache 802d8c2 ptrace/x86: revert "hw_breakpoints: Fix racy access to ptrace breakpoints" 6472001 ptrace/arm: revert "hw_breakpoints: Fix racy access to ptrace breakpoints"
f0a709a sched: Add new scheduler syscalls to support an extended scheduling parameters ABI 631db36 sched/core: Fix htmldocs warnings 4f89001 sched: Preserve the nice level over sched_setscheduler() and sched_setparam() calls c9d415b sched: Fix up scheduler syscall LTP fails 0525ffc sched: Fix up attr::sched_priority warning b62aed3 sched: Move SCHED_RESET_ON_FORK into attr::sched_flags 7d214b1 sched: Fix __sched_setscheduler() nice test 9db9c75 sched: Fix information leak in sys_sched_getattr() 10d4f89 sched: Add 'flags' argument to sched_{set,get}attr() syscalls
as this preceding set comes with the (or are subsequent fixes of) the SCHED_DEADLINE patchset, I think we could just ignore them for now
That's ok to remove them.
02fee98 ARM: introduce common set_auxcr/get_auxcr functions
6a4f9e7 sched: Implement task_nice() as static inline function
this preceding patch is maybe not a crucial fix?
6261e04 sched: Adjust p->sched_reset_on_fork when nothing else changes
This one seems a function fix. Could we keep this one?
33e8006 sched: Replace hardcoding of -20 and 19 with MIN_NICE and MAX_NICE
this two preceding patches depend on 6a4f9e7
It's ok to remove above commits.
15bfe13 arm64: use common reboot infrastructure 52cefcb arm64: Fix definition of arm_pm_restart to match the declaration 8c7b4f7 arm64: kernel: add CPU idle call e1bf4b0 time: Change the return type of clockevents_notify() to integer ff5e6b8 tracing: Do not do anything special with tracepoint_string when tracing is disabled 2e576ce tracepoint: add generic tracepoint definitions for IPI tracing 5174675 ARM: 7872/1: Support arch_irq_work_raise() via self IPIs 128647d ARM: SMP: basic IPI triggered completion support eccd85f ARM: add IPI tracepoints 5be433d arm64: enable generic clockevent broadcast e947689 arm64: Support arch_irq_work_raise() via self IPIs 5716acb ARM64: add IPI tracepoints
Did preceding commits' function support in juno tree, or they were replaced by other commits? Is juno cpuidle driver happy without them?
I then had to revert the following patches.
db9cfbf sched/idle: Optimize try-to-wake-up IPI 50299a0 sched/idle: Avoid spurious wakeup IPIs 7f219d1 sched, trace: Add a tracepoint for IPI-less remote wakeups 95ec016 sched/idle: Simplify wake_up_idle_cpu()
Above commits are related with performance&power when system has more clusters. remove them may cuase perf/power issue in some cases.
And finally apply the attached patches to make the branch compile.
They're ok.
Please don't hesitate to ask for more information, as I understand that all this might be quite confusing :).
Hi Juri,
What's cause conflict with about commits, HMP or some android sched change? Looks few of commit can be clean up, like deadline related.
But as to arch/cpuidle related part, don't know if other SoC happy to miss them?