Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756883Ab0DEX21 (ORCPT ); Mon, 5 Apr 2010 19:28:27 -0400 Received: from smtp-outbound-2.vmware.com ([65.115.85.73]:52080 "EHLO smtp-outbound-2.vmware.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756494Ab0DEX2U (ORCPT ); Mon, 5 Apr 2010 19:28:20 -0400 Date: Mon, 5 Apr 2010 16:28:20 -0700 From: Dmitry Torokhov To: Andrew Morton Cc: Dan Magenheimer , Avi Kivity , Jeremy Fitzhardinge , "linux-kernel@vger.kernel.org" , "pv-drivers@vmware.com" Subject: Re: [PATCH] VMware Balloon driver Message-ID: <20100405232820.GD25970@dtor-ws.eng.vmware.com> References: <20100404215202.GA13020@dtor-ws.eng.vmware.com> <20100405142419.2c9bea3d.akpm@linux-foundation.org> <4BBA5E1C.10706@goop.org> <20100405151720.8a6ac5e3.akpm@linux-foundation.org> <4BBA6383.7070601@redhat.com20100405154023.c7e4f877.akpm@linux-foundation.org> <9df0ea91-9bff-4038-99f1-fdb80aad7147@default> <20100405161110.6a66bf82.akpm@linux-foundation.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20100405161110.6a66bf82.akpm@linux-foundation.org> User-Agent: Mutt/1.5.20 (2009-08-17) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2036 Lines: 55 On Mon, Apr 05, 2010 at 04:11:10PM -0700, Andrew Morton wrote: > On Mon, 5 Apr 2010 16:03:48 -0700 (PDT) > Dan Magenheimer wrote: > > > > > On 04/06/2010 01:17 AM, Andrew Morton wrote: > > > > >> The basic idea of the driver is to allow a guest system to give up > > > > >> memory it isn't using so it can be reused by other virtual > > > machines (or > > > > >> the host itself). > > > > >> > > > > > So... does this differ in any fundamental way from what > > > hibernation > > > > > does, via shrink_all_memory()? > > > > > > > > > > > > > Just the _all_ bit, and the fact that we need to report the freed > > > page > > > > numbers to the hypervisor. > > > > > > > > > > So... why not tweak that, rather than implementing some parallel > > > thing? > > > > I think Avi was being facetious ("_all_"). Hibernation assumes > > everything in the machine is going to stop for awhile. Ballooning > > assumes that the machine has lower memory need for awhile, but > > is otherwise fully operational. > > shrink_all_memory() doesn't require that processes be stopped. > > If the existing code doesn't exactly match virtualisation's > requirements, it can be changed. > > > Think of it as hot-plug memory > > at a page granularity. > > hotplug is different because it targets particular physical pages. For > this requirement any old page will do. Preferably one which won't be > needed soon, yes? The best page would not old page but unused page. We do rely on the standard mechanisms to find pages that can be freed to inflate balloon, but once pages are allocated they are not available till released. In case of shrinkig memory it can be allocated and used as soon as we wake up (it shrink was done in course of hibernation sequence). -- Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/