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 17E9CC3DA7D for ; Wed, 4 Jan 2023 00:25:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 37A0D8E0002; Tue, 3 Jan 2023 19:25:45 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 32A528E0001; Tue, 3 Jan 2023 19:25:45 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1F1CE8E0002; Tue, 3 Jan 2023 19:25:45 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 0EC7F8E0001 for ; Tue, 3 Jan 2023 19:25:45 -0500 (EST) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id DB2DBA0A2A for ; Wed, 4 Jan 2023 00:25:44 +0000 (UTC) X-FDA: 80315223408.24.189701D Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by imf29.hostedemail.com (Postfix) with ESMTP id EE443120002 for ; Wed, 4 Jan 2023 00:25:41 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=UrtREDRl; spf=pass (imf29.hostedemail.com: domain of ying.huang@intel.com designates 192.55.52.93 as permitted sender) smtp.mailfrom=ying.huang@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1672791943; a=rsa-sha256; cv=none; b=BT7VF/KBhhVTrlB1t1PA/MCKPh+EM8IV2MdOY+6oiZlX/eLLhSjCHmvmT3DxtZedeJGzyP zWQNWfS6cpCbr7hDFTRLYyUOs2tgAlLYpQQYHe4CeAJMaHOANXhGmOok+knwwpprMfkwYe sK+jPsm0ed4Ko5FA4pJTPZrf7aSWKKs= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=UrtREDRl; spf=pass (imf29.hostedemail.com: domain of ying.huang@intel.com designates 192.55.52.93 as permitted sender) smtp.mailfrom=ying.huang@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672791943; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=kjM0/qZnYLDeEg5eQK294rCN/jkR7mDtn6s8ArJtdoA=; b=S89ug2NeGKoPXMnWkYypmiUaXmZ5MOev1gYasdso4TFligBVoKUfeb13IaURTaH2e2vRDo TB1FgUDvZykGjdZAGBsPyFwZbTxLQLGXyvNSu75TvpdqgrU1t4JxBTazlm1+YoI/T/H+my sl3kj43fLivEuRQ32RB3rMhom0gb/fc= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1672791942; x=1704327942; h=from:to:cc:subject:references:date:in-reply-to: message-id:mime-version; bh=edKy2ReilvbH/TaDlMaXGjVC5v8DHE8hu3zYyHeDKrM=; b=UrtREDRlxiQRZaQG9aResNBgI+bLJ9LVRzDD2+det5n6hiveVj2kB76E C35cmEcVzXNnz/5U1DmsyqY5Dw5r7lKPGo1HBu8VniSoLD10UDK0TY49c RYX/GFdaWz1GRtAcI7TXUpklRH6j05QU+1fZj71ofbwib6rIyedOKbaox q16ZLWQ+peljkZmLzzhFcoYCc+1ggeL4CIfoqxW3kwwfmVlmRKmkRTgX/ JGiZMHU+5FnBCfS1Nk49GSoWUKYGs7MSrQuVQOZqcWNzdSslYqdp7rZqJ +T7I39pMx2/lqqMO6QSvmD03wpbFGHEPk53+AdxS7gkPqSot+wetaTEI1 Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10579"; a="319501207" X-IronPort-AV: E=Sophos;i="5.96,297,1665471600"; d="scan'208";a="319501207" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jan 2023 16:25:25 -0800 X-IronPort-AV: E=McAfee;i="6500,9779,10579"; a="605011640" X-IronPort-AV: E=Sophos;i="5.96,297,1665471600"; d="scan'208";a="605011640" Received: from yhuang6-desk2.sh.intel.com (HELO yhuang6-desk2.ccr.corp.intel.com) ([10.238.208.55]) by orsmga003-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jan 2023 16:25:21 -0800 From: "Huang, Ying" To: Zi Yan Cc: Andrew Morton , , , Yang Shi , Baolin Wang , Oscar Salvador , "Matthew Wilcox" , Bharata B Rao , "Alistair Popple" , haoxin Subject: Re: [PATCH 3/8] migrate_pages: restrict number of pages to migrate in batch References: <20221227002859.27740-1-ying.huang@intel.com> <20221227002859.27740-4-ying.huang@intel.com> <761F148B-555B-4C51-8A1E-F17ABA85D014@nvidia.com> Date: Wed, 04 Jan 2023 08:24:12 +0800 In-Reply-To: <761F148B-555B-4C51-8A1E-F17ABA85D014@nvidia.com> (Zi Yan's message of "Tue, 03 Jan 2023 13:40:00 -0500") Message-ID: <87pmbvno43.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=ascii X-Rspam-User: X-Rspamd-Queue-Id: EE443120002 X-Rspamd-Server: rspam01 X-Stat-Signature: 7p7ucni3dz7ajjxwjh1jkcaz4saico8a X-HE-Tag: 1672791941-856747 X-HE-Meta: U2FsdGVkX1/8Ldp5GVsAgzvaW7LTUmvKpuoNcJMufhbMtTeNniruF4O+Xjntpi2uaehqRqxXYfEcbqQAcAJZ4VyN0E2s6a58ZS1jgJoPYhCE0GqHIpoOA3vGWpc7ymlJ6n+gSODIWgdnp5Hp4BFN2bu3mcxTmII2Shf26f/huzN47NGzoO605xKUrQ3hnHXg0OTiAHHFbL28UsG3KS7QK48qB9BR+jVxmqeIyyiVDHOWDbb2NmNPbs6S9V3Y5eF1Yd8wkmyLsydSIh0F/XXHXapCI9g2i0wzie01vs5Sak2K7faIXNoCEINlXu2st9ccvxwq69BelHgIj4RNNSrYWejNpWHTIi3L/wwi8zB+DRKw9Lo1NMeWHSBXmTj2L0aiVfecBqQajOt9zHRtCG3oEqJLTyFI78gJcnuO6e1IxMvPZC5tSxof/uMWnn+/+bF7G/DnfgaKKFCtKsFOpObZMVKpS8/sD0kQmREGhDsZuVgHB+/M9cbKf5j5mcZ+9C+ypSnFSo1ghf/iIVsv05DK+kxxOzDPXds+p/l9HrW1ahhGoixF77/6E03omJ7mLm3kUvvevqNG/MMI2RhJNwOp+aCVFDjfcCYMZSdw5ORcS+oIKCGF4YbrrG8ZjelxfkEnrh952JAhgry9r3llmWvbpeFrXEf4AFijb5dn2YID3v8hUtxtvzoMX1CnXZI5bHk/we7z4aAonXub4cNqJlZ1bRqchWzjSxynzDOxgFwsf4IBbdwzXsoJCF+AL6DDybhm3SYL4WP4YfWqJ1Mrxozt0pDHcmKqSkbvjyD5ZBawnCiaAQP3XVR5SjVk5yIyTj/1E4I5389qZBsfrWsZu3RKqXU3y3vRSYXga8XjaYhPV1mCwvODLD71pg== 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: Zi Yan writes: > On 26 Dec 2022, at 19:28, Huang Ying wrote: [snip] >> +/* >> + * migrate_pages - migrate the folios specified in a list, to the free folios >> + * supplied as the target for the page migration >> + * >> + * @from: The list of folios to be migrated. >> + * @get_new_page: The function used to allocate free folios to be used >> + * as the target of the folio migration. >> + * @put_new_page: The function used to free target folios if migration >> + * fails, or NULL if no special handling is necessary. >> + * @private: Private data to be passed on to get_new_page() >> + * @mode: The migration mode that specifies the constraints for >> + * folio migration, if any. >> + * @reason: The reason for folio migration. >> + * @ret_succeeded: Set to the number of folios migrated successfully if >> + * the caller passes a non-NULL pointer. >> + * >> + * The function returns after 10 attempts or if no folios are movable any more >> + * because the list has become empty or no retryable folios exist any more. >> + * It is caller's responsibility to call putback_movable_pages() to return folios >> + * to the LRU or free list only if ret != 0. >> + * >> + * Returns the number of {normal folio, large folio, hugetlb} that were not >> + * migrated, or an error code. The number of large folio splits will be >> + * considered as the number of non-migrated large folio, no matter how many >> + * split folios of the large folio are migrated successfully. >> + */ >> +int migrate_pages(struct list_head *from, new_page_t get_new_page, >> + free_page_t put_new_page, unsigned long private, >> + enum migrate_mode mode, int reason, unsigned int *ret_succeeded) >> +{ >> + int rc, rc_gether; > > rc_gether -> rc_gather? Good catch! Thanks! Will change this in the next version. Best Regards, Huang, Ying >> + int nr_pages; >> + struct folio *folio, *folio2; >> + LIST_HEAD(folios); >> + LIST_HEAD(ret_folios); >> + struct migrate_pages_stats stats; >> + [snip]