From: Andrew Morton <akpm@linux-foundation.org> To: hughd@google.com, lists@colorremedies.com, mm-commits@vger.kernel.org, stable@vger.kernel.org, vbabka@suse.cz, willy@infradead.org Subject: [merged] mm-fix-swap-cache-node-allocation-mask.patch removed from -mm tree Date: Fri, 26 Jun 2020 20:33:31 -0700 [thread overview] Message-ID: <20200627033331.tzz9HkVuF%akpm@linux-foundation.org> (raw) In-Reply-To: <20200625202807.b630829d6fa55388148bee7d@linux-foundation.org> The patch titled Subject: mm: fix swap cache node allocation mask has been removed from the -mm tree. Its filename was mm-fix-swap-cache-node-allocation-mask.patch This patch was dropped because it was merged into mainline or a subsystem tree ------------------------------------------------------ From: Hugh Dickins <hughd@google.com> Subject: mm: fix swap cache node allocation mask https://bugzilla.kernel.org/show_bug.cgi?id=208085 reports that a slightly overcommitted load, testing swap and zram along with i915, splats and keeps on splatting, when it had better fail less noisily: gnome-shell: page allocation failure: order:0, mode:0x400d0(__GFP_IO|__GFP_FS|__GFP_COMP|__GFP_RECLAIMABLE), nodemask=(null),cpuset=/,mems_allowed=0 CPU: 2 PID: 1155 Comm: gnome-shell Not tainted 5.7.0-1.fc33.x86_64 #1 Call Trace: dump_stack+0x64/0x88 warn_alloc.cold+0x75/0xd9 __alloc_pages_slowpath.constprop.0+0xcfa/0xd30 __alloc_pages_nodemask+0x2df/0x320 alloc_slab_page+0x195/0x310 allocate_slab+0x3c5/0x440 ___slab_alloc+0x40c/0x5f0 __slab_alloc+0x1c/0x30 kmem_cache_alloc+0x20e/0x220 xas_nomem+0x28/0x70 add_to_swap_cache+0x321/0x400 __read_swap_cache_async+0x105/0x240 swap_cluster_readahead+0x22c/0x2e0 shmem_swapin+0x8e/0xc0 shmem_swapin_page+0x196/0x740 shmem_getpage_gfp+0x3a2/0xa60 shmem_read_mapping_page_gfp+0x32/0x60 shmem_get_pages+0x155/0x5e0 [i915] __i915_gem_object_get_pages+0x68/0xa0 [i915] i915_vma_pin+0x3fe/0x6c0 [i915] eb_add_vma+0x10b/0x2c0 [i915] i915_gem_do_execbuffer+0x704/0x3430 [i915] i915_gem_execbuffer2_ioctl+0x1ea/0x3e0 [i915] drm_ioctl_kernel+0x86/0xd0 [drm] drm_ioctl+0x206/0x390 [drm] ksys_ioctl+0x82/0xc0 __x64_sys_ioctl+0x16/0x20 do_syscall_64+0x5b/0xf0 entry_SYSCALL_64_after_hwframe+0x44/0xa9 Reported on 5.7, but it goes back really to 3.1: when shmem_read_mapping_page_gfp() was implemented for use by i915, and allowed for __GFP_NORETRY and __GFP_NOWARN flags in most places, but missed swapin's "& GFP_KERNEL" mask for page tree node allocation in __read_swap_cache_async() - that was to mask off HIGHUSER_MOVABLE bits from what page cache uses, but GFP_RECLAIM_MASK is now what's needed. Link: http://lkml.kernel.org/r/alpine.LSU.2.11.2006151330070.11064@eggly.anvils Fixes: 68da9f055755 ("tmpfs: pass gfp to shmem_getpage_gfp") Signed-off-by: Hugh Dickins <hughd@google.com> Reviewed-by: Vlastimil Babka <vbabka@suse.cz> Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org> Reported-by: Chris Murphy <lists@colorremedies.com> Analyzed-by: Vlastimil Babka <vbabka@suse.cz> Analyzed-by: Matthew Wilcox <willy@infradead.org> Tested-by: Chris Murphy <lists@colorremedies.com> Cc: <stable@vger.kernel.org> [3.1+] Signed-off-by: Andrew Morton <akpm@linux-foundation.org> --- mm/swap_state.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/mm/swap_state.c~mm-fix-swap-cache-node-allocation-mask +++ a/mm/swap_state.c @@ -21,7 +21,7 @@ #include <linux/vmalloc.h> #include <linux/swap_slots.h> #include <linux/huge_mm.h>
WARNING: multiple messages have this Message-ID (diff)
From: Andrew Morton <akpm@linux-foundation.org> To: hughd@google.com, lists@colorremedies.com, mm-commits@vger.kernel.org, stable@vger.kernel.org, vbabka@suse.cz, willy@infradead.org Subject: [merged] mm-fix-swap-cache-node-allocation-mask.patch removed from -mm tree Date: Fri, 26 Jun 2020 20:33:31 -0700 [thread overview] Message-ID: <20200627033331.tzz9HkVuF%akpm@linux-foundation.org> (raw) In-Reply-To: <20200625202807.b630829d6fa55388148bee7d@linux-foundation.org> The patch titled Subject: mm: fix swap cache node allocation mask has been removed from the -mm tree. Its filename was mm-fix-swap-cache-node-allocation-mask.patch This patch was dropped because it was merged into mainline or a subsystem tree ------------------------------------------------------ From: Hugh Dickins <hughd@google.com> Subject: mm: fix swap cache node allocation mask https://bugzilla.kernel.org/show_bug.cgi?id=208085 reports that a slightly overcommitted load, testing swap and zram along with i915, splats and keeps on splatting, when it had better fail less noisily: gnome-shell: page allocation failure: order:0, mode:0x400d0(__GFP_IO|__GFP_FS|__GFP_COMP|__GFP_RECLAIMABLE), nodemask=(null),cpuset=/,mems_allowed=0 CPU: 2 PID: 1155 Comm: gnome-shell Not tainted 5.7.0-1.fc33.x86_64 #1 Call Trace: dump_stack+0x64/0x88 warn_alloc.cold+0x75/0xd9 __alloc_pages_slowpath.constprop.0+0xcfa/0xd30 __alloc_pages_nodemask+0x2df/0x320 alloc_slab_page+0x195/0x310 allocate_slab+0x3c5/0x440 ___slab_alloc+0x40c/0x5f0 __slab_alloc+0x1c/0x30 kmem_cache_alloc+0x20e/0x220 xas_nomem+0x28/0x70 add_to_swap_cache+0x321/0x400 __read_swap_cache_async+0x105/0x240 swap_cluster_readahead+0x22c/0x2e0 shmem_swapin+0x8e/0xc0 shmem_swapin_page+0x196/0x740 shmem_getpage_gfp+0x3a2/0xa60 shmem_read_mapping_page_gfp+0x32/0x60 shmem_get_pages+0x155/0x5e0 [i915] __i915_gem_object_get_pages+0x68/0xa0 [i915] i915_vma_pin+0x3fe/0x6c0 [i915] eb_add_vma+0x10b/0x2c0 [i915] i915_gem_do_execbuffer+0x704/0x3430 [i915] i915_gem_execbuffer2_ioctl+0x1ea/0x3e0 [i915] drm_ioctl_kernel+0x86/0xd0 [drm] drm_ioctl+0x206/0x390 [drm] ksys_ioctl+0x82/0xc0 __x64_sys_ioctl+0x16/0x20 do_syscall_64+0x5b/0xf0 entry_SYSCALL_64_after_hwframe+0x44/0xa9 Reported on 5.7, but it goes back really to 3.1: when shmem_read_mapping_page_gfp() was implemented for use by i915, and allowed for __GFP_NORETRY and __GFP_NOWARN flags in most places, but missed swapin's "& GFP_KERNEL" mask for page tree node allocation in __read_swap_cache_async() - that was to mask off HIGHUSER_MOVABLE bits from what page cache uses, but GFP_RECLAIM_MASK is now what's needed. Link: http://lkml.kernel.org/r/alpine.LSU.2.11.2006151330070.11064@eggly.anvils Fixes: 68da9f055755 ("tmpfs: pass gfp to shmem_getpage_gfp") Signed-off-by: Hugh Dickins <hughd@google.com> Reviewed-by: Vlastimil Babka <vbabka@suse.cz> Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org> Reported-by: Chris Murphy <lists@colorremedies.com> Analyzed-by: Vlastimil Babka <vbabka@suse.cz> Analyzed-by: Matthew Wilcox <willy@infradead.org> Tested-by: Chris Murphy <lists@colorremedies.com> Cc: <stable@vger.kernel.org> [3.1+] Signed-off-by: Andrew Morton <akpm@linux-foundation.org> --- mm/swap_state.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/mm/swap_state.c~mm-fix-swap-cache-node-allocation-mask +++ a/mm/swap_state.c @@ -21,7 +21,7 @@ #include <linux/vmalloc.h> #include <linux/swap_slots.h> #include <linux/huge_mm.h> - +#include "internal.h" /* * swapper_space is a fiction, retained to simplify the path through @@ -429,7 +429,7 @@ struct page *__read_swap_cache_async(swp __SetPageSwapBacked(page); /* May fail (-ENOMEM) if XArray node allocation failed. */ - if (add_to_swap_cache(page, entry, gfp_mask & GFP_KERNEL)) { + if (add_to_swap_cache(page, entry, gfp_mask & GFP_RECLAIM_MASK)) { put_swap_page(page, entry); goto fail_unlock; } _ Patches currently in -mm which might be from hughd@google.com are mm-vmstat-add-events-for-pmd-based-thp-migration-without-split-fix.patch
next prev parent reply other threads:[~2020-06-27 3:33 UTC|newest] Thread overview: 84+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-06-26 3:28 incoming Andrew Morton 2020-06-26 3:29 ` [patch 01/32] openrisc: fix boot oops when DEBUG_VM is enabled Andrew Morton 2020-06-26 3:29 ` [patch 02/32] mm: do_swap_page(): fix up the error code Andrew Morton 2020-06-26 3:29 ` [patch 03/32] mm, compaction: make capture control handling safe wrt interrupts Andrew Morton 2020-06-26 3:29 ` [patch 04/32] kexec: do not verify the signature without the lockdown or mandatory signature Andrew Morton 2020-06-26 3:29 ` [patch 05/32] ocfs2: avoid inode removal while nfsd is accessing it Andrew Morton 2020-06-26 3:29 ` [patch 06/32] ocfs2: load global_inode_alloc Andrew Morton 2020-06-26 3:29 ` [patch 07/32] ocfs2: fix panic on nfs server over ocfs2 Andrew Morton 2020-06-26 3:29 ` [patch 08/32] ocfs2: fix value of OCFS2_INVALID_SLOT Andrew Morton 2020-06-26 3:29 ` [patch 09/32] lib: fix test_hmm.c reference after free Andrew Morton 2020-06-26 3:29 ` [patch 10/32] linux/bits.h: fix unsigned less than zero warnings Andrew Morton [not found] ` <CAHk-=wiZrhVUq3N17=GVzMQNQUKi65x=-djTM2A+fz8UdQxgEg@mail.gmail.com> [not found] ` <CADRDgG6SXwngT5gS2EY1Y0xnPdYth-FicQyTnPyqiwpmw52eQg@mail.gmail.com> 2020-06-26 13:23 ` Andy Shevchenko 2020-06-26 14:03 ` Arnd Bergmann 2020-06-26 14:09 ` Andy Shevchenko 2020-06-26 14:43 ` Arnd Bergmann 2020-06-26 15:21 ` Kees Cook 2020-06-27 22:01 ` Linus Torvalds 2020-07-08 19:07 ` [PATCH] kbuild: Move -Wtype-limits to W=2 Rikard Falkeborn 2020-07-08 20:00 ` Andy Shevchenko 2020-06-26 3:29 ` [patch 11/32] mm, slab: fix sign conversion problem in memcg_uncharge_slab() Andrew Morton 2020-06-26 3:29 ` Andrew Morton 2020-06-26 3:29 ` [patch 12/32] mm/slab: use memzero_explicit() in kzfree() Andrew Morton 2020-06-26 3:29 ` [patch 13/32] slub: cure list_slab_objects() from double fix Andrew Morton 2020-06-26 3:29 ` [patch 14/32] mm: fix swap cache node allocation mask Andrew Morton 2020-06-26 3:29 ` Andrew Morton 2020-06-26 3:30 ` [patch 15/32] mm/memory.c: properly pte_offset_map_lock/unlock in vm_insert_pages() Andrew Morton 2020-06-26 3:30 ` [patch 16/32] mm/debug_vm_pgtable: fix build failure with powerpc 8xx Andrew Morton 2020-06-26 3:30 ` [patch 17/32] make asm-generic/cacheflush.h more standalone Andrew Morton 2020-06-26 3:30 ` [patch 18/32] media: omap3isp: remove cacheflush.h Andrew Morton 2020-06-26 3:30 ` [patch 19/32] mm/vmalloc.c: fix a warning while make xmldocs Andrew Morton 2020-06-26 3:30 ` [patch 20/32] mm: memcontrol: handle div0 crash race condition in memory.low Andrew Morton 2020-06-26 3:30 ` Andrew Morton 2020-06-26 3:30 ` [patch 21/32] mm/memcontrol.c: add missed css_put() Andrew Morton 2020-06-26 3:30 ` [patch 22/32] mm/memcontrol.c: prevent missed memory.low load tears Andrew Morton 2020-06-26 3:30 ` [patch 23/32] docs: mm/gup: minor documentation update Andrew Morton 2020-06-26 3:30 ` [patch 24/32] doc: THP CoW fault no longer allocate THP Andrew Morton 2020-06-26 3:30 ` [patch 25/32] mm: workingset: age nonresident information alongside anonymous pages Andrew Morton 2020-06-26 3:30 ` [patch 26/32] mm/swap: fix for "mm: workingset: age nonresident information alongside anonymous pages" Andrew Morton 2020-06-26 3:30 ` [patch 27/32] mm/memory: fix IO cost for anonymous page Andrew Morton 2020-06-26 3:30 ` [patch 28/32] x86/hyperv: allocate the hypercall page with only read and execute bits Andrew Morton 2020-06-26 3:30 ` [patch 29/32] arm64: use PAGE_KERNEL_ROX directly in alloc_insn_page Andrew Morton 2020-06-26 3:30 ` [patch 30/32] mm: remove vmalloc_exec Andrew Morton 2020-06-26 3:30 ` [patch 31/32] mm/memory_hotplug.c: fix false softlockup during pfn range removal Andrew Morton 2020-06-26 3:30 ` [patch 32/32] MAINTAINERS: update info for sparse Andrew Morton 2020-06-26 6:51 ` incoming Linus Torvalds 2020-06-26 7:31 ` incoming Linus Torvalds 2020-06-26 17:39 ` incoming Konstantin Ryabitsev 2020-06-26 17:40 ` incoming Konstantin Ryabitsev 2020-06-27 3:32 ` + linux-next-git-rejects.patch added to -mm tree Andrew Morton 2020-06-27 3:32 ` [merged] dma-remap-align-the-size-in-dma_common__remap.patch removed from " Andrew Morton 2020-06-27 3:32 ` [merged] openrisc-fix-boot-oops-when-debug_vm-is-enabled.patch " Andrew Morton 2020-06-27 3:33 ` [merged] mm-do_swap_page-fix-up-the-error-code-instantiation.patch " Andrew Morton 2020-06-27 3:33 ` [merged] mm-compaction-make-capture-control-handling-safe-wrt-interrupts.patch " Andrew Morton 2020-06-27 3:33 ` [merged] kexec-do-not-verify-the-signature-without-the-lockdown-or-mandatory-signature.patch " Andrew Morton 2020-06-27 3:33 ` [merged] ocfs2-avoid-inode-removed-while-nfsd-access-it.patch " Andrew Morton 2020-06-27 3:33 ` [merged] ocfs2-load-global_inode_alloc.patch " Andrew Morton 2020-06-27 3:33 ` [merged] ocfs2-fix-panic-on-nfs-server-over-ocfs2.patch " Andrew Morton 2020-06-27 3:33 ` Andrew Morton 2020-06-27 3:33 ` [merged] ocfs2-fix-value-of-ocfs2_invalid_slot.patch " Andrew Morton 2020-06-27 3:33 ` [merged] lib-fix-test_hmmc-reference-after-free.patch " Andrew Morton 2020-06-27 3:33 ` [merged] mm-slab-fix-sign-conversion-problem-in-memcg_uncharge_slab.patch " Andrew Morton 2020-06-27 3:33 ` [merged] mm-slab-use-memzero_explicit-in-kzfree.patch " Andrew Morton 2020-06-27 3:33 ` [merged] slub-cure-list_slab_objects-from-double-fix.patch " Andrew Morton 2020-06-27 3:33 ` Andrew Morton [this message] 2020-06-27 3:33 ` [merged] mm-fix-swap-cache-node-allocation-mask.patch " Andrew Morton 2020-06-27 3:33 ` [merged] mm-memoryc-properly-pte_offset_map_lock-unlock-in-vm_insert_pages.patch " Andrew Morton 2020-06-27 3:33 ` [merged] mm-debug_vm_pgtable-fix-build-failure-with-powerpc-8xx.patch " Andrew Morton 2020-06-27 3:33 ` [merged] make-asm-generic-cacheflushh-more-standalone.patch " Andrew Morton 2020-06-27 3:33 ` [merged] media-omap3isp-remove-cacheflushh.patch " Andrew Morton 2020-06-27 3:33 ` [merged] mm-fix-a-warning-while-make-xmldocs.patch " Andrew Morton 2020-06-27 3:33 ` [merged] mm-memcontrol-handle-div0-crash-race-condition-in-memorylow.patch " Andrew Morton 2020-06-27 3:33 ` Andrew Morton 2020-06-27 3:33 ` [merged] mm-memcontrol-fix-do-not-put-the-css-reference.patch " Andrew Morton 2020-06-27 3:33 ` [merged] mm-memcg-prevent-missed-memorylow-load-tears.patch " Andrew Morton 2020-06-27 3:33 ` [merged] docs-mm-gup-minor-documentation-update.patch " Andrew Morton 2020-06-27 3:33 ` [merged] doc-thp-cow-fault-no-longer-allocate-thp.patch " Andrew Morton 2020-06-27 3:33 ` [merged] mm-workingset-age-nonresident-information-alongside-anonymous-pages.patch " Andrew Morton 2020-06-27 3:34 ` [merged] mm-swap-fix-for-mm-workingset-age-nonresident-information-alongside-anonymous-pages.patch " Andrew Morton 2020-06-27 3:34 ` [merged] mm-memory-fix-io-cost-for-anonymous-page.patch " Andrew Morton 2020-06-27 3:34 ` [merged] x86-hyperv-allocate-the-hypercall-page-with-only-read-and-execute-bits.patch " Andrew Morton 2020-06-27 3:34 ` [merged] arm64-use-page_kernel_rox-directly-in-alloc_insn_page.patch " Andrew Morton 2020-06-27 3:34 ` [merged] mm-remove-vmalloc_exec.patch " Andrew Morton 2020-06-27 3:34 ` [merged] mm-fix-false-softlockup-during-pfn-range-removal.patch " Andrew Morton 2020-06-27 3:34 ` [merged] maintainers-update-info-for-sparse.patch " Andrew Morton
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200627033331.tzz9HkVuF%akpm@linux-foundation.org \ --to=akpm@linux-foundation.org \ --cc=hughd@google.com \ --cc=linux-kernel@vger.kernel.org \ --cc=lists@colorremedies.com \ --cc=mm-commits@vger.kernel.org \ --cc=stable@vger.kernel.org \ --cc=vbabka@suse.cz \ --cc=willy@infradead.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.