Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp406425imu; Tue, 11 Dec 2018 00:47:29 -0800 (PST) X-Google-Smtp-Source: AFSGD/ViwQ4sj+5JbfKEkcClB9akPcSlftC/yZs5NH5FkIj2CVydnJFj2Lb0LHpfc/jsF6JWm65P X-Received: by 2002:a62:1709:: with SMTP id 9mr15279053pfx.249.1544518049605; Tue, 11 Dec 2018 00:47:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1544518049; cv=none; d=google.com; s=arc-20160816; b=B01ct4eHP3FeMmxo9ghaA35gYtj4igBoA4JLU2/5p2ajAbXx7uJlmRcbDpMWGeu/vs 7skoyllIMueY2XWLAnts8TN0/rW2ZvjM6cZa00BA/TL6GtyfCbMjPyicHk62wgW0EAJo BsDqhNf4k734sDekeUvJJTFPsvevkmx8GaCuMCeuqXiCD3vShTJTedTTjMLeMcZg2TAA yqKma//a6cwzi6GrDRA+cXsZDZ+BQDPF3Mc4bTJs98G4C5tsNPQqIy3j3hVtfvsW8TdP 2dfYAwHEHtIYCk/E4IaPzQZDuEtMPhdfQBHQ3OKME+XlZFd1YkcyfxwHrnxrF1/75B65 Fvkg== 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=rcmn20os+/K4CyfpYFSW3FtZWFvbwNieX5oLi+pnIY4=; b=mGd1Z6NQ2Z8dj9BFSM5SHaXiZyJHujesvSQkP4PQCGQk0GrEiqAq27aN1bwVjrpdvb bblGKg3AFyl+nvXTFIiJWcnjdbw9NsB8joCYKIgoo2/jQflCAHkGTURSOjGr8+sXnOgx 0NI39DGaV1FxtBl6w5wMnPO2jdWbk0yFNBhcXcD5FQ1qgzObI5rb3YkixGqMa2xs2/R2 uHc+X8PDk1NrSc7j/YhZKPn0BP3eeedLcJNk1/adjqdbSpNkGDfZwtV2kYMq7ogmyFa1 6ittgQhEXfdOQw5BP/EKMcXZgHjpqqtcrTgTP5QRRA/sgufqKcHBfr0rlakfe6NqwnHo Qcxg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s84si11404168pgs.306.2018.12.11.00.47.14; Tue, 11 Dec 2018 00:47:29 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726220AbeLKIqU (ORCPT + 99 others); Tue, 11 Dec 2018 03:46:20 -0500 Received: from mga01.intel.com ([192.55.52.88]:1767 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726089AbeLKIqU (ORCPT ); Tue, 11 Dec 2018 03:46:20 -0500 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 11 Dec 2018 00:46:20 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,341,1539673200"; d="scan'208";a="106520763" Received: from yhuang-mobile.sh.intel.com ([10.239.192.61]) by fmsmga007.fm.intel.com with ESMTP; 11 Dec 2018 00:46:18 -0800 From: Huang Ying To: Andrew Morton Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Huang Ying , Vineeth Remanan Pillai , Kelley Nielsen , Rik van Riel , Matthew Wilcox , Hugh Dickins Subject: [PATCH 2/2] swap: Deal with PTE mapped THP when unuse PTE Date: Tue, 11 Dec 2018 16:46:09 +0800 Message-Id: <20181211084609.19553-2-ying.huang@intel.com> X-Mailer: git-send-email 2.18.1 In-Reply-To: <20181211084609.19553-1-ying.huang@intel.com> References: <20181211084609.19553-1-ying.huang@intel.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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" Cc: Vineeth Remanan Pillai Cc: Kelley Nielsen Cc: Rik van Riel Cc: Matthew Wilcox Cc: Hugh Dickins --- mm/swapfile.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) 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); -- 2.18.1