{"push_id":544397303,"size":5,"distinct_size":0,"ref":"refs/heads/lp","head":"4d0287fc5e943e4936b93dad18a97c694bea2716","before":"80996e8f3c3afe748f90fc3393b669f42094dd5d","commits":[{"sha":"da668118f09a2160bb20933a0d7dacd533be9a1d","author":{"email":"66d3c5fdaeea7ff1f996ad04f2c45e08ab38e2f5@gmail.com","name":"Ard Biesheuvel"},"message":"ARM: 7723/1: crypto: sha1-armv4-large.S: fix SP handling\n\nMake the SHA1 asm code ABI conformant by making sure all stack\naccesses occur above the stack pointer.\n\nOrigin:\nhttp://git.openssl.org/gitweb/?p=openssl.git;a=commit;h=1a9d60d2\n\nSigned-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>\nAcked-by: Nicolas Pitre <nico@linaro.org>\nCc: stable@vger.kernel.org\nSigned-off-by: Russell King <rmk+kernel@arm.linux.org.uk>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":false,"url":"https://api.github.com/repos/Yuskey1989/Nexus_5/commits/da668118f09a2160bb20933a0d7dacd533be9a1d"},{"sha":"b92a41f44b0a4ddde5f082732bb92c0fe56dc6ae","author":{"email":"68ee766e574f18b34b683085865827393efe88bd@huawei.com","name":"Jiang Liu"},"message":"memory hotplug: fix invalid memory access caused by stale kswapd pointer\n\nkswapd_stop() is called to destroy the kswapd work thread when all memory\nof a NUMA node has been offlined.  But kswapd_stop() only terminates the\nwork thread without resetting NODE_DATA(nid)->kswapd to NULL.  The stale\npointer will prevent kswapd_run() from creating a new work thread when\nadding memory to the memory-less NUMA node again.  Eventually the stale\npointer may cause invalid memory access.\n\nAn example stack dump as below. It's reproduced with 2.6.32, but latest\nkernel has the same issue.\n\n  BUG: unable to handle kernel NULL pointer dereference at (null)\n  IP: [<ffffffff81051a94>] exit_creds+0x12/0x78\n  PGD 0\n  Oops: 0000 [#1] SMP\n  last sysfs file: /sys/devices/system/memory/memory391/state\n  CPU 11\n  Modules linked in: cpufreq_conservative cpufreq_userspace cpufreq_powersave acpi_cpufreq microcode fuse loop dm_mod tpm_tis rtc_cmos i2c_i801 rtc_core tpm serio_raw pcspkr sg tpm_bios igb i2c_core iTCO_wdt rtc_lib mptctl iTCO_vendor_support button dca bnx2 usbhid hid uhci_hcd ehci_hcd usbcore sd_mod crc_t10dif edd ext3 mbcache jbd fan ide_pci_generic ide_core ata_generic ata_piix libata thermal processor thermal_sys hwmon mptsas mptscsih mptbase scsi_transport_sas scsi_mod\n  Pid: 7949, comm: sh Not tainted 2.6.32.12-qiuxishi-5-default #92 Tecal RH2285\n  RIP: 0010:exit_creds+0x12/0x78\n  RSP: 0018:ffff8806044f1d78  EFLAGS: 00010202\n  RAX: 0000000000000000 RBX: ffff880604f22140 RCX: 0000000000019502\n  RDX: 0000000000000000 RSI: 0000000000000202 RDI: 0000000000000000\n  RBP: ffff880604f22150 R08: 0000000000000000 R09: ffffffff81a4dc10\n  R10: 00000000000032a0 R11: ffff880006202500 R12: 0000000000000000\n  R13: 0000000000c40000 R14: 0000000000008000 R15: 0000000000000001\n  FS:  00007fbc03d066f0(0000) GS:ffff8800282e0000(0000) knlGS:0000000000000000\n  CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\n  CR2: 0000000000000000 CR3: 000000060f029000 CR4: 00000000000006e0\n  DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n  DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n  Process sh (pid: 7949, threadinfo ffff8806044f0000, task ffff880603d7c600)\n  Stack:\n   ffff880604f22140 ffffffff8103aac5 ffff880604f22140 ffffffff8104d21e\n   ffff880006202500 0000000000008000 0000000000c38000 ffffffff810bd5b1\n   0000000000000000 ffff880603d7c600 00000000ffffdd29 0000000000000003\n  Call Trace:\n    __put_task_struct+0x5d/0x97\n    kthread_stop+0x50/0x58\n    offline_pages+0x324/0x3da\n    memory_block_change_state+0x179/0x1db\n    store_mem_state+0x9e/0xbb\n    sysfs_write_file+0xd0/0x107\n    vfs_write+0xad/0x169\n    sys_write+0x45/0x6e\n    system_call_fastpath+0x16/0x1b\n  Code: ff 4d 00 0f 94 c0 84 c0 74 08 48 89 ef e8 1f fd ff ff 5b 5d 31 c0 41 5c c3 53 48 8b 87 20 06 00 00 48 89 fb 48 8b bf 18 06 00 00 <8b> 00 48 c7 83 18 06 00 00 00 00 00 00 f0 ff 0f 0f 94 c0 84 c0\n  RIP  exit_creds+0x12/0x78\n   RSP <ffff8806044f1d78>\n  CR2: 0000000000000000\n\n[akpm@linux-foundation.org: add pglist_data.kswapd locking comments]\nSigned-off-by: Xishi Qiu <qiuxishi@huawei.com>\nSigned-off-by: Jiang Liu <jiang.liu@huawei.com>\nAcked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>\nAcked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>\nAcked-by: Mel Gorman <mgorman@suse.de>\nAcked-by: David Rientjes <rientjes@google.com>\nReviewed-by: Minchan Kim <minchan@kernel.org>\nCc: <stable@vger.kernel.org>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\n\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":false,"url":"https://api.github.com/repos/Yuskey1989/Nexus_5/commits/b92a41f44b0a4ddde5f082732bb92c0fe56dc6ae"},{"sha":"34beb10e2b2a8636feb15ce6407989e8d4f0d984","author":{"email":"b4c8d1a4f20fa671e38de00938c52a6a8ed850d5@hds.com","name":"Satoru Moriya"},"message":"mm: avoid swapping out with swappiness==0\n\nSometimes we'd like to avoid swapping out anonymous memory.  In\nparticular, avoid swapping out pages of important process or process\ngroups while there is a reasonable amount of pagecache on RAM so that we\ncan satisfy our customers' requirements.\n\nOTOH, we can control how aggressive the kernel will swap memory pages with\n/proc/sys/vm/swappiness for global and\n/sys/fs/cgroup/memory/memory.swappiness for each memcg.\n\nBut with current reclaim implementation, the kernel may swap out even if\nwe set swappiness=0 and there is pagecache in RAM.\n\nThis patch changes the behavior with swappiness==0.  If we set\nswappiness==0, the kernel does not swap out completely (for global reclaim\nuntil the amount of free pages and filebacked pages in a zone has been\nreduced to something very very small (nr_free + nr_filebacked < high\nwatermark)).\n\nSigned-off-by: Satoru Moriya <satoru.moriya@hds.com>\nAcked-by: Minchan Kim <minchan@kernel.org>\nReviewed-by: Rik van Riel <riel@redhat.com>\nAcked-by: Jerome Marchand <jmarchan@redhat.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":false,"url":"https://api.github.com/repos/Yuskey1989/Nexus_5/commits/34beb10e2b2a8636feb15ce6407989e8d4f0d984"},{"sha":"0fc43b7790f05a12beffbc9344ffd34f9a061f1c","author":{"email":"829500b200af6c2a0eca4dfd5c388e6b8fbe8dc6@suse.cz","name":"Michal Hocko"},"message":"mm: consider all swapped back pages in used-once logic\n\nCommit 645747462435 (\"vmscan: detect mapped file pages used only once\")\nmade mapped pages have another round in inactive list because they might\nbe just short lived and so we could consider them again next time.  This\nheuristic helps to reduce pressure on the active list with a streaming\nIO worklods.\n\nThis patch fixes a regression introduced by this commit for heavy shmem\nbased workloads because unlike Anon pages, which are excluded from this\nheuristic because they are usually long lived, shmem pages are handled\nas a regular page cache.\n\nThis doesn't work quite well, unfortunately, if the workload is mostly\nbacked by shmem (in memory database sitting on 80% of memory) with a\nstreaming IO in the background (backup - up to 20% of memory).  Anon\ninactive list is full of (dirty) shmem pages when watermarks are hit.\nShmem pages are kept in the inactive list (they are referenced) in the\nfirst round and it is hard to reclaim anything else so we reach lower\nscanning priorities very quickly which leads to an excessive swap out.\n\nLet's fix this by excluding all swap backed pages (they tend to be long\nlived wrt.  the regular page cache anyway) from used-once heuristic and\nrather activate them if they are referenced.\n\nThe customer's workload is shmem backed database (80% of RAM) and they\nare measuring transactions/s with an IO in the background (20%).\nTransactions touch more or less random rows in the table.  The\ntransaction rate fell by a factor of 3 (in the worst case) because of\ncommit 64574746.  This patch restores the previous numbers.\n\nSigned-off-by: Michal Hocko <mhocko@suse.cz>\nAcked-by: Johannes Weiner <hannes@cmpxchg.org>\nCc: Mel Gorman <mel@csn.ul.ie>\nCc: Minchan Kim <minchan@kernel.org>\nCc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>\nReviewed-by: Rik van Riel <riel@redhat.com>\nCc: <stable@vger.kernel.org>\t[2.6.34+]\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":false,"url":"https://api.github.com/repos/Yuskey1989/Nexus_5/commits/0fc43b7790f05a12beffbc9344ffd34f9a061f1c"},{"sha":"4d0287fc5e943e4936b93dad18a97c694bea2716","author":{"email":"10de85239c567bd71bdb3c2406bb233b4937dc8b@gmail.com","name":"Aaditya Kumar"},"message":"mm: fix lost kswapd wakeup in kswapd_stop()\n\nOfflining memory may block forever, waiting for kswapd() to wake up\nbecause kswapd() does not check the event kthread->should_stop before\nsleeping.\n\nThe proper pattern, from Documentation/memory-barriers.txt, is:\n\n   ---  waker  ---\n   event_indicated = 1;\n   wake_up_process(event_daemon);\n\n   ---  sleeper  ---\n   for (;;) {\n      set_current_state(TASK_UNINTERRUPTIBLE);\n      if (event_indicated)\n         break;\n      schedule();\n   }\n\n   set_current_state() may be wrapped by:\n      prepare_to_wait();\n\nIn the kswapd() case, event_indicated is kthread->should_stop.\n\n  === offlining memory (waker) ===\n   kswapd_stop()\n      kthread_stop()\n         kthread->should_stop = 1\n         wake_up_process()\n         wait_for_completion()\n\n  ===  kswapd_try_to_sleep (sleeper) ===\n   kswapd_try_to_sleep()\n      prepare_to_wait()\n           .\n           .\n      schedule()\n           .\n           .\n      finish_wait()\n\nThe schedule() needs to be protected by a test of kthread->should_stop,\nwhich is wrapped by kthread_should_stop().\n\nReproducer:\n   Do heavy file I/O in background.\n   Do a memory offline/online in a tight loop\n\nSigned-off-by: Aaditya Kumar <aaditya.kumar@ap.sony.com>\nAcked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>\nReviewed-by: Minchan Kim <minchan@kernel.org>\nAcked-by: Mel Gorman <mel@csn.ul.ie>\nCc: <stable@vger.kernel.org>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":false,"url":"https://api.github.com/repos/Yuskey1989/Nexus_5/commits/4d0287fc5e943e4936b93dad18a97c694bea2716"}]}