{"push_id":560258025,"size":16,"distinct_size":16,"ref":"refs/heads/lenok","head":"42e2fdccf42203891f081c28905b20aec153a63d","before":"3bd7edeb2fdda5eb8a256c70a151aa43f8037a2a","commits":[{"sha":"35e485ed6b91c3f60041dbb4bb0fdde1eed3946b","author":{"email":"f6aa0246ff943bfa8602cdf60d40c481b38ed232@arm.linux.org.uk","name":"Russell King"},"message":"ARM: convert all \"mov.* pc, reg\" to \"bx reg\" for ARMv6+\n\nARMv6 and greater introduced a new instruction (\"bx\") which can be used\nto return from function calls.  Recent CPUs perform better when the\n\"bx lr\" instruction is used rather than the \"mov pc, lr\" instruction,\nand this sequence is strongly recommended to be used by the ARM\narchitecture manual (section A.4.1.1).\n\nWe provide a new macro \"ret\" with all its variants for the condition\ncode which will resolve to the appropriate instruction.\n\nRather than doing this piecemeal, and miss some instances, change all\nthe \"mov pc\" instances to use the new macro, with the exception of\nthe \"movs\" instruction and the kprobes code.  This allows us to detect\nthe \"mov pc, lr\" case and fix it up - and also gives us the possibility\nof deploying this for other registers depending on the CPU selection.\n\nReported-by: Will Deacon <will.deacon@arm.com>\nTested-by: Stephen Warren <swarren@nvidia.com> # Tegra Jetson TK1\nTested-by: Robert Jarzmik <robert.jarzmik@free.fr> # mioa701_bootresume.S\nTested-by: Andrew Lunn <andrew@lunn.ch> # Kirkwood\nTested-by: Shawn Guo <shawn.guo@freescale.com>\nTested-by: Tony Lindgren <tony@atomide.com> # OMAPs\nTested-by: Gregory CLEMENT <gregory.clement@free-electrons.com> # Armada XP, 375, 385\nAcked-by: Sekhar Nori <nsekhar@ti.com> # DaVinci\nAcked-by: Christoffer Dall <christoffer.dall@linaro.org> # kvm/hyp\nAcked-by: Haojian Zhuang <haojian.zhuang@gmail.com> # PXA3xx\nAcked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> # Xen\nTested-by: Uwe Kleine-KÃ¶nig <u.kleine-koenig@pengutronix.de> # ARMv7M\nTested-by: Simon Horman <horms+renesas@verge.net.au> # Shmobile\nSigned-off-by: Russell King <rmk+kernel@arm.linux.org.uk>\n\nBackported from Linux 3.17 to Linux 3.4.\n\nFollowing commands were used :\n\nfind arch/arm -name '*.S' -exec sed -i -e 's/mov    pc, /ret    /g' {} \\;\nfind arch/arm -name '*.S' -exec sed -i -e 's/moveq    pc, /reteq    /g' {} \\;\nfind arch/arm -name '*.S' -exec sed -i -e 's/movne    pc, /retne    /g' {} \\;\nfind arch/arm -name '*.S' -exec sed -i -e 's/movhs    pc, /reths    /g' {} \\;\nfind arch/arm -name '*.S' -exec sed -i -e 's/movls    pc, /retls    /g' {} \\;\nfind arch/arm -name '*.S' -exec sed -i -e 's/movlo    pc, /retlo    /g' {} \\;\n\nfind arch/arm -name '*.S' -exec sed -i -e 's/mov     pc, /ret     /g' {} \\;\nfind arch/arm -name '*.S' -exec sed -i -e 's/moveq     pc, /reteq     /g' {} \\;\nfind arch/arm -name '*.S' -exec sed -i -e 's/movne     pc, /retne     /g' {} \\;\nfind arch/arm -name '*.S' -exec sed -i -e 's/movhs     pc, /reths     /g' {} \\;\nfind arch/arm -name '*.S' -exec sed -i -e 's/movls     pc, /retls     /g' {} \\;\nfind arch/arm -name '*.S' -exec sed -i -e 's/movlo     pc, /retlo     /g' {} \\;\n\nfind arch/arm -name '*.S' -exec sed -i -e 's/mov\\tpc, /ret\\t/g' {} \\;\nfind arch/arm -name '*.S' -exec sed -i -e 's/moveq\\tpc, /reteq\\t/g' {} \\;\nfind arch/arm -name '*.S' -exec sed -i -e 's/movne\\tpc, /retne\\t/g' {} \\;\nfind arch/arm -name '*.S' -exec sed -i -e 's/movhs\\tpc, /reths\\t/g' {} \\;\nfind arch/arm -name '*.S' -exec sed -i -e 's/movls\\tpc, /retls\\t/g' {} \\;\nfind arch/arm -name '*.S' -exec sed -i -e 's/movlo\\tpc, /retlo\\t/g' {} \\;\n\nfind arch/arm -name '*.S' -exec sed -i -e 's/mov\\tpc,/ret\\t/g' {} \\;\nfind arch/arm -name '*.S' -exec sed -i -e 's/moveq\\tpc,/reteq\\t/g' {} \\;\nfind arch/arm -name '*.S' -exec sed -i -e 's/movw_pc/ret.w/g' {} \\;\nfind arch/arm -name '*.S' -exec sed -i -e 's/movne\\tpc,/retne\\t/g' {} \\;\nfind arch/arm -name '*.S' -exec sed -i -e 's/movhs\\tpc,/reths\\t/g' {} \\;\nfind arch/arm -name '*.S' -exec sed -i -e 's/movls\\tpc,/retls\\t/g' {} \\;\nfind arch/arm -name '*.S' -exec sed -i -e 's/movlo\\tpc,/retlo\\t/g' {} \\;\n\nfind arch/arm -name '*.S' -exec sed -i -e 's/mov\\t\\tpc, /ret\\t\\t/g' {} \\;\nfind arch/arm -name '*.S' -exec sed -i -e 's/moveq\\t\\tpc, /reteq\\t\\t/g' {} \\;\nfind arch/arm -name '*.S' -exec sed -i -e 's/movne\\t\\tpc, /retne\\t\\t/g' {} \\;\nfind arch/arm -name '*.S' -exec sed -i -e 's/movhs\\t\\tpc, /reths\\t\\t/g' {} \\;\nfind arch/arm -name '*.S' -exec sed -i -e 's/movls\\t\\tpc, /retls\\t\\t/g' {} \\;\nfind arch/arm -name '*.S' -exec sed -i -e 's/movlo\\t\\tpc, /retlo\\t\\t/g' {} \\;\n\nfind arch/arm -name '*.S' -exec sed -i -e 's/mov\\t\\tpc,/ret\\t\\t/g' {} \\;\nfind arch/arm -name '*.S' -exec sed -i -e 's/moveq\\t\\tpc,/reteq\\t\\t/g' {} \\;\nfind arch/arm -name '*.S' -exec sed -i -e 's/movne\\t\\tpc,/retne\\t\\t/g' {} \\;\nfind arch/arm -name '*.S' -exec sed -i -e 's/movhs\\t\\tpc,/reths\\t\\t/g' {} \\;\nfind arch/arm -name '*.S' -exec sed -i -e 's/movls\\t\\tpc,/retls\\t\\t/g' {} \\;\nfind arch/arm -name '*.S' -exec sed -i -e 's/movlo\\t\\tpc,/retlo\\t\\t/g' {} \\;\n\nfind arch/arm -name '*.S' -exec sed -i -e 's/mov pc,/ret /g' {} \\;\nfind arch/arm -name '*.S' -exec sed -i -e 's/moveq pc,/reteq /g' {} \\;\nfind arch/arm -name '*.S' -exec sed -i -e 's/movne pc,/retne /g' {} \\;\nfind arch/arm -name '*.S' -exec sed -i -e 's/movhs pc,/reths /g' {} \\;\nfind arch/arm -name '*.S' -exec sed -i -e 's/movls pc,/retls /g' {} \\;\nfind arch/arm -name '*.S' -exec sed -i -e 's/movlo pc,/retlo /g' {} \\;\n\ngit checkout -- arch/arm/mm/proc-v7-2level.S arch/arm/boot/compressed/head.S\nsed -i -e 's/mov    pc, /bx    /g' arch/arm/mm/proc-v7-2level.S\nsed -i -e 's/mov     pc, /bx     /g' arch/arm/mm/proc-v7-2level.S\nsed -i -e 's/mov\\tpc, /bx\\t/g' arch/arm/mm/proc-v7-2level.S\nsed -i -e 's/mov\\tpc,/bx\\t/g' arch/arm/mm/proc-v7-2level.S\nsed -i -e 's/mov\\t\\tpc, /bx\\t\\t/g' arch/arm/mm/proc-v7-2level.S\nsed -i -e 's/mov\\t\\tpc,/bx\\t\\t/g' arch/arm/mm/proc-v7-2level.S\nsed -i -e 's/mov pc,/bx /g' arch/arm/mm/proc-v7-2level.S\n\nEOF\n\n - Patch arch/arm/include/asm/assembler.h\n - Patch arch/arm/kernel/entry-header.S\n - Add '#include <asm/assembler.h>' to missing files.\n - Manually patch 'arch/arm/mm/proc-v7.S' to add bx\n\nSigned-off-by: arter97 <qkrwngud825@gmail.com>","distinct":true,"url":"https://api.github.com/repos/intersectRaven/lenok/commits/35e485ed6b91c3f60041dbb4bb0fdde1eed3946b"},{"sha":"6b28d1bfe19eaca2c669a2ceaf7353aaa551f24f","author":{"email":"7662eda885d44e77a928581610e3a6d22accb87e@gmail.com","name":"arter97"},"message":"Makefile: define L1/L2 cache size\n\nPatch by @JustArchi","distinct":true,"url":"https://api.github.com/repos/intersectRaven/lenok/commits/6b28d1bfe19eaca2c669a2ceaf7353aaa551f24f"},{"sha":"42c0b8e4842612827f05e995896205a543520ae7","author":{"email":"11e4191b1ae5cae13d3da02c22f40620ad984fdf@google.com","name":"Riley Andrews"},"message":"staging: binder: Change binder mutex to rtmutex.\n\nSurfaceflinger uses binder heavily to receive/send frames from applications\nwhile compositing the screen. Change the binder mutex to an rt mutex to minimize\ninstances where high priority surfaceflinger binder work is blocked by lower\npriority binder ipc.\n\nSigned-off-by: Riley Andrews <riandrews@google.com>\nChange-Id: I086a715267648448f0c5f62b037a3093d1079a79","distinct":true,"url":"https://api.github.com/repos/intersectRaven/lenok/commits/42c0b8e4842612827f05e995896205a543520ae7"},{"sha":"c52632752e928a5e2661ca3eaa1574d53d3cc88e","author":{"email":"b913f13ef92ac157955c954ccaaff7be065faba4@arm.com","name":"Will Deacon"},"message":"ARM: barrier: allow options to be passed to memory barrier instructions\n\nOn ARMv7, the memory barrier instructions take an optional `option'\nfield which can be used to constrain the effects of a memory barrier\nbased on shareability and access type.\n\nThis patch allows the caller to pass these options if required, and\nupdates the smp_*() barriers to request inner-shareable barriers,\naffecting only stores for the _wmb variant. wmb() is also changed to\nuse the -st version of dsb.\n\nReported-by: Albin Tonnerre <albin.tonnerre@arm.com>\nReviewed-by: Catalin Marinas <catalin.marinas@arm.com>\nSigned-off-by: Will Deacon <will.deacon@arm.com>","distinct":true,"url":"https://api.github.com/repos/intersectRaven/lenok/commits/c52632752e928a5e2661ca3eaa1574d53d3cc88e"},{"sha":"8de99633198c1187eb62cd64b53ddbe654b1815d","author":{"email":"f39834d3f313de4aa8a5483c1e8a76e8299c5a6b@gmail.com","name":"klozz"},"message":"Enhance power efficiency: Series of patches from NVIDIA on some critical blocking code paths to allow the CPU to relax instead of busy spinning thus lowering the load_average and lowering power consumption.\n\nSigned-off-by: klozz <xxx.reptar.rawrr.xxx@gmail.com>","distinct":true,"url":"https://api.github.com/repos/intersectRaven/lenok/commits/8de99633198c1187eb62cd64b53ddbe654b1815d"},{"sha":"a4900431a3a1176ea3d0a5e1d9b72ab7c8f405d4","author":{"email":"3fddac958924aef220f202ca567388ddab3f14a8@infradead.org","name":"Peter Zijlstra"},"message":"sched/fair: Optimize find_busiest_queue()\n\nUse for_each_cpu_and() and thereby avoid computing the capacity for\nCPUs we know we're not interested in.\n\nReviewed-by: Paul Turner <pjt@google.com>\nReviewed-by: Preeti U Murthy <preeti@linux.vnet.ibm.com>\nSigned-off-by: Peter Zijlstra <peterz@infradead.org>\nLink: http://lkml.kernel.org/n/tip-lppceyv6kb3a19g8spmrn20b@git.kernel.org\nSigned-off-by: Ingo Molnar <mingo@kernel.org>","distinct":true,"url":"https://api.github.com/repos/intersectRaven/lenok/commits/a4900431a3a1176ea3d0a5e1d9b72ab7c8f405d4"},{"sha":"ecee7aa9ffd9f786284a5b233aa43d44ff5f2dcd","author":{"email":"4388b5bcdb1d351ff4e132fdb0a07b5cbc88419c@gmail.com","name":"intersectRaven"},"message":"Add more compiler flags.","distinct":true,"url":"https://api.github.com/repos/intersectRaven/lenok/commits/ecee7aa9ffd9f786284a5b233aa43d44ff5f2dcd"},{"sha":"f159755904e4370ab64d5e7819e07026dad86e95","author":{"email":"f9849b02abe18c1ece6bd40346458ed53f49d31b@linaro.org","name":"Kevin Hilman"},"message":"nohz: Kconfig: remove redundant 64-bit dependency\n\nThe current 64-bit dependency is on VIRT_CPU_ACCOUNTING_GEN, which already\nhas its own dependency on 64-bit.  Remove it from NO_HZ_FULL.\n\nCc: Frederic Weisbecker <fweisbec@gmail.com>\nSigned-off-by: Kevin Hilman <khilman@linaro.org>","distinct":true,"url":"https://api.github.com/repos/intersectRaven/lenok/commits/f159755904e4370ab64d5e7819e07026dad86e95"},{"sha":"4dac5e0c07956ac0cbdfaa843ecd5b2942a5ff2d","author":{"email":"f9849b02abe18c1ece6bd40346458ed53f49d31b@linaro.org","name":"Kevin Hilman"},"message":"init/Kconfig: VIRT_CPU_ACCOUNTING_GEN: drop 64-bit requirement\n\nThe 64-bit requirement can be removed after the conversion of the nsec\ngranularity cputime to work on !64_BIT, which was done in commit\n8c23b80e (cputime_nsecs: use math64.h for nsec resolution conversion\nhelpers)\n\nCc: Frederic Weisbecker <fweisbec@gmail.com>\nSigned-off-by: Kevin Hilman <khilman@linaro.org>","distinct":true,"url":"https://api.github.com/repos/intersectRaven/lenok/commits/4dac5e0c07956ac0cbdfaa843ecd5b2942a5ff2d"},{"sha":"ef5675740fc49c51d4b467d3235c7a2e3c8546b1","author":{"email":"f9849b02abe18c1ece6bd40346458ed53f49d31b@linaro.org","name":"Kevin Hilman"},"message":"ARM: Kconfig: allow virt CPU accounting\n\nWith the 64-bit requirement removed from virt CPU accounting,\nallow ARM platforms to enable it.\n\nCc: Russell King <rmk+kernel@arm.linux.org.uk>\nSigned-off-by: Kevin Hilman <khilman@linaro.org>","distinct":true,"url":"https://api.github.com/repos/intersectRaven/lenok/commits/ef5675740fc49c51d4b467d3235c7a2e3c8546b1"},{"sha":"6b5c8289a0c5b9e096026905e113312286d7b284","author":{"email":"f9849b02abe18c1ece6bd40346458ed53f49d31b@linaro.org","name":"Kevin Hilman"},"message":"sched/nohz: add debugfs control over sched_tick_max_deferment\n\nAllow debugfs override of sched_tick_max_deferment in order to ease\nfinding/fixing the remaining issues with full nohz.\n\nThe value to be written is in jiffies, and -1 means the max deferment\nis disabled (scheduler_tick_max_deferment() returns KTIME_MAX.)\n\nCc: Frederic Weisbecker <fweisbec@gmail.com>\nSigned-off-by: Kevin Hilman <khilman@linaro.org>","distinct":true,"url":"https://api.github.com/repos/intersectRaven/lenok/commits/6b5c8289a0c5b9e096026905e113312286d7b284"},{"sha":"5ff0c75ab996ca327bedf28196cd931f85f751b3","author":{"email":"f9849b02abe18c1ece6bd40346458ed53f49d31b@linaro.org","name":"Kevin Hilman"},"message":"sched/nohz: fix overflow error in scheduler_tick_max_deferment()\n\nThe conversion of the max deferment from usecs to nsecs can easily\noverflow on platforms where a long is 32-bits.  To fix, cast the usecs\nvalue to u64 before multiplying by NSECS_PER_USEC.\n\nThis was discovered on 32-bit ARM platform when extending the max\ndeferment value.\n\nCc: Frederic Weisbecker <fweisbec@gmail.com>\nSigned-off-by: Kevin Hilman <khilman@linaro.org>","distinct":true,"url":"https://api.github.com/repos/intersectRaven/lenok/commits/5ff0c75ab996ca327bedf28196cd931f85f751b3"},{"sha":"b7d7463c1fabab9936dfa6af52ad194dabef612c","author":{"email":"4388b5bcdb1d351ff4e132fdb0a07b5cbc88419c@gmail.com","name":"intersectRaven"},"message":"Disable deferment during full tickless mode.","distinct":true,"url":"https://api.github.com/repos/intersectRaven/lenok/commits/b7d7463c1fabab9936dfa6af52ad194dabef612c"},{"sha":"b96b93b5dce5d5ce6281d80e626962e4b48d13be","author":{"email":"00e4cf8f46a57000a44449bf9dd8cbbcc209fd2a@linutronix.de","name":"Thomas Gleixner"},"message":"rtmutex: Fix deadlock detector for real\n\ncommit 397335f004f41e5fcf7a795e94eb3ab83411a17c upstream.\n\nThe current deadlock detection logic does not work reliably due to the\nfollowing early exit path:\n\n\t/*\n\t * Drop out, when the task has no waiters. Note,\n\t * top_waiter can be NULL, when we are in the deboosting\n\t * mode!\n\t */\n\tif (top_waiter && (!task_has_pi_waiters(task) ||\n\t\t\t   top_waiter != task_top_pi_waiter(task)))\n\t\tgoto out_unlock_pi;\n\nSo this not only exits when the task has no waiters, it also exits\nunconditionally when the current waiter is not the top priority waiter\nof the task.\n\nSo in a nested locking scenario, it might abort the lock chain walk\nand therefor miss a potential deadlock.\n\nSimple fix: Continue the chain walk, when deadlock detection is\nenabled.\n\nWe also avoid the whole enqueue, if we detect the deadlock right away\n(A-A). It's an optimization, but also prevents that another waiter who\ncomes in after the detection and before the task has undone the damage\nobserves the situation and detects the deadlock and returns\n-EDEADLOCK, which is wrong as the other task is not in a deadlock\nsituation.\n\nSigned-off-by: Thomas Gleixner <tglx@linutronix.de>\nCc: Peter Zijlstra <peterz@infradead.org>\nReviewed-by: Steven Rostedt <rostedt@goodmis.org>\nCc: Lai Jiangshan <laijs@cn.fujitsu.com>\nLink: http://lkml.kernel.org/r/20140522031949.725272460@linutronix.de\nSigned-off-by: Thomas Gleixner <tglx@linutronix.de>\nSigned-off-by: Mike Galbraith <umgwanakikbuti@gmail.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/intersectRaven/lenok/commits/b96b93b5dce5d5ce6281d80e626962e4b48d13be"},{"sha":"bf83f948bdac736cff0da2673f68cc98ea3fdeb7","author":{"email":"4388b5bcdb1d351ff4e132fdb0a07b5cbc88419c@gmail.com","name":"intersectRaven"},"message":"arm/dt: Allow lenok panel to power off\n\nAllow lenok panel to completely power off when display is blanked.","distinct":true,"url":"https://api.github.com/repos/intersectRaven/lenok/commits/bf83f948bdac736cff0da2673f68cc98ea3fdeb7"},{"sha":"42e2fdccf42203891f081c28905b20aec153a63d","author":{"email":"3fddac958924aef220f202ca567388ddab3f14a8@infradead.org","name":"Peter Zijlstra"},"message":"sched/idle: Avoid spurious wakeup IPIs\n\nBecause mwait_idle_with_hints() gets called from !idle context it must\ncall current_clr_polling(). This however means that resched_task() is\nvery likely to send an IPI even when we were polling:\n\n  CPU0\t\t\t\t\tCPU1\n\n  if (current_set_polling_and_test())\n    goto out;\n\n  __monitor(&ti->flags);\n  if (!need_resched())\n    __mwait(eax, ecx);\n\t\t\t\t\tset_tsk_need_resched(p);\n\t\t\t\t\tsmp_mb();\nout:\n  current_clr_polling();\n\t\t\t\t\tif (!tsk_is_polling(p))\n\t\t\t\t\t  smp_send_reschedule(cpu);\n\nSo while it is correct (extra IPIs aren't a problem, whereas a missed\nIPI would be) it is a performance problem (for some).\n\nAvoid this issue by using fetch_or() to atomically set NEED_RESCHED\nand test if POLLING_NRFLAG is set.\n\nSince a CPU stuck in mwait is unlikely to modify the flags word,\ncontention on the cmpxchg is unlikely and thus we should mostly\nsucceed in a single go.\n\nSigned-off-by: Peter Zijlstra <peterz@infradead.org>\nAcked-by: Nicolas Pitre <nico@linaro.org>\nCc: Andy Lutomirski <luto@amacapital.net>\nCc: Linus Torvalds <torvalds@linux-foundation.org>\nLink: http://lkml.kernel.org/n/tip-kf5suce6njh5xf5d3od13rr0@git.kernel.org\nSigned-off-by: Ingo Molnar <mingo@kernel.org>","distinct":true,"url":"https://api.github.com/repos/intersectRaven/lenok/commits/42e2fdccf42203891f081c28905b20aec153a63d"}]}