Received: by 2002:a05:6358:9144:b0:117:f937:c515 with SMTP id r4csp3774558rwr; Sun, 7 May 2023 20:00:50 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ47U445c51BxpudN1/Wk7shcjAazQNKPCrKbPRMKIjT2B95zQTGFhpFyqv5fgHKXXw/BI7Q X-Received: by 2002:a17:903:185:b0:1a1:e237:5f0 with SMTP id z5-20020a170903018500b001a1e23705f0mr11944846plg.58.1683514850510; Sun, 07 May 2023 20:00:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683514850; cv=none; d=google.com; s=arc-20160816; b=YP+3gNP7mWRMxZQzrUJOQyHpZid7simcDr4dmPzM0FhhAOU32IUO4Q3CvA5rfLhxdV QhxqI2L4DitPduA2nOQzYC3LuU8seLpfnF4HUDAuFaG95fcpUD5R0uD+Vf45T7ivJK4Z S1VKpj0gNm9iqs6Oss1IWbNME2AnoLb7dRftQPOXiwQsgDh2R0XfiGCXav8nK7nlIZKo uXagh+OmB9H1mIpBQJ2VIaJOqSncPOdnI6B85m8XZcEMfcD7m2joAsEX1ysTma6Pa1Yc cE59DTe1AK/afx0U69cBKDcP1AZpy/5EIuWWt/IeLhqSHPU3MMhvlgX2yzBwip1iLD0e Y3lQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:message-id:in-reply-to:date:references:subject:cc:to :from:dkim-signature; bh=+Z+cfKJS4H8zig8MLC5cdW+pN0XNFjWMiaO3nFVYa/Y=; b=F6oO+Q/WM6En1RI5vf7My4AIB9amUOkNvPCHwl2QjJZfapxxFyZ2yDEyhY2SYiIwdI UnKhoU9J45l10P6+oeqACFX5xwYTg7G7vXpGoUq/0iSNPRyuapRIt6YeN7iXjw+fWnzf m+DDSqVMYPc4hyTyvxNawLxzG3j/EN7mW64GhPmoo4x+O6hBUY0TP9vv6wBAhS2mn3oi 6h0ejcxtXGGAsGcVfUu9oNprJPly7+yb9DaMFWczGY7v1VkvXJCv/vOJ+A7C5mXzxgCk wi0DdlVjwp+wbsdqYDwAqzFxe8rwfqZciIYWwZTnQBcsyGnis+KQf9qf6X9kUOiPHY6w NRLg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=PCIPlgAP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id m23-20020a170902bb9700b001a9ba4690casi6725140pls.295.2023.05.07.20.00.32; Sun, 07 May 2023 20:00:50 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=PCIPlgAP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232428AbjEHC11 (ORCPT + 99 others); Sun, 7 May 2023 22:27:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60862 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232396AbjEHC1Y (ORCPT ); Sun, 7 May 2023 22:27:24 -0400 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 14087421E for ; Sun, 7 May 2023 19:27:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1683512842; x=1715048842; h=from:to:cc:subject:references:date:in-reply-to: message-id:mime-version:content-transfer-encoding; bh=zKRd4CcYhxWuZ8dosZrKjFL/E+GzhFM8aaQzoYaruc4=; b=PCIPlgAPVNTgvmyApyP8ERLv/NiSOkoN5fvpVt0lgv0QDwH/HCnwZo7g euPTj/XoiQNWmrSANBNPH1PdYPTyb0vMb4MAZmh95TA/toe9tc23TfJyl gRo4DyqTzKMScigD54ZIwHApdnZfXBUrt2t3DlHiQeJG+4Y9bMo521Enp /Z7BFtc1/nKiHLMq5ea1gx2LqRmM/QCTRr5sw3YY4Bb72AUqVrPwX2ij1 cgL4HH3FW27J8oKcYI+es5zdqG4VS11KvGysICFlHsm97fAqxl0Kcx/uQ sGRwsLSItyS5miTEpy7Nd7H6TFjJDYaCYeOeZDo7S9u/OTFplGrEc32HF A==; X-IronPort-AV: E=McAfee;i="6600,9927,10703"; a="348365119" X-IronPort-AV: E=Sophos;i="5.99,258,1677571200"; d="scan'208";a="348365119" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 May 2023 19:27:21 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10703"; a="787932513" X-IronPort-AV: E=Sophos;i="5.99,258,1677571200"; d="scan'208";a="787932513" Received: from yhuang6-desk2.sh.intel.com (HELO yhuang6-desk2.ccr.corp.intel.com) ([10.238.208.55]) by fmsmga003-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 May 2023 19:27:19 -0700 From: "Huang, Ying" To: mpenttil@redhat.com Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, apopple@nvidia.com, jhubbard@nvidia.com, rcampbell@nvidia.com Subject: Re: [PATCH] mm/migrate_device: Try to handle swapcache pages. References: <20230507061726.13422-1-mpenttil@redhat.com> Date: Mon, 08 May 2023 10:26:16 +0800 In-Reply-To: <20230507061726.13422-1-mpenttil@redhat.com> (mpenttil@redhat.com's message of "Sun, 7 May 2023 09:17:26 +0300") Message-ID: <87wn1ja793.fsf@yhuang6-desk2.ccr.corp.intel.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org mpenttil@redhat.com writes: > From: Mika Penttil=C3=A4 > > Migrating file pages and swapcache pages into device memory is not suppor= ted. > The decision is done based on page_mapping(). For now, swapcache pages ar= e not migrated. > > Things can however be improved, for swapcache pages. Try to get rid of th= e swap cache, > and if successful, go ahead as with other anonymous pages. > > As a detail, do not mess with shmem pages, as they handle swap internally. > > Cc: Alistair Popple > Cc: John Hubbard > Cc: Ralph Campbell > Signed-off-by: Mika Penttil=C3=A4 > --- > mm/migrate_device.c | 12 ++++++++++-- > 1 file changed, 10 insertions(+), 2 deletions(-) > > diff --git a/mm/migrate_device.c b/mm/migrate_device.c > index d30c9de60b0d..e8169c58c341 100644 > --- a/mm/migrate_device.c > +++ b/mm/migrate_device.c > @@ -12,6 +12,7 @@ > #include > #include > #include > +#include > #include > #include > #include > @@ -750,10 +751,17 @@ static void __migrate_device_pages(unsigned long *s= rc_pfns, > /* > * For now only support anonymous memory migrating to > * device private or coherent memory. > + * > + * Try to get rid of swap cache if possible. > + * Leave shmem pages alone, they handle swap internally > + * > */ > if (mapping) { > - src_pfns[i] &=3D ~MIGRATE_PFN_MIGRATE; > - continue; > + if (shmem_mapping(mapping) || > + !folio_free_swap(page_folio(page))) { Should we filter out file pages firstly? > + src_pfns[i] &=3D ~MIGRATE_PFN_MIGRATE; > + continue; > + } > } > } else if (is_zone_device_page(newpage)) { > /* Best Regards, Huang, Ying