Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751711AbdFUM4T (ORCPT ); Wed, 21 Jun 2017 08:56:19 -0400 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:49762 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751041AbdFUM4R (ORCPT ); Wed, 21 Jun 2017 08:56:17 -0400 Subject: Re: [PATCH v11 4/6] mm: function to offer a page block on the free list To: David Hildenbrand , Rik van Riel , Dave Hansen , Wei Wang , linux-kernel@vger.kernel.org, qemu-devel@nongnu.org, virtualization@lists.linux-foundation.org, kvm@vger.kernel.org, linux-mm@kvack.org, mst@redhat.com, cornelia.huck@de.ibm.com, akpm@linux-foundation.org, mgorman@techsingularity.net, aarcange@redhat.com, amit.shah@redhat.com, pbonzini@redhat.com, liliang.opensource@gmail.com Cc: Nitesh Narayan Lal References: <1497004901-30593-1-git-send-email-wei.w.wang@intel.com> <1497004901-30593-5-git-send-email-wei.w.wang@intel.com> <1497977049.20270.100.camel@redhat.com> <7b626551-6d1b-c8d5-4ef7-e357399e78dc@redhat.com> From: Christian Borntraeger Date: Wed, 21 Jun 2017 14:56:03 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.0 MIME-Version: 1.0 In-Reply-To: <7b626551-6d1b-c8d5-4ef7-e357399e78dc@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-IE Content-Transfer-Encoding: 7bit X-TM-AS-GCONF: 00 x-cbid: 17062112-0028-0000-0000-000007DB13D2 X-IBM-SpamModules-Scores: X-IBM-SpamModules-Versions: BY=3.00007265; HX=3.00000241; KW=3.00000007; PH=3.00000004; SC=3.00000214; SDB=6.00877806; UDB=6.00437322; IPR=6.00657946; BA=6.00005434; NDR=6.00000001; ZLA=6.00000005; ZF=6.00000009; ZB=6.00000000; ZP=6.00000000; ZH=6.00000000; ZU=6.00000002; MB=3.00015909; XFM=3.00000015; UTC=2017-06-21 12:56:14 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 17062112-0029-0000-0000-00003651BDDE Message-Id: X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-06-21_03:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=2 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1703280000 definitions=main-1706210220 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1406 Lines: 36 On 06/20/2017 06:49 PM, David Hildenbrand wrote: > On 20.06.2017 18:44, Rik van Riel wrote: >> On Mon, 2017-06-12 at 07:10 -0700, Dave Hansen wrote: >> >>> The hypervisor is going to throw away the contents of these pages, >>> right? As soon as the spinlock is released, someone can allocate a >>> page, and put good data in it. What keeps the hypervisor from >>> throwing >>> away good data? >> >> That looks like it may be the wrong API, then? >> >> We already have hooks called arch_free_page and >> arch_alloc_page in the VM, which are called when >> pages are freed, and allocated, respectively. >> >> Nitesh Lal (on the CC list) is working on a way >> to efficiently batch recently freed pages for >> free page hinting to the hypervisor. >> >> If that is done efficiently enough (eg. with >> MADV_FREE on the hypervisor side for lazy freeing, >> and lazy later re-use of the pages), do we still >> need the harder to use batch interface from this >> patch? >> > David's opinion incoming: > > No, I think proper free page hinting would be the optimum solution, if > done right. This would avoid the batch interface and even turn > virtio-balloon in some sense useless. > Two reasons why I disagree: - virtio-balloon is often used as memory hotplug. (e.g. libvirts current/max memory uses virtio ballon) - free page hinting will not allow to shrink the page cache of guests (like a ballooner does)