{"push_id":920160229,"size":159,"distinct_size":159,"ref":"refs/heads/mm6.0","head":"7fb0e8fdd36394bdc8a09bca2e46f512cf5676b7","before":"25ef7de6819435a7d1b37838cb6d058ce53380ca","commits":[{"sha":"b6dbacc6d2380ad820640ab62492414a32775aa4","author":{"email":"42480b5f4d505650064e5081b85d867a03559887@gmail.com","name":"franciscofranco"},"message":"selinux: just shut up\n\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":true,"url":"https://api.github.com/repos/B14CKB1RD-Kernel/B14CKB1RD_Kernel_N6/commits/b6dbacc6d2380ad820640ab62492414a32775aa4"},{"sha":"838142426cc65ff7d9857531419749ea27515d8c","author":{"email":"42480b5f4d505650064e5081b85d867a03559887@gmail.com","name":"franciscofranco"},"message":"audit: Imma let you finish, but shut up\n\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":true,"url":"https://api.github.com/repos/B14CKB1RD-Kernel/B14CKB1RD_Kernel_N6/commits/838142426cc65ff7d9857531419749ea27515d8c"},{"sha":"c51c4bafc503ee0b0be803e2b625af291ebfd19a","author":{"email":"4c9eb49378914b743bdd32292c04df29b820d73e@cn.fujitsu.com","name":"Lai Jiangshan"},"message":"kthread_work: wake up worker only when the worker is idle\n\nIf the worker is already executing a work item when another is queued,\nwe can safely skip wakeup without worrying about stalling queue thus\navoiding waking up the busy worker spuriously.  Spurious wakeups\nshould be fine but still isn't nice and avoiding it is trivial here.\n\ntj: Updated description.\n\nSigned-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>\nSigned-off-by: Tejun Heo <tj@kernel.org>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":true,"url":"https://api.github.com/repos/B14CKB1RD-Kernel/B14CKB1RD_Kernel_N6/commits/c51c4bafc503ee0b0be803e2b625af291ebfd19a"},{"sha":"98e207abc1b1e47746ff35a531d67350ccb09726","author":{"email":"9edab3d8932dbb8f20eb55cd8199c20e7fb56c12@oracle.com","name":"Jeff Liu"},"message":"binfmt_elf.c: use get_random_int() to fix entropy depleting\n\nChanges:\n--------\nv4->v3:\n- s/random_stack_user()/get_atrandom_bytes()/\n- Move this function to ahead of its use to avoid the predeclaration.\n\nv3->v2:\n- Tweak code comments of random_stack_user().\n- Remove redundant bits mask and shift upon the random variable.\n\nv2->v1:\n- Fix random copy to check up buffer length that are not 4-byte multiples.\n\nv3 can be found at:\nhttp://www.spinics.net/lists/linux-fsdevel/msg59597.html\nv2 can be found at:\nhttp://www.spinics.net/lists/linux-fsdevel/msg59418.html\nv1 can be found at:\nhttp://www.spinics.net/lists/linux-fsdevel/msg59128.html\n\nThanks,\n-Jeff\n\nEntropy is quickly depleted under normal operations like ls(1), cat(1),\netc...  between 2.6.30 to current mainline, for instance:\n\n$ cat /proc/sys/kernel/random/entropy_avail\n3428\n$ cat /proc/sys/kernel/random/entropy_avail\n2911\n$cat /proc/sys/kernel/random/entropy_avail\n2620\n\nWe observed this problem has been occurring since 2.6.30 with\nfs/binfmt_elf.c: create_elf_tables()->get_random_bytes(), introduced by\nf06295b44c296c8f (\"ELF: implement AT_RANDOM for glibc PRNG seeding\").\n\n/*\n * Generate 16 random bytes for userspace PRNG seeding.\n */\nget_random_bytes(k_rand_bytes, sizeof(k_rand_bytes));\n\nThe patch introduces a wrapper around get_random_int() which has lower\noverhead than calling get_random_bytes() directly.\n\nWith this patch applied:\n$ cat /proc/sys/kernel/random/entropy_avail\n2731\n$ cat /proc/sys/kernel/random/entropy_avail\n2802\n$ cat /proc/sys/kernel/random/entropy_avail\n2878\n\nAnalyzed by John Sobecki.\n\nSigned-off-by: Jie Liu <jeff.liu@oracle.com>\nCc: Andrew Morton <akpm@linux-foundation.org>\nCc: Al Viro <viro@zeniv.linux.org.uk>\nCc: Andreas Dilger <aedilger@gmail.com>\nCc: Alan Cox <alan@linux.intel.com>\nCc: Arnd Bergmann <arnn@arndb.de>\nCc: John Sobecki <john.sobecki@oracle.com>\nCc: James Morris <james.l.morris@oracle.com>\nCc: Jakub Jelinek <jakub@redhat.com>\nCc: Ted Ts'o <tytso@mit.edu>\nCc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>\nCc: Kees Cook <keescook@chromium.org>\nCc: Ulrich Drepper <drepper@redhat.com>\nSigned-off-by: Francisco Franco <franciscofranco.1990@gmail.com>","distinct":true,"url":"https://api.github.com/repos/B14CKB1RD-Kernel/B14CKB1RD_Kernel_N6/commits/98e207abc1b1e47746ff35a531d67350ccb09726"},{"sha":"727bc03621e5e15956c1a584cd465056084bf752","author":{"email":"4d9e23a041ac966f5316a7481300d4ae12e806fe@redhat.com","name":"Dave Chinner"},"message":"sync: don't block the flusher thread waiting on IO\n\nWhen sync does it's WB_SYNC_ALL writeback, it issues data Io and\nthen immediately waits for IO completion. This is done in the\ncontext of the flusher thread, and hence completely ties up the\nflusher thread for the backing device until all the dirty inodes\nhave been synced. On filesystems that are dirtying inodes constantly\nand quickly, this means the flusher thread can be tied up for\nminutes per sync call and hence badly affect system level write IO\nperformance as the page cache cannot be cleaned quickly.\n\nWe already have a wait loop for IO completion for sync(2), so cut\nthis out of the flusher thread and delegate it to wait_sb_inodes().\nHence we can do rapid IO submission, and then wait for it all to\ncomplete.\n\nEffect of sync on fsmark before the patch:\n\nFSUse%        Count         Size    Files/sec     App Overhead\n.....\n     0       640000         4096      35154.6          1026984\n     0       720000         4096      36740.3          1023844\n     0       800000         4096      36184.6           916599\n     0       880000         4096       1282.7          1054367\n     0       960000         4096       3951.3           918773\n     0      1040000         4096      40646.2           996448\n     0      1120000         4096      43610.1           895647\n     0      1200000         4096      40333.1           921048\n\nAnd a single sync pass took:\n\n  real    0m52.407s\n  user    0m0.000s\n  sys     0m0.090s\n\nAfter the patch, there is no impact on fsmark results, and each\nindividual sync(2) operation run concurrently with the same fsmark\nworkload takes roughly 7s:\n\n  real    0m6.930s\n  user    0m0.000s\n  sys     0m0.039s\n\nIOWs, sync is 7-8x faster on a busy filesystem and does not have an\nadverse impact on ongoing async data write operations.\n\nSigned-off-by: Dave Chinner <dchinner@redhat.com>\nReviewed-by: Jan Kara <jack@suse.cz>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nSigned-off-by: Francisco Franco <franciscofranco.1990@gmail.com>","distinct":true,"url":"https://api.github.com/repos/B14CKB1RD-Kernel/B14CKB1RD_Kernel_N6/commits/727bc03621e5e15956c1a584cd465056084bf752"},{"sha":"fd29e714960661a807c033442f95a95ea2897b06","author":{"email":"adb0658383f88ec6beb1fb7689ba0dac7c1c4882@oracle.com","name":"Junxiao Bi"},"message":"writeback: fix race that cause writeback hung\n\nThere is a race between mark inode dirty and writeback thread, see the\nfollowing scenario.  In this case, writeback thread will not run though\nthere is dirty_io.\n\n__mark_inode_dirty()                                          bdi_writeback_workfn()\n\t...                                                       \t...\n\tspin_lock(&inode->i_lock);\n\t...\n\tif (bdi_cap_writeback_dirty(bdi)) {\n\t    <<< assume wb has dirty_io, so wakeup_bdi is false.\n\t    <<< the following inode_dirty also have wakeup_bdi false.\n\t    if (!wb_has_dirty_io(&bdi->wb))\n\t\t    wakeup_bdi = true;\n\t}\n\tspin_unlock(&inode->i_lock);\n\t                                                            <<< assume last dirty_io is removed here.\n\t                                                            pages_written = wb_do_writeback(wb);\n\t                                                            ...\n\t                                                            <<< work_list empty and wb has no dirty_io,\n\t                                                            <<< delayed_work will not be queued.\n\t                                                            if (!list_empty(&bdi->work_list) ||\n\t                                                                (wb_has_dirty_io(wb) && dirty_writeback_interval))\n\t                                                                queue_delayed_work(bdi_wq, &wb->dwork,\n\t                                                                    msecs_to_jiffies(dirty_writeback_interval * 10));\n\tspin_lock(&bdi->wb.list_lock);\n\tinode->dirtied_when = jiffies;\n\t<<< new dirty_io is added.\n\tlist_move(&inode->i_wb_list, &bdi->wb.b_dirty);\n\tspin_unlock(&bdi->wb.list_lock);\n\n\t<<< though there is dirty_io, but wakeup_bdi is false,\n\t<<< so writeback thread will not be waked up and\n\t<<< the new dirty_io will not be flushed.\n\tif (wakeup_bdi)\n\t    bdi_wakeup_thread_delayed(bdi);\n\nWriteback will run until there is a new flush work queued.  This may cause\na lot of dirty pages stay in memory for a long time.\n\nSigned-off-by: Junxiao Bi <junxiao.bi@oracle.com>\nReviewed-by: Jan Kara <jack@suse.cz>\nCc: Fengguang Wu <fengguang.wu@intel.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nSigned-off-by: Francisco Franco <franciscofranco.1990@gmail.com>","distinct":true,"url":"https://api.github.com/repos/B14CKB1RD-Kernel/B14CKB1RD_Kernel_N6/commits/fd29e714960661a807c033442f95a95ea2897b06"},{"sha":"39003c5fd39f188d80d7efb1dd052a8c906cae6f","author":{"email":"24f7fe9d205c8a9f6ade0c2894e14303ca16087f@intel.com","name":"Fengguang Wu"},"message":"readahead: make context readahead more conservative\n\nThis helps performance on moderately dense random reads on SSD.\n\nTransaction-Per-Second numbers provided by Taobao:\n\n\t\tQPS\tcase\n\t\t-------------------------------------------------------\n\t\t7536\tdisable context readahead totally\nw/ patch:\t7129\tslower size rampup and start RA on the 3rd read\n\t\t6717\tslower size rampup\nw/o patch:\t5581\tunmodified context readahead\n\nBefore, readahead will be started whenever reading page N+1 when it happen\nto read N recently.  After patch, we'll only start readahead when *three*\nrandom reads happen to access pages N, N+1, N+2.  The probability of this\nhappening is extremely low for pure random reads, unless they are very\ndense, which actually deserves some readahead.\n\nAlso start with a smaller readahead window.  The impact to interleaved\nsequential reads should be small, because for a long run stream, the the\nsmall readahead window rampup phase is negletable.\n\nThe context readahead actually benefits clustered random reads on HDD\nwhose seek cost is pretty high.  However as SSD is increasingly used for\nrandom read workloads it's better for the context readahead to concentrate\non interleaved sequential reads.\n\nAnother SSD rand read test from Miao\n\n        # file size:        2GB\n        # read IO amount: 625MB\n        sysbench --test=fileio          \\\n                --max-requests=10000    \\\n                --num-threads=1         \\\n                --file-num=1            \\\n                --file-block-size=64K   \\\n                --file-test-mode=rndrd  \\\n                --file-fsync-freq=0     \\\n                --file-fsync-end=off    run\n\nshows the performance of btrfs grows up from 69MB/s to 121MB/s, ext4 from\n104MB/s to 121MB/s.\n\nSigned-off-by: Wu Fengguang <fengguang.wu@intel.com>\nTested-by: Tao Ma <tm@tao.ma>\nTested-by: Miao Xie <miaox@cn.fujitsu.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>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":true,"url":"https://api.github.com/repos/B14CKB1RD-Kernel/B14CKB1RD_Kernel_N6/commits/39003c5fd39f188d80d7efb1dd052a8c906cae6f"},{"sha":"c61a7e981cad855973f4139accba264688699aaf","author":{"email":"596727c8a0ea4db3ba2ceceedccbacd3d7b371b8@suse.cz","name":"Jan Kara"},"message":"block: Reserve only one queue tag for sync IO if only 3 tags are available\n\nIn case a device has three tags available we still reserve two of them\nfor sync IO. That leaves only a single tag for async IO such as\nwriteback from flusher thread which results in poor performance.\n\nAllow async IO to consume two tags in case queue has three tag availabe\nto get a decent async write performance.\n\nThis patch improves streaming write performance on a machine with such disk\nfrom ~21 MB/s to ~52 MB/s. Also postmark throughput in presence of\nstreaming writer improves from 8 to 12 transactions per second so sync\nIO doesn't seem to be harmed in presence of heavy async writer.\n\nSigned-off-by: Jan Kara <jack@suse.cz>\nSigned-off-by: Jens Axboe <axboe@kernel.dk>\nSigned-off-by: Pranav Vashi <neobuddy89@gmail.com>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":true,"url":"https://api.github.com/repos/B14CKB1RD-Kernel/B14CKB1RD_Kernel_N6/commits/c61a7e981cad855973f4139accba264688699aaf"},{"sha":"5d1407c68bffa0e75492fbceb5046011a1c408eb","author":{"email":"bb6c8cfe7699e0f11d1bee88022eb563a5f8e881@lge.com","name":"Joonsoo Kim"},"message":"mm, vmalloc: use well-defined find_last_bit() func\n\nOur intention in here is to find last_bit within the region to flush.\nThere is well-defined function, find_last_bit() for this purpose and its\nperformance may be slightly better than current implementation.  So change\nit.\n\nSigned-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>\nReviewed-by: Wanpeng Li <liwanp@linux.vnet.ibm.com>\nAcked-by: Johannes Weiner <hannes@cmpxchg.org>\nAcked-by: Zhang Yanfei <zhangyanfei@cn.fujitsu.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>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":true,"url":"https://api.github.com/repos/B14CKB1RD-Kernel/B14CKB1RD_Kernel_N6/commits/5d1407c68bffa0e75492fbceb5046011a1c408eb"},{"sha":"d658069c1375d68c1a1d6e2e923f8ce45c93bcda","author":{"email":"bb6c8cfe7699e0f11d1bee88022eb563a5f8e881@lge.com","name":"Joonsoo Kim"},"message":"mm, vmalloc: remove useless variable in vmap_block\n\nvbq in vmap_block isn't used. So remove it.\n\nSigned-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>\nReviewed-by: Wanpeng Li <liwanp@linux.vnet.ibm.com>\nAcked-by: Johannes Weiner <hannes@cmpxchg.org>\nAcked-by: Zhang Yanfei <zhangyanfei@cn.fujitsu.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>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":true,"url":"https://api.github.com/repos/B14CKB1RD-Kernel/B14CKB1RD_Kernel_N6/commits/d658069c1375d68c1a1d6e2e923f8ce45c93bcda"},{"sha":"ef1badcfbc12492be87fc9ff2616e3896d01e069","author":{"email":"65d484aa1efdaf0ae258f87a04ed8ec8685cba3e@samsung.com","name":"Namjae Jeon"},"message":"writeback: fix writeback cache thrashing\n\nConsider Process A: huge I/O on sda\n        doing heavy write operation - dirty memory becomes more\n        than dirty_background_ratio\n        on HDD - flusher thread flush-8:0\n\nConsider Process B: small I/O on sdb\n        doing while [1]; read 1024K + rewrite 1024K + sleep 2sec\n        on Flash device - flusher thread flush-8:16\n\nAs Process A is a heavy dirtier, dirty memory becomes more\nthan dirty_background_thresh. Due to this, below check becomes\ntrue(checking global_page_state in over_bground_thresh)\nfor all bdi devices(even for very small dirtied bdi - sdb):\n\nIn this case, even small cached data on 'sdb' is forced to flush\nand writeback cache thrashing happens.\n\nWhen we added debug prints inside above 'if' condition and ran\nabove Process A(heavy dirtier on bdi with flush-8:0) and\nProcess B(1024K frequent read/rewrite on bdi with flush-8:16)\nwe got below prints:\n\n[Test setup: ARM dual core CPU, 512 MB RAM]\n\n[over_bground_thresh]: wakeup flush-8:0 : BDI_RECLAIMABLE =  56064 KB\n[over_bground_thresh]: wakeup flush-8:0 : BDI_RECLAIMABLE =  56704 KB\n[over_bground_thresh]: wakeup flush-8:0 : BDI_RECLAIMABLE = 84720 KB\n[over_bground_thresh]: wakeup flush-8:0 : BDI_RECLAIMABLE = 94720 KB\n[over_bground_thresh]: wakeup flush-8:16 : BDI_RECLAIMABLE =   384 KB\n[over_bground_thresh]: wakeup flush-8:16 : BDI_RECLAIMABLE =   960 KB\n[over_bground_thresh]: wakeup flush-8:16 : BDI_RECLAIMABLE =    64 KB\n[over_bground_thresh]: wakeup flush-8:0 : BDI_RECLAIMABLE = 92160 KB\n[over_bground_thresh]: wakeup flush-8:16 : BDI_RECLAIMABLE =   256 KB\n[over_bground_thresh]: wakeup flush-8:16 : BDI_RECLAIMABLE =   768 KB\n[over_bground_thresh]: wakeup flush-8:16 : BDI_RECLAIMABLE =    64 KB\n[over_bground_thresh]: wakeup flush-8:16 : BDI_RECLAIMABLE =   256 KB\n[over_bground_thresh]: wakeup flush-8:16 : BDI_RECLAIMABLE =   320 KB\n[over_bground_thresh]: wakeup flush-8:16 : BDI_RECLAIMABLE =     0 KB\n[over_bground_thresh]: wakeup flush-8:0 : BDI_RECLAIMABLE = 92032 KB\n[over_bground_thresh]: wakeup flush-8:0 : BDI_RECLAIMABLE = 91968 KB\n[over_bground_thresh]: wakeup flush-8:16 : BDI_RECLAIMABLE =   192 KB\n[over_bground_thresh]: wakeup flush-8:16 : BDI_RECLAIMABLE =  1024 KB\n[over_bground_thresh]: wakeup flush-8:16 : BDI_RECLAIMABLE =    64 KB\n[over_bground_thresh]: wakeup flush-8:16 : BDI_RECLAIMABLE =   192 KB\n[over_bground_thresh]: wakeup flush-8:16 : BDI_RECLAIMABLE =   576 KB\n[over_bground_thresh]: wakeup flush-8:16 : BDI_RECLAIMABLE =     0 KB\n[over_bground_thresh]: wakeup flush-8:0 : BDI_RECLAIMABLE = 84352 KB\n[over_bground_thresh]: wakeup flush-8:16 : BDI_RECLAIMABLE =   192 KB\n[over_bground_thresh]: wakeup flush-8:16 : BDI_RECLAIMABLE =   512 KB\n[over_bground_thresh]: wakeup flush-8:16 : BDI_RECLAIMABLE =     0 KB\n[over_bground_thresh]: wakeup flush-8:0 : BDI_RECLAIMABLE = 92608 KB\n[over_bground_thresh]: wakeup flush-8:0 : BDI_RECLAIMABLE = 92544 KB\n\nAs mentioned in above log, when global dirty memory > global background_thresh\nsmall cached data is also forced to flush by flush-8:16.\nIf removing global background_thresh checking code, we can reduce cache\nthrashing of frequently used small data.\nAnd It will be great if we can reserve a portion of writeback cache using\nmin_ratio.\n\nAfter applying patch:\n$ echo 5 > /sys/block/sdb/bdi/min_ratio\n$ cat /sys/block/sdb/bdi/min_ratio\n5\n[over_bground_thresh]: wakeup flush-8:0 : BDI_RECLAIMABLE =  56064 KB\n[over_bground_thresh]: wakeup flush-8:0 : BDI_RECLAIMABLE =  56704 KB\n[over_bground_thresh]: wakeup flush-8:0 : BDI_RECLAIMABLE =  84160 KB\n[over_bground_thresh]: wakeup flush-8:0 : BDI_RECLAIMABLE =  96960 KB\n[over_bground_thresh]: wakeup flush-8:0 : BDI_RECLAIMABLE =  94080 KB\n[over_bground_thresh]: wakeup flush-8:0 : BDI_RECLAIMABLE =  93120 KB\n[over_bground_thresh]: wakeup flush-8:0 : BDI_RECLAIMABLE =  93120 KB\n[over_bground_thresh]: wakeup flush-8:0 : BDI_RECLAIMABLE =  91520 KB\n[over_bground_thresh]: wakeup flush-8:0 : BDI_RECLAIMABLE =  89600 KB\n[over_bground_thresh]: wakeup flush-8:0 : BDI_RECLAIMABLE =  93696 KB\n[over_bground_thresh]: wakeup flush-8:0 : BDI_RECLAIMABLE =  93696 KB\n[over_bground_thresh]: wakeup flush-8:0 : BDI_RECLAIMABLE =  72960 KB\n[over_bground_thresh]: wakeup flush-8:0 : BDI_RECLAIMABLE =  90624 KB\n[over_bground_thresh]: wakeup flush-8:0 : BDI_RECLAIMABLE =  90624 KB\n[over_bground_thresh]: wakeup flush-8:0 : BDI_RECLAIMABLE =  90688 KB\n\nAs mentioned in the above logs, once cache is reserved for Process B,\nand patch is applied there is less writeback cache thrashing on sdb\nby frequent forced writeback by flush-8:16 in over_bground_thresh.\n\nAfter all, small cached data will be flushed by periodic writeback\nonce every dirty_writeback_interval.\n\nSuggested-by: Wanpeng Li <liwanp@linux.vnet.ibm.com>\nSigned-off-by: Namjae Jeon <namjae.jeon@samsung.com>\nSigned-off-by: Vivek Trivedi <t.vivek@samsung.com>\nSigned-off-by: Francisco Franco <franciscofranco.1990@gmail.com>","distinct":true,"url":"https://api.github.com/repos/B14CKB1RD-Kernel/B14CKB1RD_Kernel_N6/commits/ef1badcfbc12492be87fc9ff2616e3896d01e069"},{"sha":"386c89d2d63f5fc053afc738386800f501f0bdc6","author":{"email":"42480b5f4d505650064e5081b85d867a03559887@gmail.com","name":"Francisco Franco"},"message":"writeback: increase bdi_min_ratio to 5 in light of the latest writeback commit.\n\nSigned-off-by: Francisco Franco <franciscofranco.1990@gmail.com>","distinct":true,"url":"https://api.github.com/repos/B14CKB1RD-Kernel/B14CKB1RD_Kernel_N6/commits/386c89d2d63f5fc053afc738386800f501f0bdc6"},{"sha":"895dcaad17ecf1f79c043ff7851809d9af39ba4f","author":{"email":"596727c8a0ea4db3ba2ceceedccbacd3d7b371b8@suse.cz","name":"Jan Kara"},"message":"ext4: Speedup WB_SYNC_ALL pass called from sync(2)\n\nWhen doing filesystem wide sync, there's no need to force transaction\ncommit (or synchronously write inode buffer) separately for each inode\nbecause ext4_sync_fs() takes care of forcing commit at the end (VFS\ntakes care of flushing buffer cache, respectively). Most of the time\nthis slowness doesn't manifest because previous WB_SYNC_NONE writeback\ndoesn't leave much to write but when there are processes aggressively\ncreating new files and several filesystems to sync, the sync slowness\ncan be noticeable. In the following test script sync(1) takes around 6\nminutes when there are two ext4 filesystems mounted on a standard SATA\ndrive. After this patch sync takes a couple of seconds so we have about\ntwo orders of magnitude improvement.\n\n      function run_writers\n      {\n        for (( i = 0; i < 10; i++ )); do\n          mkdir $1/dir$i\n          for (( j = 0; j < 40000; j++ )); do\n            dd if=/dev/zero of=$1/dir$i/$j bs=4k count=4 &>/dev/null\n          done &\n        done\n      }\n\n      for dir in \"$@\"; do\n        run_writers $dir\n      done\n\n      sleep 40\n      time sync\n\nSigned-off-by: Jan Kara <jack@suse.cz>\nSigned-off-by: \"Theodore Ts'o\" <tytso@mit.edu>\nSigned-off-by: Chet Kener <Cl3Kener@gmail.com>\nSigned-off-by: flar2 <asegaert@gmail.com>","distinct":true,"url":"https://api.github.com/repos/B14CKB1RD-Kernel/B14CKB1RD_Kernel_N6/commits/895dcaad17ecf1f79c043ff7851809d9af39ba4f"},{"sha":"b5d1af6745e15cc82f5d90d95d263c99bd1fdb05","author":{"email":"27ffc44a8ec6a212fba98cfc3246c6ce8ab131e0@intel.com","name":"Rafael J. Wysocki"},"message":"PCI / PM: Resume runtime-suspended devices later during system suspend\n\nRuntime-suspended devices are resumed during system suspend by\npci_pm_prepare() for two reasons: First, because they may need\nto be reprogrammed in order to change their wakeup settings and,\nsecond, because they may need to be operatonal for their children\nto be successfully suspended.  That is a problem, though, if there\nare many runtime-suspended devices that need to be resumed this\nway during system suspend, because the .prepare() PM callbacks of\ndevices are executed sequentially and the times taken by them\naccumulate, which may increase the total system suspend time quite\na bit.\n\nFor this reason, move the resume of runtime-suspended devices up\nto the next phase of device suspend (during system suspend), except\nfor the ones that have power.ignore_children set.  The exception is\nmade, because the devices with power.ignore_children set may still\nbe necessary for their children to be successfully suspended (during\nsystem suspend) and they won't be resumed automatically as a result\nof the runtime resume of their children.\n\nSigned-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>\nAcked-by: Bjorn Helgaas <bhelgaas@google.com>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":true,"url":"https://api.github.com/repos/B14CKB1RD-Kernel/B14CKB1RD_Kernel_N6/commits/b5d1af6745e15cc82f5d90d95d263c99bd1fdb05"},{"sha":"c8aab90db7773412c90162f0933617554ba79fb8","author":{"email":"39ea6a09710987173e32e37c86918024a0f441c1@suse.de","name":"Mel Gorman"},"message":"mm: slub: Default slub_max_order to 0\n\nTo avoid locking and per-cpu overhead, SLUB optimisically uses\nhigh-order allocations up to order-3 by default and falls back to\nlower allocations if they fail. While care is taken that the caller\nand kswapd take no unusual steps in response to this, there are\nfurther consequences like shrinkers who have to free more objects to\nrelease any memory. There is anecdotal evidence that significant time\nis being spent looping in shrinkers with insufficient progress being\nmade (https://lkml.org/lkml/2011/4/28/361) and keeping kswapd awake.\n\nSLUB is now the default allocator and some bug reports have been\npinned down to SLUB using high orders during operations like\ncopying large amounts of data. SLUBs use of high-orders benefits\napplications that are sized to memory appropriately but this does not\nnecessarily apply to large file servers or desktops.  This patch\ncauses SLUB to use order-0 pages like SLAB does by default.\nThere is further evidence that this keeps kswapd's usage lower\n(https://lkml.org/lkml/2011/5/10/383).\n\nSigned-off-by: Mel Gorman <mgorman@suse.de>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":true,"url":"https://api.github.com/repos/B14CKB1RD-Kernel/B14CKB1RD_Kernel_N6/commits/c8aab90db7773412c90162f0933617554ba79fb8"},{"sha":"a457fdaff5a90b6488390dcb518f39228832187f","author":{"email":"80d5042ab220b9b7f8135930b3a092662230c31e@codeaurora.org","name":"Xiaoming Zhou"},"message":"msm: mdss: properly handle panel on and off\n\nThere is some condition that panel off will be called multiple times.\nIn this case, it was blindly free the gpios that were already released.\nThis is adding the check to handle this condition.\n\nChange-Id: I0140872be1255fe00ed5abd164a246fa57b2a245\nSigned-off-by: Xiaoming Zhou <zhoux@codeaurora.org>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":true,"url":"https://api.github.com/repos/B14CKB1RD-Kernel/B14CKB1RD_Kernel_N6/commits/a457fdaff5a90b6488390dcb518f39228832187f"},{"sha":"598dfc7756db61dea158386dff85ef4cfba2180d","author":{"email":"fd4ced81890aa2d1f9e39e2a0e1ab4d14c3d9652@codeaurora.org","name":"Katish Paran"},"message":"diag: Reduce error message frequency\n\nSome diag error messages are printed with high frequency. This\ncause flooding of kernel logs. Rate limiting these messages will\nhelp reading kernel logs.\n\nChange-Id: I477ff2394116603a27d65948a60d3460c32572d1\nCRs-fixed: 594186\nSigned-off-by: Katish Paran <kparan@codeaurora.org>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":true,"url":"https://api.github.com/repos/B14CKB1RD-Kernel/B14CKB1RD_Kernel_N6/commits/598dfc7756db61dea158386dff85ef4cfba2180d"},{"sha":"049f179c3dce282331513a6a18fd83593454fecd","author":{"email":"2e473c16998297376fa93aaaf19bfd6462656788@codeaurora.org","name":"Gaurav Gagrani"},"message":"msm: kgsl: enable CPU IRQ while suspending context\n\nMake sure that CPU interrupt is enabled before calling adreno\nsuspend_context when moving from NAP/SLEEP to SLUMBER state.\nWe send commands to GPU in adreno_drawctxt_switch() which will generate\nGPU interrupt. Since CPU interrupt is not enabled, adreno_idle() will\nfail because pending interrupt will not be served by CPU this causes\nfalse GPU hang.\n\nCRs-Fixed: 547813\n\nChange-Id: Ia4b730b8f8cda1e820f571ffb7ddb00336ca1a8c\nSigned-off-by: Gaurav Gagrani <ggagrani@codeaurora.org>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":true,"url":"https://api.github.com/repos/B14CKB1RD-Kernel/B14CKB1RD_Kernel_N6/commits/049f179c3dce282331513a6a18fd83593454fecd"},{"sha":"9320b2dfec21e32e48b2b67d2f5826bf9d1a49aa","author":{"email":"aa98b9df186b21df14a285278d9705dce2da1881@codeaurora.org","name":"Dilip Kota"},"message":"msm_serial_hs: Handle core interrupt irrespective of wakeup interrupt\n\nCore interrupt should be disabled or enabled during\nclock on/off sequence irrespective of wakeup interrupt.\n\nCRs-Fixed: 703047\nChange-Id: Ia4fd824f0cc0ff9f054e98d6a52ef3988f9e0254\nSigned-off-by: Dilip Kota <c_dkota@codeaurora.org>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":true,"url":"https://api.github.com/repos/B14CKB1RD-Kernel/B14CKB1RD_Kernel_N6/commits/9320b2dfec21e32e48b2b67d2f5826bf9d1a49aa"},{"sha":"a87a124806d23db27a35bd2678b366bccf0d3beb","author":{"email":"1a2f18c7887fc8d384193bb926e616097dea5b69@google.com","name":"JP Abgrall"},"message":"netfilter: IDLETIMER: fix invalid deference of timer\n\n\"timer\" was checked for null, but used later without being re-checked.\n\nChange-Id: Ib4d08cd49860c9f157d1cac556705ba85cd44f4e\nReported-by: dan.carpenter@oracle.com\nSigned-off-by: JP Abgrall <jpa@google.com>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":true,"url":"https://api.github.com/repos/B14CKB1RD-Kernel/B14CKB1RD_Kernel_N6/commits/a87a124806d23db27a35bd2678b366bccf0d3beb"}]}