Message ID | 20181214062754.13723-2-ying.huang@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show
Return-Path: <owner-linux-mm@kvack.org> Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E849591E for <patchwork-linux-mm@patchwork.kernel.org>; Fri, 14 Dec 2018 06:27:47 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D896D2CC8C for <patchwork-linux-mm@patchwork.kernel.org>; Fri, 14 Dec 2018 06:27:47 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id CC5DA2CC99; Fri, 14 Dec 2018 06:27:47 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 58AD42CC8C for <patchwork-linux-mm@patchwork.kernel.org>; Fri, 14 Dec 2018 06:27:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CD6B08E01AB; Fri, 14 Dec 2018 01:27:44 -0500 (EST) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id C5AD08E0014; Fri, 14 Dec 2018 01:27:44 -0500 (EST) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B27AE8E01AB; Fri, 14 Dec 2018 01:27:44 -0500 (EST) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pl1-f198.google.com (mail-pl1-f198.google.com [209.85.214.198]) by kanga.kvack.org (Postfix) with ESMTP id 693D68E0014 for <linux-mm@kvack.org>; Fri, 14 Dec 2018 01:27:44 -0500 (EST) Received: by mail-pl1-f198.google.com with SMTP id b24so2935004pls.11 for <linux-mm@kvack.org>; Thu, 13 Dec 2018 22:27:44 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-original-authentication-results:x-gm-message-state:from:to:cc :subject:date:message-id:in-reply-to:references; bh=rcmn20os+/K4CyfpYFSW3FtZWFvbwNieX5oLi+pnIY4=; b=gRY3TEskp5TUrnsFNdlluH2rlD0Y0InGZJHruWqll9Ae2/l6AOTqz91Qv6UyG2OK2L scBWhIkEc2JlGIxvvENU5LF8U8JL32ITiVnr0cDhiq3gR8GlMY8sbBwmRVDEt3WrO6J3 JnPVAWfl4DHKrkFzACw2crrWmKHuYmtTNQKao5cNi8SvT89wUcj9jLz2uKGhkAJxoB8r wtRDCQKN4uTam/MHOyTYiqCk5AeMv8WuA4WWzgl5CndFPNy7AxinjMjkykXxA1Y9J4iJ 9npPv23wwYMtuEd4Cck/ojKHj1NQZA/Mw66bBlUDAN/YHnAFyrOwT1lXXtPSpp1qIlcI 0Dtg== X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of ying.huang@intel.com designates 134.134.136.100 as permitted sender) smtp.mailfrom=ying.huang@intel.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com X-Gm-Message-State: AA+aEWZJTykANqJ79Qf3MelOKp7w7DmnVdaWhJP5Yryrjvi2RbtScpzY 7HmB/33ShNlP9EvtQp81XVc+wifRBDLVWpbiZvcVtt6Gz44CEdz4YGbwx7fVe7Cpd7QX93HCLQX LGq6ez56WRekRqTMQEQbNG/xmy79iDngDdDzzGw2l1as1doUm+R/9ua50y2++LMK6fg== X-Received: by 2002:a63:955a:: with SMTP id t26mr1626123pgn.449.1544768864109; Thu, 13 Dec 2018 22:27:44 -0800 (PST) X-Google-Smtp-Source: AFSGD/XoCGRcvBKD4AAwRK+hkOfUxdmhW2vjykygBuFaHHZxqSDGJ8iowqjyHHKvSBve+Fzg1ONl X-Received: by 2002:a63:955a:: with SMTP id t26mr1626085pgn.449.1544768862956; Thu, 13 Dec 2018 22:27:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1544768862; cv=none; d=google.com; s=arc-20160816; b=RXspu0CQvcxfzUbLImlQUEKzM7/rWWQ4LQNeToRrJvBbz6qaX2eCa6FT+ijI7mmuj3 Una60re48W1F06eRz4DAGamp2fwxRycfyBqEsTvhgOT9Ti6J8Hi3f/3s/BKfIVtmV6Qg 4DEw50Es1wNGwBjQHcS3m/hP+bZ8iOEphXaY6S8jqiySZBshm1ajQcNFwLhilLgn95oP a5vdmM/j+XnkBeV9hyzmWGZL7ij4MQlloU+/n8bP7rYRS+PzwINWkCrge838IsPM4Dl6 uP1H0XGn+iE1M+Mj0rSL1x0yIlECPUdzMkyCxiuU/hDQS1gnWgh8dlaxQs49LDroz2YG aRAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from; bh=rcmn20os+/K4CyfpYFSW3FtZWFvbwNieX5oLi+pnIY4=; b=hoa46zIqLMutg3jLhDrII73qxD7SdIZbLa9wA+mT+nCiBYjSush4cHGaB6X/kRq8fR cyzRuw7QOfKv8jQPrTFsHvwzPR8BCni+dK5K/rSzJTuGfcj2jLMFkzA7k0zmarMXv+qV 3/qQzT02e3fqh7P7jFxYFEb0/YmtTXY2uPXqCVVXLrXlogiGk0OMdeIcyUTmGh/XhGdR J/x5nPzE7zpt3VRCSR55GRlCJOcHx2A5lFa38iAjFnL4BD+52yKPHSBfgHw+GYOX99bf PUZcWa9sCR8mKpCQ8tsGKiK9goxvZ4u0z3MynbdYMyisT/DcsWeQEEx6DmcfTDXkWSoo +BWg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ying.huang@intel.com designates 134.134.136.100 as permitted sender) smtp.mailfrom=ying.huang@intel.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from mga07.intel.com (mga07.intel.com. [134.134.136.100]) by mx.google.com with ESMTPS id m28si2919232pgn.273.2018.12.13.22.27.42 for <linux-mm@kvack.org> (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 13 Dec 2018 22:27:42 -0800 (PST) Received-SPF: pass (google.com: domain of ying.huang@intel.com designates 134.134.136.100 as permitted sender) client-ip=134.134.136.100; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ying.huang@intel.com designates 134.134.136.100 as permitted sender) smtp.mailfrom=ying.huang@intel.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 Dec 2018 22:27:42 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,351,1539673200"; d="scan'208";a="125840795" Received: from yhuang-mobile.sh.intel.com ([10.239.197.226]) by fmsmga002.fm.intel.com with ESMTP; 13 Dec 2018 22:27:40 -0800 From: Huang Ying <ying.huang@intel.com> To: Andrew Morton <akpm@linux-foundation.org> Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Huang Ying <ying.huang@intel.com>, Vineeth Remanan Pillai <vpillai@digitalocean.com>, Kelley Nielsen <kelleynnn@gmail.com>, Rik van Riel <riel@surriel.com>, Matthew Wilcox <willy@infradead.org>, Hugh Dickins <hughd@google.com> Subject: [PATCH -V9 01/21] swap: Deal with PTE mapped THP when unuse PTE Date: Fri, 14 Dec 2018 14:27:34 +0800 Message-Id: <20181214062754.13723-2-ying.huang@intel.com> X-Mailer: git-send-email 2.18.1 In-Reply-To: <20181214062754.13723-1-ying.huang@intel.com> References: <20181214062754.13723-1-ying.huang@intel.com> X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: <linux-mm.kvack.org> X-Virus-Scanned: ClamAV using ClamSMTP |
Series |
swap: Swapout/swapin THP in one piece
|
expand
|
diff --git a/mm/swapfile.c b/mm/swapfile.c index 7464d0a92869..9e6da494781f 100644 --- a/mm/swapfile.c +++ b/mm/swapfile.c @@ -1921,10 +1921,8 @@ static int unuse_pte_range(struct vm_area_struct *vma, pmd_t *pmd, goto out; } - if (PageSwapCache(page) && (swap_count(*swap_map) == 0)) - delete_from_swap_cache(compound_head(page)); + try_to_free_swap(page); - SetPageDirty(page); unlock_page(page); put_page(page);
A PTE swap entry may map to a normal swap slot inside a huge swap cluster. To free the huge swap cluster and the corresponding THP (transparent huge page), all PTE swap entry mappings need to be unmapped. The original implementation only checks current PTE swap entry mapping, this is fixed via calling try_to_free_swap() instead, which will check all PTE swap mappings inside the huge swap cluster. This fix could be folded into the patch: mm, swap: rid swapoff of quadratic complexity in -mm patchset. Signed-off-by: "Huang, Ying" <ying.huang@intel.com> Cc: Vineeth Remanan Pillai <vpillai@digitalocean.com> Cc: Kelley Nielsen <kelleynnn@gmail.com> Cc: Rik van Riel <riel@surriel.com> Cc: Matthew Wilcox <willy@infradead.org> Cc: Hugh Dickins <hughd@google.com> --- mm/swapfile.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)