{"push_id":875044498,"size":2,"distinct_size":2,"ref":"refs/heads/cm-12.1","head":"bd1c34816985667ff7890c46c935afcbf06ceb38","before":"c535964f171c0909e7f86c28ec402bca22b5059b","commits":[{"sha":"b2329fb0d8833d7fec675ba20aef1d0eeb1e16ce","author":{"email":"fa1d3322ebd37bfdf69c45980e7dc5a46def8d67@gmail.com","name":"Kautuk Consul"},"message":"ARM: 7178/1: fault.c: Port OOM changes into do_page_fault\n\nCommit d065bd810b6deb67d4897a14bfe21f8eb526ba99\n(mm: retry page fault when blocking on disk transfer) and\ncommit 37b23e0525d393d48a7d59f870b3bc061a30ccdb\n(x86,mm: make pagefault killable)\n\nThe above commits introduced changes into the x86 pagefault handler\nfor making the page fault handler retryable as well as killable.\n\nThese changes reduce the mmap_sem hold time, which is crucial\nduring OOM killer invocation.\n\nPort these changes to ARM.\n\nWithout these changes, my ARM board encounters many hang and livelock\nscenarios.\nAfter applying this patch, OOM feature performance improves according to\nmy testing.\n\nChange-Id: I9f65f7a6393e9283d57005a7c0372cc5b982624e\nSigned-off-by: Kautuk Consul <consul.kautuk@gmail.com>\nSigned-off-by: Russell King <rmk+kernel@arm.linux.org.uk>","distinct":true,"url":"https://api.github.com/repos/CyanogenMod/android_kernel_motorola_omap4-common/commits/b2329fb0d8833d7fec675ba20aef1d0eeb1e16ce"},{"sha":"bd1c34816985667ff7890c46c935afcbf06ceb38","author":{"email":"010521127f513270fe503d86ab8316ac5147f4b7@codeaurora.org","name":"Stephen Boyd"},"message":"ARM: smp: Fix cpu_up() racing with sys_reboot.\n\nNothing stops a process from hotplugging in a CPU concurrently\nwith a sys_reboot() call. In such a situation we could have\nipi_cpu_stop() mark a cpu as 'offline' and _cpu_up() ignore the\nfact that the CPU is not really offline and call the\nCPU_UP_PREPARE notifier. When this happens stop_machine code will\ncomplain that the cpu thread already exists and BUG_ON().\n\nCPU0                      CPU1\n\nsys_reboot()\n kernel_restart()\n  machine_restart()\n   machine_shutdown()\n    smp_send_stop()\n    ...                   ipi_cpu_stop()\n                           set_cpu_online(1, false)\n                            local_irq_disable()\n                             while(1)\n    <PREEMPT>\ncpu_up()\n _cpu_up()\n   if (!cpu_online(1))\n    __cpu_notify(CPU_UP_PREPARE...)\n\ncpu_stop_cpu_callback()\n  BUG_ON(stopper->thread)\n\nThis is easily reproducible by hotplugging in and out in a tight\nloop while also rebooting.\n\nSince the CPU is not really offline and hasn't gone through the\nproper steps to be marked as such, let's mark the CPU as inactive.\nThis is just as easily testable as online and avoids any possibility\nof _cpu_up() trying to bring the CPU back online when it never was\noffline to begin with.\n\nSigned-off-by: Stephen Boyd <sboyd@codeaurora.org>\n(cherry picked from commit 4a734179d918a4ee42c5fd6d54220eb6dd671ff0)\n\nChange-Id: Id751200d45b58f12bf7d31ae5a7bc2ddd42ef92a\nSigned-off-by: Sudhir Sharma <sudsha@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/CyanogenMod/android_kernel_motorola_omap4-common/commits/bd1c34816985667ff7890c46c935afcbf06ceb38"}]}