Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752103AbdFTR3K (ORCPT ); Tue, 20 Jun 2017 13:29:10 -0400 Received: from mx1.redhat.com ([209.132.183.28]:45106 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751090AbdFTR3J (ORCPT ); Tue, 20 Jun 2017 13:29:09 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com DA116C04B303 Authentication-Results: ext-mx07.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx07.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=riel@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com DA116C04B303 Message-ID: <1497979740.20270.102.camel@redhat.com> Subject: Re: [PATCH v11 4/6] mm: function to offer a page block on the free list From: Rik van Riel To: David Hildenbrand , 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 Date: Tue, 20 Jun 2017 13:29:00 -0400 In-Reply-To: <7b626551-6d1b-c8d5-4ef7-e357399e78dc@redhat.com> 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> Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="=-9kj1x8ztObs/ecPVraUB" Mime-Version: 1.0 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Tue, 20 Jun 2017 17:29:09 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2292 Lines: 67 --=-9kj1x8ztObs/ecPVraUB Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, 2017-06-20 at 18:49 +0200, David Hildenbrand wrote: > On 20.06.2017 18:44, Rik van Riel wrote: > > Nitesh Lal (on the CC list) is working on a way > > to efficiently batch recently freed pages for > > free page hinting to the hypervisor. > >=20 > > 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? > >=20 >=20 > David's opinion incoming: >=20 > 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. I agree with that. Let me go into some more detail of what Nitesh is implementing: 1) In arch_free_page, the being-freed page is added to a per-cpu set of freed pages. 2) Once that set is full, arch_free_pages goes into a slow path, which: 2a) Iterates over the set of freed pages, and 2b) Checks whether they are still free, and 2c) Adds the still free pages to a list that is to be passed to the hypervisor, to be MADV_FREEd. 2d) Makes that hypercall. Meanwhile all arch_alloc_pages has to do is make sure it does not allocate a page while it is currently being MADV_FREEd on the hypervisor side. The code Wei is working on looks like it could be=20 suitable for steps (2c) and (2d) above. Nitesh already has code for steps 1 through 2b. --=20 All rights reversed --=-9kj1x8ztObs/ecPVraUB Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAABCAAGBQJZSVtcAAoJEM553pKExN6DWsAH/RVdYjrbXdTBMg+9KCGD7zih 8IjHH7OSo7O9qBnWrHCPhvs8A6y/LusCYmEdWaCH2EVZc8cgvsrEc2Ju5Wt7MnPn nT6sE5MCVS5puJmnNGlg8jA1PM+bsgx7qUYsRcVAtIMFou0eoSjIGTrQ7GCuefNB 7aW02aByPg3IaDE0ukP4tPvTeSowuTCSsYU+cdaF0TR9qO9j6kdLAr4rxhWQsuIT HMS/6Dztj9blBhP2JZM8pYu4MqZ5/Wjf6THBCSz3jNgd8HxkD8YYZgyjIn/FTg2v yJjcmTDnUoXXsDxzJfgKgXC3ludgiuJuhkMF+bMEYG9NpKEupa09a3JQWhi+oQ0= =bV0p -----END PGP SIGNATURE----- --=-9kj1x8ztObs/ecPVraUB--