{"push_id":665962639,"size":26,"distinct_size":0,"ref":"refs/heads/5.1","head":"d7359c27340f5536cd59356367f9e5339db2f29d","before":"c41739b68ad065e0538c68db1f63b0e4fe8d1001","commits":[{"sha":"ee44a48143c59e05344d160383d0a0140a26d1be","author":{"email":"aaf6fd97230863eae371b8b6c4c40693d5d84b30@bynet.co.il","name":"Dorimanx"},"message":"FORCE FAST CHARGE V2.7: fix FFC activation when no power connected.","distinct":false,"url":"https://api.github.com/repos/yoinx/FusterCluck-Kernel/commits/ee44a48143c59e05344d160383d0a0140a26d1be"},{"sha":"593bbe0058c6dc17aa5627475457f47f34c6df66","author":{"email":"ac4417675058ee801982d41e9fbe2446371bb54e@gmail.com","name":"Joe Schubert"},"message":"Move fast charge definition","distinct":false,"url":"https://api.github.com/repos/yoinx/FusterCluck-Kernel/commits/593bbe0058c6dc17aa5627475457f47f34c6df66"},{"sha":"3f5b923b6a43d137cdc7c00698757c6a6d11075c","author":{"email":"ac4417675058ee801982d41e9fbe2446371bb54e@gmail.com","name":"Joe Schubert"},"message":"Fix missing endif in code","distinct":false,"url":"https://api.github.com/repos/yoinx/FusterCluck-Kernel/commits/3f5b923b6a43d137cdc7c00698757c6a6d11075c"},{"sha":"c6e289190ca1fe3c4b419d3755234ccb08e447e1","author":{"email":"de609eb4d5d70b1d38ec6642adbfc33a2781f63c@zeniv.linux.org.uk","name":"Al Viro"},"message":"switch do_fsync() to fget_light()\n\nSigned-off-by: Al Viro <viro@zeniv.linux.org.uk>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":false,"url":"https://api.github.com/repos/yoinx/FusterCluck-Kernel/commits/c6e289190ca1fe3c4b419d3755234ccb08e447e1"},{"sha":"938b2f4eac34fe0a30320408ccc30773d34f4954","author":{"email":"c208d1ecece4e5ef2e4fb72f0546c69cdce89063@gmail.com","name":"faux123"},"message":"lib/string: use glibc version\n\nthe performance of memcpy and memmove of the general version is very\ninefficient, this patch improved them.\n\nSigned-off-by: Miao Xie <miaox*******>\nSigned-off-by: faux123 <reioux@gmail.com>","distinct":false,"url":"https://api.github.com/repos/yoinx/FusterCluck-Kernel/commits/938b2f4eac34fe0a30320408ccc30773d34f4954"},{"sha":"a1b597be1ad8628ca5de155b14c877c03964ec6d","author":{"email":"6b0d31c0d563223024da45691584643ac78c96e8@bjorling.me","name":"Matias Bjørling"},"message":"block: remove WQ_POWER_EFFICIENT from kblockd\n\nblk-mq issues async requests through kblockd. To issue a work request on\na specific CPU, kblockd_schedule_delayed_work_on is used. However, the\nspecific CPU choice may not be honored, if the power_efficient option\nfor workqueues is set. blk-mq requires that we have strict per-cpu\nscheduling, so it wont work properly if kblockd is marked\nPOWER_EFFICIENT and power_efficient is set.\n\nRemove the kblockd WQ_POWER_EFFICIENT flag to prevent this behavior.\nThis essentially reverts part of commit 695588f9454b, which added\nthe WQ_POWER_EFFICIENT marker to kblockd.\n\nSigned-off-by: Matias Bjørling <m@bjorling.me>\nSigned-off-by: Jens Axboe <axboe@fb.com>\nSigned-off-by: Pranav Vashi <neobuddy89@gmail.com>","distinct":false,"url":"https://api.github.com/repos/yoinx/FusterCluck-Kernel/commits/a1b597be1ad8628ca5de155b14c877c03964ec6d"},{"sha":"37bc55550bcf236db3182e982313d921e47e1e27","author":{"email":"aaf6fd97230863eae371b8b6c4c40693d5d84b30@bynet.co.il","name":"dorimanx"},"message":"Alwas set noatime no diratime on all partitions! I/O Boost!\n\nAlso mod read_ahead to 512. as seems that is faster! in test apps.","distinct":false,"url":"https://api.github.com/repos/yoinx/FusterCluck-Kernel/commits/37bc55550bcf236db3182e982313d921e47e1e27"},{"sha":"00cfd35c9688a1b9064bccd664be3963ca3c9815","author":{"email":"aaf6fd97230863eae371b8b6c4c40693d5d84b30@bynet.co.il","name":"dorimanx"},"message":"Alwas set noatime no diratime on all partitions! I/O Boost! V2","distinct":false,"url":"https://api.github.com/repos/yoinx/FusterCluck-Kernel/commits/00cfd35c9688a1b9064bccd664be3963ca3c9815"},{"sha":"3ffe6bf5fd7a4efe7a81aead920555f52cae2165","author":{"email":"c208d1ecece4e5ef2e4fb72f0546c69cdce89063@gmail.com","name":"Paul Reioux"},"message":"Asynchronous Fsync: initial extraction of Async Fsync from HTC\n\nSigned-off-by: Paul Reioux <reioux@gmail.com>","distinct":false,"url":"https://api.github.com/repos/yoinx/FusterCluck-Kernel/commits/3ffe6bf5fd7a4efe7a81aead920555f52cae2165"},{"sha":"c0a4349e29cba38567a8734cd56fc12b27839044","author":{"email":"ac4417675058ee801982d41e9fbe2446371bb54e@gmail.com","name":"Joe Schubert"},"message":"Enable Async Fsync","distinct":false,"url":"https://api.github.com/repos/yoinx/FusterCluck-Kernel/commits/c0a4349e29cba38567a8734cd56fc12b27839044"},{"sha":"eaaf7bdc9ee366400d35f86278cc626ec8678c55","author":{"email":"c208d1ecece4e5ef2e4fb72f0546c69cdce89063@gmail.com","name":"faux123"},"message":"lib/memcopy: use glibc version\n\nthe kernel's memcpy and memmove is very inefficient. But the glibc version is\nquite fast, in some cases it is 10 times faster than the kernel version. So I\nintroduce some memory copy macros and functions of the glibc to improve the\nkernel version's performance.\n\nThe strategy of the memory functions is:\n1. Copy bytes until the destination pointer is aligned.\n2. Copy words in unrolled loops.  If the source and destination are not\n   aligned in the same way, use word memory operations, but shift and merge\n   two read words before writing.\n3. Copy the few remaining bytes.\n\nSigned-off-by: Miao Xie <miaox*******>\nSigned-off-by: faux123 <reioux@gmail.com>","distinct":false,"url":"https://api.github.com/repos/yoinx/FusterCluck-Kernel/commits/eaaf7bdc9ee366400d35f86278cc626ec8678c55"},{"sha":"260c56e4264612cb2a706c83188d59e3061d3da4","author":{"email":"ed58f755cc8caaf10c3e8c731a8b86fb8f13d6cb@suse.cz","name":"Jiri Kosina"},"message":"Makefile: tell gcc optimizer to never introduce new data races\n\nWe have been chasing a memory corruption bug, which turned out to be\ncaused by very old gcc (4.3.4), which happily turned conditional load\ninto a non-conditional one, and that broke correctness (the condition\nwas met only if lock was held) and corrupted memory.\n\nThis particular problem with that particular code did not happen when\nnever gccs were used.  I've brought this up with our gcc folks, as I\nwanted to make sure that this can't really happen again, and it turns\nout it actually can.\n\nQuoting Martin Jambor <mjambor@suse.cz>:\n \"More current GCCs are more careful when it comes to replacing a\n  conditional load with a non-conditional one, most notably they check\n  that a store happens in each iteration of _a_ loop but they assume\n  loops are executed.  They also perform a simple check whether the\n  store cannot trap which currently passes only for non-const\n  variables.  A simple testcase demonstrating it on an x86_64 is for\n  example the following:\n\n  $ cat cond_store.c\n\n  int g_1 = 1;\n\n  int g_2[1024] __attribute__((section (\"safe_section\"), aligned (4096)));\n\n  int c = 4;\n\n  int __attribute__ ((noinline))\n  foo (void)\n  {\n    int l;\n    for (l = 0; (l != 4); l++) {\n      if (g_1)\n        return l;\n      for (g_2[0] = 0; (g_2[0] >= 26); ++g_2[0])\n        ;\n    }\n    return 2;\n  }\n\n  int main (int argc, char* argv[])\n  {\n    if (mprotect (g_2, sizeof(g_2), PROT_READ) == -1)\n      {\n        int e = errno;\n        error (e, e, \"mprotect error %i\", e);\n      }\n    foo ();\n    __builtin_printf(\"OK\\n\");\n    return 0;\n  }\n  /* EOF */\n  $ ~/gcc/trunk/inst/bin/gcc cond_store.c -O2 --param allow-store-data-races=0\n  $ ./a.out\n  OK\n  $ ~/gcc/trunk/inst/bin/gcc cond_store.c -O2 --param allow-store-data-races=1\n  $ ./a.out\n  Segmentation fault\n\n  The testcase fails the same at least with 4.9, 4.8 and 4.7.  Therefore\n  I would suggest building kernels with this parameter set to zero. I\n  also agree with Jikos that the default should be changed for -O2.  I\n  have run most of the SPEC 2k6 CPU benchmarks (gamess and dealII\n  failed, at -O2, not sure why) compiled with and without this option\n  and did not see any real difference between respective run-times\"\n\nHopefully the default will be changed in newer gccs, but let's force it\nfor kernel builds so that we are on a safe side even when older gcc are\nused.\n\nThe code in question was out-of-tree printk-in-NMI (yeah, surprise\nsuprise, once again) patch written by Petr Mladek, let me quote his\ncomment from our internal bugzilla:\n\n \"I have spent few days investigating inconsistent state of kernel ring buffer.\n  It went out that it was caused by speculative store generated by\n  gcc-4.3.4.\n\n  The problem is in assembly generated for make_free_space(). The functions is\n  called the following way:\n\n  + vprintk_emit();\n      + log = MAIN_LOG; // with logbuf_lock\n         or\n         log = NMI_LOG; // with nmi_logbuf_lock\n         cont_add(log, ...);\n          + cont_flush(log, ...);\n              + log_store(log, ...);\n                    + log_make_free_space(log, ...);\n\n  If called with log = NMI_LOG then only nmi_log_* global variables are safe to\n  modify but the generated code does store also into (main_)log_* global\n  variables:\n\n  <log_make_free_space>:\n         55                      push   %rbp\n         89 f6                   mov    %esi,%esi\n\n         48 8b 05 03 99 51 01    mov    0x1519903(%rip),%rax       # ffffffff82620868 <nmi_log_next_id>\n         44 8b 1d ec 98 51 01    mov    0x15198ec(%rip),%r11d      # ffffffff82620858 <log_next_idx>\n         8b 35 36 60 14 01       mov    0x1146036(%rip),%esi       # ffffffff8224cfa8 <log_buf_len>\n         44 8b 35 33 60 14 01    mov    0x1146033(%rip),%r14d      # ffffffff8224cfac <nmi_log_buf_len>\n         4c 8b 2d d0 98 51 01    mov    0x15198d0(%rip),%r13       # ffffffff82620850 <log_next_seq>\n         4c 8b 25 11 61 14 01    mov    0x1146111(%rip),%r12       # ffffffff8224d098 <log_buf>\n         49 89 c2                mov    %rax,%r10\n         48 21 c2                and    %rax,%rdx\n         48 8b 1d 0c 99 55 01    mov    0x155990c(%rip),%rbx       # ffffffff826608a0 <nmi_log_buf>\n         49 c1 ea 20             shr    $0x20,%r10\n         48 89 55 d0             mov    %rdx,-0x30(%rbp)\n         44 29 de                sub    %r11d,%esi\n         45 29 d6                sub    %r10d,%r14d\n         4c 8b 0d 97 98 51 01    mov    0x1519897(%rip),%r9\t# ffffffff82620840 <log_first_seq>\n         eb 7e                   jmp    ffffffff81107029\t<log_make_free_space+0xe9>\n  [...]\n         85 ff                   test   %edi,%edi                  # edi = 1 for NMI_LOG\n         4c 89 e8                mov    %r13,%rax\n         4c 89 ca                mov    %r9,%rdx\n         74 0a                   je     ffffffff8110703d\t<log_make_free_space+0xfd>\n         8b 15 27 98 51 01       mov    0x1519827(%rip),%edx       # ffffffff82620860 <nmi_log_first_id>\n         48 8b 45 d0             mov    -0x30(%rbp),%rax\n         48 39 c2                cmp    %rax,%rdx                  # end of loop\n         0f 84 da 00 00 00       je     ffffffff81107120 <log_make_free_space+0x1e0>\n  [...]\n         85 ff                   test   %edi,%edi                  # edi = 1 for NMI_LOG\n         4c 89 0d 17 97 51 01    mov    %r9,0x1519717(%rip)        # ffffffff82620840 <log_first_seq>\n                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^\n                                 KABOOOM\n         74 35                   je     ffffffff81107160\t\t <log_make_free_space+0x220>\n\n  It stores log_first_seq when edi == NMI_LOG. This instructions are used also\n  when edi == MAIN_LOG but the store is done speculatively before the condition\n  is decided.  It is unsafe because we do not have \"logbuf_lock\" in NMI context\n  and some other process migh modify \"log_first_seq\" in parallel\"\n\nI believe that the best course of action is both\n\n - building kernel (and anything multi-threaded, I guess) with that\n   optimization turned off\n - persuade gcc folks to change the default for future releases\n\nSigned-off-by: Jiri Kosina <jkosina@suse.cz>\nCc: Martin Jambor <mjambor@suse.cz>\nCc: Petr Mladek <pmladek@suse.cz>\nCc: Linus Torvalds <torvalds@linux-foundation.org>\nCc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\nCc: Peter Zijlstra <peterz@infradead.org>\nCc: Marek Polacek <polacek@redhat.com>\nCc: Jakub Jelinek <jakub@redhat.com>\nCc: Steven Noonan <steven@uplinklabs.net>\nCc: Richard Biener <richard.guenther@gmail.com>\nCc: Dan Carpenter <dan.carpenter@oracle.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nSigned-off-by: Pranav Vashi <neobuddy89@gmail.com>","distinct":false,"url":"https://api.github.com/repos/yoinx/FusterCluck-Kernel/commits/260c56e4264612cb2a706c83188d59e3061d3da4"},{"sha":"92f01bde57c55925f0afbccc18688a07db8bdc4a","author":{"email":"c208d1ecece4e5ef2e4fb72f0546c69cdce89063@gmail.com","name":"Paul Reioux"},"message":"fs/dyn_sync_cntrl: dynamic sync control\n\nThe dynamic sync control interface uses new power_suspend interface\n\nWhile screen is on, file sync is disabled\nwhen screen is off, a file sync is called to flush all outstanding writes\nand restore file sync operation as normal.\n\nupdated for 8974 kernels\n\nSigned-off-by: Paul Reioux <reioux@gmail.com>","distinct":false,"url":"https://api.github.com/repos/yoinx/FusterCluck-Kernel/commits/92f01bde57c55925f0afbccc18688a07db8bdc4a"},{"sha":"32f44e4c4c9407d75b4147ec84322df03e8d0b87","author":{"email":"aaf6fd97230863eae371b8b6c4c40693d5d84b30@bynet.co.il","name":"Dorimanx"},"message":"Fixed ALL LG G2 errors about bad request_threaded_irq!\n\nerrors in dmesg look like this:\n\n<3>genirq: Threaded irq requested with handler=NULL and !ONESHOT for irq 446\n<3>genirq: Threaded irq requested with handler=NULL and !ONESHOT for irq 382\n<3>genirq: Threaded irq requested with handler=NULL and !ONESHOT for irq 311\n<3>genirq: Threaded irq requested with handler=NULL and !ONESHOT for irq 310\n\nTraced using cat /proc/interrupts\n\nthen in code fixed with adding IRQF_ONESHOT :)","distinct":false,"url":"https://api.github.com/repos/yoinx/FusterCluck-Kernel/commits/32f44e4c4c9407d75b4147ec84322df03e8d0b87"},{"sha":"5d2035730b38b944a3af7777619a13228baf6d99","author":{"email":"c208d1ecece4e5ef2e4fb72f0546c69cdce89063@gmail.com","name":"Paul Reioux"},"message":"msm8974-regulator.dtsi: further reduce CPU retention voltage\n\nthis should help idel drain during processor retention c-state\n\nSigned-off-by: Paul Reioux <reioux@gmail.com>","distinct":false,"url":"https://api.github.com/repos/yoinx/FusterCluck-Kernel/commits/5d2035730b38b944a3af7777619a13228baf6d99"},{"sha":"0aaa20bc0a2554ae80e957a27812060436ffc181","author":{"email":"c208d1ecece4e5ef2e4fb72f0546c69cdce89063@gmail.com","name":"Paul Reioux"},"message":"msm8974-regulator.dtsi: adjust GFX regulator parameters\n\nsettings based on qcom documentation\n\nSigned-off-by: Paul Reioux <reioux@gmail.com>","distinct":false,"url":"https://api.github.com/repos/yoinx/FusterCluck-Kernel/commits/0aaa20bc0a2554ae80e957a27812060436ffc181"},{"sha":"116b29572530ea953476002e5c85d88a7efd3f8f","author":{"email":"aaf6fd97230863eae371b8b6c4c40693d5d84b30@bynet.co.il","name":"Dorimanx"},"message":"BACKLIGHT CONTROL: Allow user to set min backlight when auto mode.\n\nBy user request, i have made simple overide interface for min backlight.\n\nNormally ROM min backlight is set to 86 and max is 255.\n\nWhen screen is dimmed before turn off it's 50.\n\nSo now user can ask kernel to set min backlight in dark from 30 to 89\n\nand by this reduce the MIN backlight value.","distinct":false,"url":"https://api.github.com/repos/yoinx/FusterCluck-Kernel/commits/116b29572530ea953476002e5c85d88a7efd3f8f"},{"sha":"f8910157147d4e1cfa562bec2a558747abe5931c","author":{"email":"aaf6fd97230863eae371b8b6c4c40693d5d84b30@bynet.co.il","name":"Dorimanx"},"message":"BACKLIGHT CONTROL: allow to set MAX 100Lux by user if it's too dark!","distinct":false,"url":"https://api.github.com/repos/yoinx/FusterCluck-Kernel/commits/f8910157147d4e1cfa562bec2a558747abe5931c"},{"sha":"0de582e9586f35390cdb41fb607ed8cd72bcf817","author":{"email":"aaf6fd97230863eae371b8b6c4c40693d5d84b30@bynet.co.il","name":"Dorimanx"},"message":"BACKLIGHT CONTROL v3: more correct function use. after tests.","distinct":false,"url":"https://api.github.com/repos/yoinx/FusterCluck-Kernel/commits/0de582e9586f35390cdb41fb607ed8cd72bcf817"},{"sha":"e24c41cc6384923c06f8546c6c49d48ca7975c28","author":{"email":"aaf6fd97230863eae371b8b6c4c40693d5d84b30@bynet.co.il","name":"Dorimanx"},"message":"BACKLIGHT CONTROL v4: Allow custom mods only if min_backlight_reducer = 1\n\nthis will fix the backlight flick when no forced min enabled, and user set\nsome value, but ROM will set higher, and we see brightness flick..","distinct":false,"url":"https://api.github.com/repos/yoinx/FusterCluck-Kernel/commits/e24c41cc6384923c06f8546c6c49d48ca7975c28"}]}