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 B6B24C433F5 for ; Mon, 7 Mar 2022 05:07:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 445618D0002; Mon, 7 Mar 2022 00:07:52 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 3F3F18D0001; Mon, 7 Mar 2022 00:07:52 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2E37D8D0002; Mon, 7 Mar 2022 00:07:52 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0218.hostedemail.com [216.40.44.218]) by kanga.kvack.org (Postfix) with ESMTP id 201B08D0001 for ; Mon, 7 Mar 2022 00:07:52 -0500 (EST) Received: from smtpin24.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id CB65F1826373A for ; Mon, 7 Mar 2022 05:07:51 +0000 (UTC) X-FDA: 79216407942.24.E1B6825 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by imf04.hostedemail.com (Postfix) with ESMTP id DD53440006 for ; Mon, 7 Mar 2022 05:07:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1646629671; x=1678165671; h=from:to:cc:subject:references:date:in-reply-to: message-id:mime-version; bh=Dp9grBEsh9qgvv8Wpxg4ToQAypx/TtvNKWPX6UIX9cc=; b=MDyP/8oAgpNwAEQu+PbpLPoEcvKM84s4xHD8KsLN/eitDv8aCHZ7UlvY 2WEd5WJ7petcTt3jBp1o/RttxRdeY2jjGJueIGq3QbsO2fbJvMU0LxpZz 6rSMUb/cAxu7lU+ZDNc0lVVYvfqYBSFU+UDf0p6kxquzNMJ/7I1naeXc7 UOL1FdHO2ZkekapUNB5kROtAV89uwlFlo2WqBVi8LQWtFNdKafD6fTNVa ict+YecmQ/Qts5VoD19NW67E/nMaxoeRQwfOnvhO/1bANmZhQMMKE2sco mplmG2PKjpsldgP87KniVIh+4kNWynNhRMPcu8oFarzIfB6AXZi53WzEM Q==; X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="254029776" X-IronPort-AV: E=Sophos;i="5.90,160,1643702400"; d="scan'208";a="254029776" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Mar 2022 21:07:33 -0800 X-IronPort-AV: E=Sophos;i="5.90,160,1643702400"; d="scan'208";a="536962197" Received: from yhuang6-desk2.sh.intel.com (HELO yhuang6-desk2.ccr.corp.intel.com) ([10.239.13.94]) by orsmga007-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Mar 2022 21:07:28 -0800 From: "Huang, Ying" To: Miaohe Lin Cc: , , , , , , , , , , , , , , , , , Subject: Re: [PATCH 13/16] mm/migration: return errno when isolate_huge_page failed References: <20220304093409.25829-1-linmiaohe@huawei.com> <20220304093409.25829-14-linmiaohe@huawei.com> Date: Mon, 07 Mar 2022 13:07:26 +0800 In-Reply-To: <20220304093409.25829-14-linmiaohe@huawei.com> (Miaohe Lin's message of "Fri, 4 Mar 2022 17:34:06 +0800") Message-ID: <87ilsq5p0x.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-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: DD53440006 X-Stat-Signature: 3gq6qzgnnr5tx9cjjdi6uearhb445czd Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b="MDyP/8oA"; spf=none (imf04.hostedemail.com: domain of ying.huang@intel.com has no SPF policy when checking 134.134.136.24) smtp.mailfrom=ying.huang@intel.com; dmarc=pass (policy=none) header.from=intel.com X-Rspam-User: X-HE-Tag: 1646629670-210514 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: Miaohe Lin writes: > We should return errno (-EBUSY here) when failed to isolate the huge page > rather than always return 1 which could confuse the user. > > Signed-off-by: Miaohe Lin > --- > mm/migrate.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/mm/migrate.c b/mm/migrate.c > index 6c2dfed2ddb8..279940c0c064 100644 > --- a/mm/migrate.c > +++ b/mm/migrate.c > @@ -1618,10 +1618,8 @@ static int add_page_for_migration(struct mm_struct *mm, unsigned long addr, > goto out_putpage; > > if (PageHuge(page)) { > - if (PageHead(page)) { > - isolate_huge_page(page, pagelist); > - err = 1; > - } > + if (PageHead(page)) > + err = isolate_huge_page(page, pagelist) ? 1 : -EBUSY; IMHO, it's better to determine the proper errno inside isolate_huge_page() instead of in the caller. If you think it's necessary to get errno here. How about change isolate_huge_page() instead? Best Regards, Huang, Ying > } else { > struct page *head;