Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp797166ybz; Wed, 22 Apr 2020 08:10:37 -0700 (PDT) X-Google-Smtp-Source: APiQypIKiulI7TOPyQ2B6rfngWIVXpH3eB90sxnbTdwf1wSqgZS67OC0B8KfAyv5ZfDe7ADP7hFe X-Received: by 2002:a50:d981:: with SMTP id w1mr23177385edj.275.1587568237659; Wed, 22 Apr 2020 08:10:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587568237; cv=none; d=google.com; s=arc-20160816; b=K5pG7dEpZ52gKlPiJMRe+CBetaz71Eo+uAUYKLKh4qDhGYLBX/4vXFkLUNR1qNHbsc QWl/2HFnJXO3NqHIAclxzByQi0VjDrk/dqO3YclTaWre/qIZNcF45Ozs3hN3EhAcv/GQ nnwoWZk4HfavxuGQMcmah7MWBTXQuo5758DG13dW26fN5fzNrObyX82xXq3SXATwhENi y2HOVfnconY3Unf6l7Rkw+nMl2kwWyfoqMJ551lI8LFE3jdTlF45F3PRwjx9BkpKKt6K wp7xbTjdp2XCWiVOMjf6/saAyKaoONVjVq1+ckt3jJ4E/UJROTrLXhFW4Rh3KRD2dpT1 7LjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=/i6a6i+WJpqtCuwKhrV4w46Pq591yyfufq5HvZAq5PE=; b=vMoPalBx6fNutBa9bZR2ApItY/nls0D/7R54MZrTQKFEPP4B3EuvILHSt02nO82cL2 vdLD2ENaePMpFtw9DhqITOZnB3TOO9FmYK7z3dCybzjbu1eiNYWfXdQrteRpauO5ueIN MGr2liRwBnMEJC0r/qto6yhWiJtPuGH4y4sXNUrGZUzrUuuIgO6uDtHyLkr8ggouRtXS rMoek3Za4cnBwnUUMaAJEaDRpScwNm3QZ3z765at8tNFDyWYiIcZQUcpkriTbpaLQu/T p4okSnQ9l6Cr4qsaw7C80yA2874t7hmuGXXxzU7Kc2oK7NAyGNU+gRGAEV8lahaXwchZ CcaQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id q18si3501696edw.260.2020.04.22.08.09.51; Wed, 22 Apr 2020 08:10:37 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728232AbgDVPDQ (ORCPT + 99 others); Wed, 22 Apr 2020 11:03:16 -0400 Received: from mx2.suse.de ([195.135.220.15]:58098 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728116AbgDVPDI (ORCPT ); Wed, 22 Apr 2020 11:03:08 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 884A9AE6E; Wed, 22 Apr 2020 15:03:03 +0000 (UTC) Received: by quack2.suse.cz (Postfix, from userid 1000) id 8DA181E0E56; Wed, 22 Apr 2020 17:03:03 +0200 (CEST) From: Jan Kara To: Matthew Wilcox Cc: , LKML , Jan Kara Subject: [PATCH 13/23] mm: Use xas_store_noinit() when storing non-NULL Date: Wed, 22 Apr 2020 17:02:46 +0200 Message-Id: <20200422150256.23473-14-jack@suse.cz> X-Mailer: git-send-email 2.16.4 In-Reply-To: <20200422150256.23473-1-jack@suse.cz> References: <20200422150256.23473-1-jack@suse.cz> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When we store value different from NULL, xas_store_noinit() is equivalent to xas_store(). Transition these places to xas_store_noinit(). Signed-off-by: Jan Kara --- mm/filemap.c | 6 +++--- mm/khugepaged.c | 6 +++--- mm/migrate.c | 6 +++--- mm/shmem.c | 4 ++-- mm/swap_state.c | 2 +- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/mm/filemap.c b/mm/filemap.c index 48c488b505ad..4fb515d8c242 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -134,7 +134,7 @@ static void page_cache_delete(struct address_space *mapping, VM_BUG_ON_PAGE(PageTail(page), page); VM_BUG_ON_PAGE(nr != 1 && shadow, page); - xas_store(&xas, shadow); + xas_store_noinit(&xas, shadow); xas_init_marks(&xas); page->mapping = NULL; @@ -803,7 +803,7 @@ int replace_page_cache_page(struct page *old, struct page *new, gfp_t gfp_mask) new->index = offset; xas_lock_irqsave(&xas, flags); - xas_store(&xas, new); + xas_store_noinit(&xas, new); old->mapping = NULL; /* hugetlb pages do not participate in page cache accounting. */ @@ -856,7 +856,7 @@ static int __add_to_page_cache_locked(struct page *page, old = xas_load(&xas); if (old && !xa_is_value(old)) xas_set_err(&xas, -EEXIST); - xas_store(&xas, page); + xas_store_noinit(&xas, page); if (xas_error(&xas)) goto unlock; diff --git a/mm/khugepaged.c b/mm/khugepaged.c index 8da820c02de7..79e5f0d12517 100644 --- a/mm/khugepaged.c +++ b/mm/khugepaged.c @@ -1588,7 +1588,7 @@ static void collapse_file(struct mm_struct *mm, result = SCAN_FAIL; goto xa_locked; } - xas_store(&xas, new_page); + xas_store_noinit(&xas, new_page); nr_none++; continue; } @@ -1724,7 +1724,7 @@ static void collapse_file(struct mm_struct *mm, list_add_tail(&page->lru, &pagelist); /* Finally, replace with the new page. */ - xas_store(&xas, new_page); + xas_store_noinit(&xas, new_page); continue; out_unlock: unlock_page(page); @@ -1828,7 +1828,7 @@ static void collapse_file(struct mm_struct *mm, /* Unfreeze the page. */ list_del(&page->lru); page_ref_unfreeze(page, 2); - xas_store(&xas, page); + xas_store_noinit(&xas, page); xas_pause(&xas); xas_unlock_irq(&xas); unlock_page(page); diff --git a/mm/migrate.c b/mm/migrate.c index 7160c1556f79..1610b7336af8 100644 --- a/mm/migrate.c +++ b/mm/migrate.c @@ -459,13 +459,13 @@ int migrate_page_move_mapping(struct address_space *mapping, SetPageDirty(newpage); } - xas_store(&xas, newpage); + xas_store_noinit(&xas, newpage); if (PageTransHuge(page)) { int i; for (i = 1; i < HPAGE_PMD_NR; i++) { xas_next(&xas); - xas_store(&xas, newpage); + xas_store_noinit(&xas, newpage); } } @@ -536,7 +536,7 @@ int migrate_huge_page_move_mapping(struct address_space *mapping, get_page(newpage); - xas_store(&xas, newpage); + xas_store_noinit(&xas, newpage); page_ref_unfreeze(page, expected_count - 1); diff --git a/mm/shmem.c b/mm/shmem.c index bd8840082c94..35a4abd9b417 100644 --- a/mm/shmem.c +++ b/mm/shmem.c @@ -361,7 +361,7 @@ static int shmem_replace_entry(struct address_space *mapping, item = xas_load(&xas); if (item != expected) return -ENOENT; - xas_store(&xas, replacement); + xas_store_noinit(&xas, replacement); return 0; } @@ -631,7 +631,7 @@ static int shmem_add_to_page_cache(struct page *page, if (xas_error(&xas)) goto unlock; next: - xas_store(&xas, page); + xas_store_noinit(&xas, page); if (++i < nr) { xas_next(&xas); goto next; diff --git a/mm/swap_state.c b/mm/swap_state.c index ebed37bbf7a3..1afbf68f1724 100644 --- a/mm/swap_state.c +++ b/mm/swap_state.c @@ -133,7 +133,7 @@ int add_to_swap_cache(struct page *page, swp_entry_t entry, gfp_t gfp) for (i = 0; i < nr; i++) { VM_BUG_ON_PAGE(xas.xa_index != idx + i, page); set_page_private(page + i, entry.val + i); - xas_store(&xas, page); + xas_store_noinit(&xas, page); xas_next(&xas); } address_space->nrpages += nr; -- 2.16.4