From mboxrd@z Thu Jan 1 00:00:00 1970 From: Keir Fraser Subject: Re: Need help with fixing the Xen waitqueue feature Date: Wed, 23 Nov 2011 17:16:43 +0000 Message-ID: References: <20111123170017.GC6000@aepfle.de> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20111123170017.GC6000@aepfle.de> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Olaf Hering Cc: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org On 23/11/2011 17:00, "Olaf Hering" wrote: > On Tue, Nov 22, Keir Fraser wrote: > >> We obviously can't have dom0 going to sleep on paging work. This, at least, >> isn't a wait-queue bug. > > I had to rearrange some code in p2m_mem_paging_populate for my debug > stuff. This led to an uninitialized req, and as a result req.flags > sometimes had MEM_EVENT_FLAG_VCPU_PAUSED set. For some reason gcc did > not catch that.. > Now waitqueues appear to work ok for me. Thanks! Great. However, while eyeballing wait.c I spotted at least two bugs. I'm pretty sure that the hypervisor will blow up pretty quickly when you resume testing with multiple physical CPUs, for example. I need to create a couple of fixup patches which I will then send to you for test. By the way, did you test my patch to domain_crash when the stack-save area isn't large enough? > What do you think about C99 initializers in p2m_mem_paging_populate, > just to avoid such mistakes? > > mem_event_request_t req = { .type = MEM_EVENT_TYPE_PAGING }; We like them. -- Keir