Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp591320pxb; Wed, 27 Jan 2021 16:04:53 -0800 (PST) X-Google-Smtp-Source: ABdhPJwo7gO12xH9P4H8QRLdafYob1g2IWwD9t5OTbNscZDt7zq7S7A4NOgHYJYGeblB+/f8SU4e X-Received: by 2002:a17:906:6b91:: with SMTP id l17mr8301488ejr.171.1611792293686; Wed, 27 Jan 2021 16:04:53 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1611792293; cv=none; d=google.com; s=arc-20160816; b=N27L5lCrcysrWFLvmTFouOfmTINHs1JHzsw5qkMk3imCfcTiz/UbmjCptlju/npCDL S/r57+oxIMAj3PYUF97GSXPsoHJRd6TjxnGvBuyTQRBuH2Q7d0DCsgfKSAVul/akeoAq x5yGScCbcJbIf5I6mrFuswoQ2NAEzOTUHlrIsEr7pNYP/uuvmi1U3p5Kp1Fy+8ViW/LS JyBH95pjpRPfGVcKLhCONtL3iuz/GKeIGLiDxxev5yn9SMbzr20prudkzHH/TV89wW9k 9aXfO7pTDd4JAs+VqKigzWpC7i5lGTPpTWBPddcPCijFdyBMYEI4bfTJLuuo+myYXXhE pTDg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:dkim-signature:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from; bh=9f29pbSqkFcdd7oAkk+SxFMIq+bbPbn8eq0ySyEkrP8=; b=orPB0tC40NPWMKkOQ9Rnrm0yCkz7yEhg7s5VH9acfBGTrRmdJOoH6VmCS5XB2IYYgt ccv/bVaTFNGegfn6QrU14AYSJOoemW0XMBLx9QQTnvxtkCJIOvywPrjbUtyGpQdDKxjf 9kJjsooy1MVreK97a5mQmCoCbTWa81XR8LvilBmRwyBHzUKSTWab/l3FhxL1kaVTTYtE K65SC0ZoQijRwZaP4xA9XBB0KmBIi/gSDbDJnqrncPOfc08wwBHxpmNe/UCwt0KXExPB tqiMlt8ZBe3CzBFieZZN/n67Z+ip870bMHTx2voyDsvBaEfUvhcxfAGxxls3E/Vhlngb DbYw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nvidia.com header.s=n1 header.b=ah2XlkaW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nvidia.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i26si1816316edx.182.2021.01.27.16.04.29; Wed, 27 Jan 2021 16:04:53 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@nvidia.com header.s=n1 header.b=ah2XlkaW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nvidia.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236645AbhA0P7l (ORCPT + 99 others); Wed, 27 Jan 2021 10:59:41 -0500 Received: from hqnvemgate25.nvidia.com ([216.228.121.64]:9679 "EHLO hqnvemgate25.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1343499AbhA0P6w (ORCPT ); Wed, 27 Jan 2021 10:58:52 -0500 Received: from hqmail.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate25.nvidia.com (using TLS: TLSv1.2, AES256-SHA) id ; Wed, 27 Jan 2021 07:58:11 -0800 Received: from [10.2.60.78] (172.20.145.6) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Wed, 27 Jan 2021 15:58:09 +0000 From: Zi Yan To: David Hildenbrand CC: , , Andrew Morton , Thomas Gleixner , "Peter Zijlstra (Intel)" , Mike Rapoport , Oscar Salvador , Michal Hocko , Wei Yang Subject: Re: [PATCH v1 1/2] mm/cma: expose all pages to the buddy if activation of an area fails Date: Wed, 27 Jan 2021 10:58:07 -0500 X-Mailer: MailMate (1.14r5757) Message-ID: In-Reply-To: <20210127101813.6370-2-david@redhat.com> References: <20210127101813.6370-1-david@redhat.com> <20210127101813.6370-2-david@redhat.com> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=_MailMate_C33B7D64-5C83-4FBC-BA12-F7A9307092F5_="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Originating-IP: [172.20.145.6] X-ClientProxiedBy: HQMAIL111.nvidia.com (172.20.187.18) To HQMAIL107.nvidia.com (172.20.187.13) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1611763091; bh=9f29pbSqkFcdd7oAkk+SxFMIq+bbPbn8eq0ySyEkrP8=; h=From:To:CC:Subject:Date:X-Mailer:Message-ID:In-Reply-To: References:MIME-Version:Content-Type:X-Originating-IP: X-ClientProxiedBy; b=ah2XlkaWBFiiZS0L9idrb9CF+xCVfPvoK3ioAPJQ4Uhc0WVBrrMJPJA8RUI/PRWmp Nn7Cf34Ip2pyzXs8ESvPdjyJtPMIsttP58MurpzmtYX0QOc7WjzFCh+f6Yccole0wO gkTZUW5ZMcR7kT55+8CYBNJNpMMI13q+3+dW6ER7YBe+cadDphDNWIfU4/bJ8Cxx// X+Yzx1AdQiBb66jOWBZ9Zmi+Qw+WJ0sOvSjhawUlMBNrVktOfwcuPtwaE3LuYPlfnW H5k8LQMj3hDXeXXbHjBK2kB71uHI+/Qd+quW1j+XJxspawmdXYb5KLyfdssuxAa8aY 4rkT6re6/mE6g== Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --=_MailMate_C33B7D64-5C83-4FBC-BA12-F7A9307092F5_= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On 27 Jan 2021, at 5:18, David Hildenbrand wrote: > Right now, if activation fails, we might already have exposed some page= s to > the buddy for CMA use (although they will never get actually used by CM= A), > and some pages won't be exposed to the buddy at all. > > Let's check for "single zone" early and on error, don't expose any page= s > for CMA use - instead, expose them to the buddy available for any use. > Simply call free_reserved_page() on every single page - easier than > going via free_reserved_area(), converting back and forth between pfns > and virt addresses. > > In addition, make sure to fixup totalcma_pages properly. > > Example: 6 GiB QEMU VM with "... hugetlb_cma=3D2G movablecore=3D20% ...= ": > [ 0.006891] hugetlb_cma: reserve 2048 MiB, up to 2048 MiB per node= > [ 0.006893] cma: Reserved 2048 MiB at 0x0000000100000000 > [ 0.006893] hugetlb_cma: reserved 2048 MiB on node 0 > ... > [ 0.175433] cma: CMA area hugetlb0 could not be activated > > Before this patch: > # cat /proc/meminfo > MemTotal: 5867348 kB > MemFree: 5692808 kB > MemAvailable: 5542516 kB > ... > CmaTotal: 2097152 kB > CmaFree: 1884160 kB > > After this patch: > # cat /proc/meminfo > MemTotal: 6077308 kB > MemFree: 5904208 kB > MemAvailable: 5747968 kB > ... > CmaTotal: 0 kB > CmaFree: 0 kB > > Note: cma_init_reserved_mem() makes sure that we always cover full > pageblocks / MAX_ORDER - 1 pages. > > Cc: Andrew Morton > Cc: Thomas Gleixner > Cc: "Peter Zijlstra (Intel)" > Cc: Mike Rapoport > Cc: Oscar Salvador > Cc: Michal Hocko > Cc: Wei Yang > Signed-off-by: David Hildenbrand > --- > mm/cma.c | 43 +++++++++++++++++++++---------------------- > 1 file changed, 21 insertions(+), 22 deletions(-) LGTM. Reviewed-by: Zi Yan =E2=80=94 Best Regards, Yan Zi --=_MailMate_C33B7D64-5C83-4FBC-BA12-F7A9307092F5_= Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQJDBAEBCgAtFiEEh7yFAW3gwjwQ4C9anbJR82th+ooFAmARjY8PHHppeUBudmlk aWEuY29tAAoJEJ2yUfNrYfqKyU4P/22fuj51aHN6OYJfCdJFXadykeJMaDU8w57E P7k1tXv7vtcg7TWJBZLNLLVNU8myIzGs2Buj948GqSv0eiRzIElRx/5XWIjA6zz2 JJw8uY8NfoQcma0ooVxO7rf7TYU0sqwVXMy55yKvnP0jmMqnvcxgh4w47tWJHgno 8PiC49x00WmS6V/LO4/ve2qe65un0u7moyaf+7Ev1h9n2Dk9t8yR6jTAoq0nUIUo uRyuX0Rhc3o/1aic9vbN1aT/CF9b23utOdiwjGo2cWn0lIL8CLZKJ1Cu6UXsjV80 upibyL6hfsy8oXfH81BbLcuCCbslLKyxm+MPaAk81HgVdg9S0Joho6PGR82tpkmO 3vlIkhrNQ0USB9XaqJr2eYs8t2Zu0kABmonuJbbArBwDmRrDc5E5XKNgTA1XztiD Gxr2W85AJBexWySTc68YQEWJUhL+LJ5cqCsQg/C835ZLXGEMgirBiXeKzybTwwhh FbBiFzHFb5sN0aVC9RfM3IPQJ/dSWK3kIBe4l3EVS6Z0mWKzBAtJ54JOiTQSU5Ke MUBrvYUeFJdpaghds4G8iTfovDDyuG6UbZnK8v+/HdA2Z2RCvLTsDeMCziqvDtrh 6iT5Uu4GbXb62iAFtAtU5Ll+5K1s5YXa8I1vCWPGcKM3bqH/IFTBLzz4R+OR2Wkl F4+Y+kxh =drxX -----END PGP SIGNATURE----- --=_MailMate_C33B7D64-5C83-4FBC-BA12-F7A9307092F5_=--