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 X-Spam-Level: X-Spam-Status: No, score=-17.4 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4280DC433F5 for ; Mon, 6 Sep 2021 09:27:42 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id D3E9D6056C for ; Mon, 6 Sep 2021 09:27:41 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org D3E9D6056C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvack.org Received: by kanga.kvack.org (Postfix) id 31A8B900002; Mon, 6 Sep 2021 05:27:41 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2CAD86B0072; Mon, 6 Sep 2021 05:27:41 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 19229900002; Mon, 6 Sep 2021 05:27:41 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0034.hostedemail.com [216.40.44.34]) by kanga.kvack.org (Postfix) with ESMTP id 0754E6B0071 for ; Mon, 6 Sep 2021 05:27:41 -0400 (EDT) Received: from smtpin33.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id A8A1323E5D for ; Mon, 6 Sep 2021 09:27:40 +0000 (UTC) X-FDA: 78556621080.33.ADC576B Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by imf08.hostedemail.com (Postfix) with ESMTP id 0DE1530000A8 for ; Mon, 6 Sep 2021 09:27:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1630920459; 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=du5+MWHNJRiFPKbEWCYhk7n44eQiBu+Va5fyewgDdh8=; b=LHcxYyNKd1rVYSxm+UragCH4ktxo5wcbjyNdZkxy9TY0jVMlsvpIwGlgOGg1XZfmuuEFtK +8V76P788LPWl8Qb4J/Rw3jiO6mGkJDZ8+sHmExO3Vw8rs5LF9O5ZxgKddm5YywdA7g4x5 mKJ0q+5fB7+FOP564LZejYXmG9yd5es= Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-601-23JATyGQPSSCsn7PM2NltA-1; Mon, 06 Sep 2021 05:27:36 -0400 X-MC-Unique: 23JATyGQPSSCsn7PM2NltA-1 Received: by mail-wm1-f71.google.com with SMTP id m22-20020a7bca56000000b002e7508f3faeso2120730wml.2 for ; Mon, 06 Sep 2021 02:27:36 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:cc:references:from:organization:subject :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=du5+MWHNJRiFPKbEWCYhk7n44eQiBu+Va5fyewgDdh8=; b=SXkHDzXSWsm2gY8BGe5k045lEPjgb763Ry6XlmOWXzQnuu82jz1abxJ78WzhZuT7MC cS8BZfAxvLrPASaWwQUtV72+gkRKfDCd7G1bkzI8F0xkZfWuPwgfm0yw7HIiScH+JvZJ 4BQvD0kaSTce5n512bGUZXWcvQFc+1opREvlr5CrqKL5zqOOdStjG2/npab7PlwiNPzI yllbVnRHgoyQxDKuqSq0YUYbvvW3FaElR/oBf7d73iu3kk5LcsyUK1/598G1zu3DZ/Hi 0HPUR5f7RmzZaO9Zjq6hSMtOay8Up1l2WcGZyWRZwUlU8x5yI0FpuBp11AKmKdiyretC aEww== X-Gm-Message-State: AOAM532y79gHHZcOqmIyEk9eY8IB+T37rYX4bDOBWPQG41l3Lw95Etha 47MsUxRgVwdUo4sM8ZPGpgNhA0dUzApAJpoROq4DaG/Rdi8znZ6lHlDRZs/NP9ucJCMrRwqmHkL fxP+psY9Ju20= X-Received: by 2002:a7b:cbc9:: with SMTP id n9mr10529807wmi.50.1630920455292; Mon, 06 Sep 2021 02:27:35 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxSR6l5ptjWuJgZ1oIqJLgVcl6v4mMvW4Lgd/4oIupYUDe2HgDw+mPpQH8PjfEhe+qv5gTfCg== X-Received: by 2002:a7b:cbc9:: with SMTP id n9mr10529773wmi.50.1630920455036; Mon, 06 Sep 2021 02:27:35 -0700 (PDT) Received: from [192.168.3.132] (p5b0c6323.dip0.t-ipconnect.de. [91.12.99.35]) by smtp.gmail.com with ESMTPSA id u16sm7611474wmc.41.2021.09.06.02.27.34 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 06 Sep 2021 02:27:34 -0700 (PDT) To: Miaohe Lin , akpm@linux-foundation.org Cc: mhocko@suse.com, vbabka@suse.cz, linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20210904092053.33037-1-linmiaohe@huawei.com> From: David Hildenbrand Organization: Red Hat Subject: Re: [PATCH] mm/page_isolation: fix potential missing call to unset_migratetype_isolate() Message-ID: Date: Mon, 6 Sep 2021 11:27:33 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: <20210904092053.33037-1-linmiaohe@huawei.com> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=LHcxYyNK; dmarc=pass (policy=none) header.from=redhat.com; spf=none (imf08.hostedemail.com: domain of david@redhat.com has no SPF policy when checking 216.205.24.124) smtp.mailfrom=david@redhat.com X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 0DE1530000A8 X-Stat-Signature: e3ypz1zdb6eu3a5s17q1oj79xi7qqk5q X-HE-Tag: 1630920459-636202 Content-Transfer-Encoding: quoted-printable 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: On 04.09.21 11:20, Miaohe Lin wrote: > In start_isolate_page_range() undo path, pfn_to_online_page() just chec= ks > the first pfn in a pageblock while __first_valid_page() will traverse t= he > pageblock until the first online pfn is found. So we may miss the call = to > unset_migratetype_isolate() in undo path and pages will remain isolated > unexpectedly. Fix this by calling undo_isolate_page_range() and this wi= ll > also help to remove some duplicated codes. >=20 > Fixes: 2ce13640b3f4 ("mm: __first_valid_page skip over offline pages") While that is true, we shouldn't ever trigger, neither via cma,=20 virtio-mem nor memory offlining, because essentially all operate on=20 MAX_ORDER -1 -aligned ranges without memory holes. > Signed-off-by: Miaohe Lin > --- > mm/page_isolation.c | 9 +-------- > 1 file changed, 1 insertion(+), 8 deletions(-) >=20 > diff --git a/mm/page_isolation.c b/mm/page_isolation.c > index 471e3a13b541..9bb562d5d194 100644 > --- a/mm/page_isolation.c > +++ b/mm/page_isolation.c > @@ -202,14 +202,7 @@ int start_isolate_page_range(unsigned long start_p= fn, unsigned long end_pfn, > } > return 0; > undo: > - for (pfn =3D start_pfn; > - pfn < undo_pfn; > - pfn +=3D pageblock_nr_pages) { > - struct page *page =3D pfn_to_online_page(pfn); > - if (!page) > - continue; > - unset_migratetype_isolate(page, migratetype); > - } > + undo_isolate_page_range(start_pfn, undo_pfn, migratetype); > =20 It'd be even cleaner to drop the label completely and call it from the=20 single callsite. We can even avoid undo_pfn ... if (page && set_migratetype_isolate(page, migratetype, flags)) { undo_isolate_page_range(start_pfn, pfn, migratetype); return -EBUSY; } If pfn =3D=3D start_pfn, undo_isolate_page_range() will simply do nothing= . > return -EBUSY; > } >=20 --=20 Thanks, David / dhildenb