From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 80F16C77B75 for ; Mon, 8 May 2023 02:59:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9CAE76B0078; Sun, 7 May 2023 22:59:56 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 97A646B007D; Sun, 7 May 2023 22:59:56 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8422B6B007E; Sun, 7 May 2023 22:59:56 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 74B276B0078 for ; Sun, 7 May 2023 22:59:56 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 3D2F51C73D4 for ; Mon, 8 May 2023 02:59:56 +0000 (UTC) X-FDA: 80765583192.01.588209E Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf16.hostedemail.com (Postfix) with ESMTP id C4206180006 for ; Mon, 8 May 2023 02:59:53 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=FXueB92N; spf=pass (imf16.hostedemail.com: domain of mpenttil@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=mpenttil@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683514794; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=hf0y8biX1fmWFzJdwC/6/gmCOXFL3ymrq+8iff3P/gA=; b=DToJhPu0qYX8I5EhYiGH4Gnvv2HNR8r7dYVW47fyuuEo25kjztXMnYi7RFVFzBeToRQZrC DdNxzL4D8V5ZTgGdiDzFCUMuO2rVnAW7Cj0UxKpyqVRx2BbM+4HqpT3yLDSnChiaguv8X+ 5Qp3bgI29W4mdk1eQwZXIcoG/eGjsLc= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=FXueB92N; spf=pass (imf16.hostedemail.com: domain of mpenttil@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=mpenttil@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1683514794; a=rsa-sha256; cv=none; b=Q06LVdgQWiJSYM7k8NFqrDwnvpcIizl1olfneeFOFKCOi9sjr7/jE+EAftmtktquKxw6W8 Za+JBdUxaW+5ZbtiMWWDaP5GPrbo/PlPp28+FCJks3uNIB4bos+rHnpex/U5odOxtCmx2J QSYbtpgWDAYlITx1Bt2VOVM59GBTdFk= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1683514793; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=hf0y8biX1fmWFzJdwC/6/gmCOXFL3ymrq+8iff3P/gA=; b=FXueB92N4oF11Y1CYCefgt5ZW3WAp/ONdN5y7pYZqFWQjXskGVkOlZIINOZKzO4Icd8ffB 6urzkFyImcQNWshLPLN9cVv/24XfD2OlhWXYnsRUEDEWLpPGF23yaj3IpHaiB1qDIw/oD/ +jx0rLqTrJvaoEVZkoQKcXHOdI23EOg= Received: from mail-lf1-f70.google.com (mail-lf1-f70.google.com [209.85.167.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-348-EhCD9tgENTW_hPFIOMMF4w-1; Sun, 07 May 2023 22:59:51 -0400 X-MC-Unique: EhCD9tgENTW_hPFIOMMF4w-1 Received: by mail-lf1-f70.google.com with SMTP id 2adb3069b0e04-4ec790b902bso2045853e87.1 for ; Sun, 07 May 2023 19:59:51 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683514790; x=1686106790; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=hf0y8biX1fmWFzJdwC/6/gmCOXFL3ymrq+8iff3P/gA=; b=Pp35V2ubI1ueVYpgWfbdi6Qa840YdmsIEeKY3FjrdzTN6vQhbtRp7Kruz8GVmus5ps 4r48JtCG6B8xeVzRtgkwYTeDFGHAuBRn9/2jpYCQb0vqQb9PXrmyPGnHTAFXABw4inX1 diXbjIy8HIuGlW0u62R6PE1a40xsVM3K2G8qbVAS0AJ/7alOomu+tLGRPjTfZpysMODU AHZSAoUTZVmWb0n5/WIOZm4yUXI7Qbh9OruW/0cvhomn+fczADOIOp+m8kG/3dHjuKXX MVpsFz9+yq/h6BiGu3YAHF16f2m/ehRX/zFnQUL8vlU07N2/XH96bmZms6tKPvSIFerW OWJA== X-Gm-Message-State: AC+VfDxCsJc/WAXOLrve1uBj6KBjZjWX6WrXTT59RniFnsO/Z7I/eFxB l2cEecD0kt50BTa1ULpNOQ0PVIfLtR4d8FPmcYHJxLHJgw+btU2DkMzBehFJWig6NJIUV+C1EYD JOO+HzRqnfQ== X-Received: by 2002:ac2:548f:0:b0:4ea:fabb:4db1 with SMTP id t15-20020ac2548f000000b004eafabb4db1mr2061461lfk.1.1683514790281; Sun, 07 May 2023 19:59:50 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5JxCpWUmBpdpbkhI6qHC3tfE841A1miI1aAw8ej/Hti23WwvWnwBjH/zfGx5yEpi+SOjHlcg== X-Received: by 2002:ac2:548f:0:b0:4ea:fabb:4db1 with SMTP id t15-20020ac2548f000000b004eafabb4db1mr2061455lfk.1.1683514789992; Sun, 07 May 2023 19:59:49 -0700 (PDT) Received: from [192.168.1.121] (85-23-48-202.bb.dnainternet.fi. [85.23.48.202]) by smtp.gmail.com with ESMTPSA id t21-20020ac24c15000000b004cc8196a308sm1136305lfq.98.2023.05.07.19.59.47 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 07 May 2023 19:59:49 -0700 (PDT) Message-ID: Date: Mon, 8 May 2023 05:59:46 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.0 Subject: Re: [PATCH] mm/migrate_device: Try to handle swapcache pages. To: "Huang, Ying" Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, apopple@nvidia.com, jhubbard@nvidia.com, rcampbell@nvidia.com References: <20230507061726.13422-1-mpenttil@redhat.com> <87wn1ja793.fsf@yhuang6-desk2.ccr.corp.intel.com> From: =?UTF-8?Q?Mika_Penttil=c3=a4?= In-Reply-To: <87wn1ja793.fsf@yhuang6-desk2.ccr.corp.intel.com> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Stat-Signature: 5cmfknit3w5o4igyuzqrwac33ypd7bka X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: C4206180006 X-Rspam-User: X-HE-Tag: 1683514793-257936 X-HE-Meta: U2FsdGVkX18O16V9Cmm3BdBt/GuHfFbwuCFsUqJhepodGzn4K1B8UdPx9zVnVw2Q3/qcxU13xI/jx85Clth7bUg3uAuCuoi6DdsGWG5oBS+KfaOl3/KbK2P2/rPMnE2ZZwjxMff5SYbzzMgth4340otlJ6OpgYLrCmGJJMqHI/pWfoEIzt0bG83OpYkxtcef3pMEkYxi94whcxHXoFOhsWarcWbNfy2xyrEcV8JJvQH0Afk0X2jiaTEb18HBTwO3tPnG3BWBUH6+LvaNhF5XYqvPaDqk8EGb2+OWLiufSNyy2rCGLfA9x6lP8ShCe/ZTLrF4gCfYiS1CEDwCLHW8wbSDZ2NI7l63skcmdVJXc8pVoe07Y+dF9e6g4br0oYpKp5+wTR5LL00+zNEF62jaKcXPTOHhNCuUo/bD2qVOihgjLIrfPyQWa+MnafANVKDxraaclf7NXyq4Axa4k9jggnt15dfVkY3XNYOmBHSjNWe9ulu6raIAaaYVyIaUMOH3LAGvuSwmhBN5Mu4FkXDHaoHy32yONRn2tiqln50bRwC4p0yCePhX0f1/eRn9yggTfUpl44zgVBMTOCXq9vN9Gl0SeYyeV5TW0FIeA1Z2/jWZkwEIJxs7VKFCnMYMDtMQ5GiDtOXfmiFBLxlZDg1hOgFHC6Kq1K19IKggphygoic4UHIT4YX9XDkSeDqGVfvG/Rqk6URP61qkbBvwpyTVvZkGnXxvVkvamOoYDcEe4zbOiemvslRwOdAeKAvCNlXi5ghNiVH1Tg+klSykdNxvU8gaxBQROYlX3KQKtK7PZ0UGNizdJZRjO3i78Z0gBZF9gAaXH34ZZJcmjQAss0ziYiIq/TGm5AzLUQykMWdHMrPmazi9ipLhf4v4rh0X0F3KEbOC9O0czWA9w+06fnYHFvOE2+aW/zVoqnPyS38nUAZRqR7szOLKeB01ljgW406Cudcy39fZMNv4YwqKLDI FhsRgOyT /hIdWTbeo4ZR6ltNQfRPa9TB3UgIxR6Vd72qIaGatogrNw+XtpIPuW+2G1CUSNMO6wkgaRumXk9G8Wy+MYD+GiCNnjSb9HM4GTZ7jpfiqM0xSOVpSgOu18ggfHaFlOrLHnv5PuRK7ktf4L/qn+6GyBGlBiM8a96yREySNxUUeligfq5+R3XGCvw55kvvnfuGm+c+eKZfZmDvNuQwVGrYIMotyC2PDzO2WpgfQfOUnW/spPlax66O+rLF23KlL4kX05XVrOEBhzvUOljxtVmWosIj2yxT0G8ceX/c75kC4ucK9daM7IQW1mAoVsm46bUBKXaqKYQG8p7CJn/XIu1oHD0zmXz0qaS35S+bfHGZGUTiNMPhbe7sXNP/gvG94tmPOixhim6MQpAF2WB9S2XMNybEpbKNEWABw68ZBK+X3QE9dlvSt6LXqmi1tfJExjuxAWuS+zv7M3KIcfdnBSd8fUlPtPRALPhttJ07sl2nulU/gBcnT592VAwVs32oBiUZDuf8L 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: H, On 8.5.2023 5.26, Huang, Ying wrote: > mpenttil@redhat.com writes: > >> From: Mika Penttilä >> >> Migrating file pages and swapcache pages into device memory is not supported. >> The decision is done based on page_mapping(). For now, swapcache pages are not migrated. >> >> Things can however be improved, for swapcache pages. Try to get rid of the 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ä >> --- >> 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 *src_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] &= ~MIGRATE_PFN_MIGRATE; >> - continue; >> + if (shmem_mapping(mapping) || >> + !folio_free_swap(page_folio(page))) { > > Should we filter out file pages firstly? folio_free_swap() checks first and returns false if not swapcache page (ie including normal file pages) so think that is enough, but maybe for clarity and not depending on it, could be good explicitly check for swapcache before calling folio_free_swap(). > >> + src_pfns[i] &= ~MIGRATE_PFN_MIGRATE; >> + continue; >> + } >> } >> } else if (is_zone_device_page(newpage)) { >> /* > > Best Regards, > Huang, Ying > Thanks, Mika