Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp107521imu; Mon, 26 Nov 2018 08:31:16 -0800 (PST) X-Google-Smtp-Source: AFSGD/VVz62qtYacBmv9wPND9Tu/6WOMNflxKlAkAoOnWpI2QQFARKx4agD+1ojzWMF3e0cF7DPU X-Received: by 2002:a17:902:820d:: with SMTP id x13mr29060602pln.229.1543249876209; Mon, 26 Nov 2018 08:31:16 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543249876; cv=none; d=google.com; s=arc-20160816; b=XMyBVE2oQ0ZKhKHx7kl3NvWgjJlwkYaIRGAGd2vLW6HzlwHoFGzmwb7xAIeOOtQY+S BG3uAIMluDzjY2b5ANvc+cz4pJ+Wn5FI9z/R7jaKMVYMlha8aSopd23fvn3kqJBr3onx jo6h8u28vN0WR5P+9S16YlBzlkvfDbet5bnl1tcd7Deqs++VCy04bo3v+b43kBI+8ONc B/4r3WE78REW0vVwlsf8fGKWiTEPKkK30cw9jEZq7+x4v5JZKGl/Z9prEPqJ5qt+IJes NfCs5xVwwQ7MfrosgVKyV3c+amOjAIHDVJW4JZEAEF/u5eMTzIPLoLZLZ8/1Apuw/MKo sXTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-language :content-transfer-encoding:in-reply-to:mime-version:user-agent:date :message-id:autocrypt:openpgp:from:references:cc:to:subject :dkim-signature; bh=JoN0MPmoFQjIbxvse47pOETRaUohnl6rO0EkS++1s8o=; b=VLJgTpjRCrSHHd7v2E7AGk3v5LL+UlZ5N2fIkpGqKykRn6Y7K1DE+Qw3kIXw8PEv5y 0vs8weTG1S88+TznsYXdkjdeSlxpSxPAcip86rVVFzG1TEIiSzpBf9tIZeaVqANZ83bZ ZecSRYF+DUFJn+E+A3qcPYxZ4qdop8Davvkid9bxUBAKvPWv9GnZesxAbMd0dkmGLGhA jFE3540U2pawxB88fXKmzf6AAm5WzgvntziXATk60RHVgx96UOz8uoXNCQUXc9Ktmbs5 symU3gH6jcOcDDDgdO1TwPNqS3ILVH3FMiSN7KoXZEN+DXRqhS3ybhjPKTEy3GDix/nc Z4Kg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2018-07-02 header.b=iBSGo3yB; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o1si636893plk.257.2018.11.26.08.30.13; Mon, 26 Nov 2018 08:31:16 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2018-07-02 header.b=iBSGo3yB; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726399AbeK0DUb (ORCPT + 99 others); Mon, 26 Nov 2018 22:20:31 -0500 Received: from userp2120.oracle.com ([156.151.31.85]:44756 "EHLO userp2120.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726248AbeK0DUb (ORCPT ); Mon, 26 Nov 2018 22:20:31 -0500 Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.22/8.16.0.22) with SMTP id wAQGOpON105891; Mon, 26 Nov 2018 16:25:45 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=subject : to : cc : references : from : message-id : date : mime-version : in-reply-to : content-type : content-transfer-encoding; s=corp-2018-07-02; bh=JoN0MPmoFQjIbxvse47pOETRaUohnl6rO0EkS++1s8o=; b=iBSGo3yBKckTQ8rWyd5yppa7Wa8rBxyxPbiYN2tGXmu+E/DjZQyFAT54ghM2uMUZjdZS H0ol+Ru3H02wIsnHzQjIyH93LNm0JakYnnUxN7PjGNsXN3dNNDfDV9v9HU1bxUbG5Kq+ zAfs73KQyIDOxU/BV+MF09tRAtV7Wassu9ulizwvyqvgSUyju3dGnrRU7HB6BxJ++mw2 1oNsKLuX5/Izqwx4IYpldIinWG4trp9u5tBvYSYL50OmApKZ0JupUmC8J6fGNdbcs64X Za+ZlmUVOibkQsSKOnALgCVsRXnQz7G/l64ts6nipvGXTVxcb6+nRSwOVa5dyOx1ncW7 KA== Received: from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234]) by userp2120.oracle.com with ESMTP id 2nxy9qxry1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 26 Nov 2018 16:25:44 +0000 Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by aserv0022.oracle.com (8.14.4/8.14.4) with ESMTP id wAQGPcCl015042 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 26 Nov 2018 16:25:38 GMT Received: from abhmp0003.oracle.com (abhmp0003.oracle.com [141.146.116.9]) by userv0121.oracle.com (8.14.4/8.13.8) with ESMTP id wAQGPb4N020077; Mon, 26 Nov 2018 16:25:37 GMT Received: from dhcp-burlington7-2nd-B-east-10-152-55-162.usdhcp.oraclecorp.com (/10.152.32.65) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 26 Nov 2018 08:25:36 -0800 Subject: Re: [Xen-devel] [PATCH v3] xen/balloon: Mark unallocated host memory as UNUSABLE To: Igor Druzhinin , xen-devel@lists.xen.org, linux-kernel@vger.kernel.org Cc: jgross@suse.com, helgaas@kernel.org, christian.koenig@amd.com, JBeulich@suse.com References: <1513778746-6155-1-git-send-email-boris.ostrovsky@oracle.com> <7c833e3a-4a0b-e80c-91e2-4348d6959651@citrix.com> From: Boris Ostrovsky Openpgp: preference=signencrypt Autocrypt: addr=boris.ostrovsky@oracle.com; prefer-encrypt=mutual; keydata= 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 Jg6OxFYd01z+a+oL Message-ID: Date: Mon, 26 Nov 2018 11:25:27 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.3.0 MIME-Version: 1.0 In-Reply-To: <7c833e3a-4a0b-e80c-91e2-4348d6959651@citrix.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Content-Language: en-US X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=9089 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1811260146 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/25/18 8:00 PM, Igor Druzhinin wrote: > On 20/12/2017 14:05, Boris Ostrovsky wrote: >> Commit f5775e0b6116 ("x86/xen: discard RAM regions above the maximum >> reservation") left host memory not assigned to dom0 as available for >> memory hotplug. >> >> Unfortunately this also meant that those regions could be used by >> others. Specifically, commit fa564ad96366 ("x86/PCI: Enable a 64bit BAR >> on AMD Family 15h (Models 00-1f, 30-3f, 60-7f)") may try to map those >> addresses as MMIO. >> >> To prevent this mark unallocated host memory as E820_TYPE_UNUSABLE (thus >> effectively reverting f5775e0b6116) and keep track of that region as >> a hostmem resource that can be used for the hotplug. >> >> Signed-off-by: Boris Ostrovsky > This commit breaks Xen balloon memory hotplug for us in Dom0 with > "hoplug_unpopulated" set to 1. The issue is that the common kernel > memory onlining procedures require "System RAM" resource to be 1-st > level. That means by inserting it under "Unusable memory" as the commit > above does (intentionally or not) we make it 2-nd level and break memory > onlining. What do you mean by 1st and 2nd level? > > There are multiple ways to fix it depending on what was the intention of > original commit and what exactly it tried to workaround. It seems it > does several things at once: > 1) Marks non-Dom0 host memory "Unusable memory" in resource tree. > 2) Keeps track of all the areas safe for hotplug in Dom0 > 3) Changes allocation algorithms itself in balloon driver to use those areas Pretty much. (3) is true in the sense that memory is first allocated from hostmem_resource (which is non-dom0 RAM). > > Are all the things above necessary to cover the issue in fa564ad96366 > ("x86/PCI: Enable a 64bit BAR on AMD Family 15h (Models 00-1f, 30-3f, > 60-7f)")? Not anymore, as far as that particular commit is concerned, but that's because of 03a551734 ("x86/PCI: Move and shrink AMD 64-bit window to avoid conflict") which was introduced after balloon patch. IIRC there were some issues with fa564ad96366unrelated to balloon. > > Can we remove "Unusable memory" resources as soon as we finished > booting? Is removing on-demand is preferable over "shoot them all" in > that case? The concern is that in principle nothing prevents someone else to do exact same thing fa564ad96366 did, which is grab something from right above end of RAM as the kernel sees it. And that can be done at any point. -boris > > Does it even make sense to remove the 1-st level only restriction in > kernel/resource.c ?