From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeremy Fitzhardinge Subject: Re: RE: Ballooning up Date: Mon, 13 Sep 2010 16:06:24 -0700 Message-ID: <4C8EAE70.3030902@goop.org> References: <4C85F973.2030007@goop.org 54eebb3a-f539-43be-8134-a969a4f671c4@default> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Dan Magenheimer Cc: Stefano Stabellini , Xen-devel@lists.xensource.com, Daniel Kiper , Konrad Wilk List-Id: xen-devel@lists.xenproject.org On 09/13/2010 02:39 PM, Dan Magenheimer wrote: > Also, looking at the latest code in xen/next-2.6.32, I see > you have removed the balloon lock. Isn't this necessary > to ensure multiple vcpus aren't racing on adjusting the > balloon size (and performing the hypercalls to do it)? > IOW, are increase/decrease_reservation and the calls > into the hypervisor thread-safe? Yes, because they are all done within the same tasklet, so there's no possibility of races. > And, related especially if the lock goes away (repeat > of question asked here > http://lists.xensource.com/archives/html/xen-devel/2010-08/msg01664.html ) > wouldn't it be better to use a separate workqueue rather than > the kernel default queue, There's a preference to use the default queue unless there's a strong reason to do otherwise, to stop proliferation of kernel tasks. Is there a strong reason to use a specific balloon workqueue? > and is there any reason to > queue the work on every cpu rather than just one? There's a keventd on every CPU, but work is queued on only one CPU at a time - it tends to end up running on the CPU which requested the work to be queued, but if it is already queued then it will be left as-is. I am seeing something queuing delayed work at 1kHz continiously, at least in dom0. Haven't worked out what's going on there... J