Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S261271AbVEaGfx (ORCPT ); Tue, 31 May 2005 02:35:53 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S261272AbVEaGfx (ORCPT ); Tue, 31 May 2005 02:35:53 -0400 Received: from courier.cs.helsinki.fi ([128.214.9.1]:39096 "EHLO mail.cs.helsinki.fi") by vger.kernel.org with ESMTP id S261271AbVEaGfq (ORCPT ); Tue, 31 May 2005 02:35:46 -0400 References: <1117291619.9665.6.camel@localhost> <84144f0205052911202863ecd5@mail.gmail.com> <1117399764.9619.12.camel@localhost> <1117466611.9323.6.camel@localhost> In-Reply-To: From: "Pekka J Enberg" To: Linus Torvalds Cc: Pekka Enberg , Kernel Mailing List , Ingo Molnar Subject: Re: Machine Freezes while Running Crossover Office Date: Tue, 31 May 2005 09:35:45 +0300 Mime-Version: 1.0 Content-Type: text/plain; format=flowed; charset="utf-8,iso-8859-1" Content-Transfer-Encoding: 7bit Message-ID: Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1490 Lines: 38 On Mon, 2005-05-30 at 10:31 -0700, Linus Torvalds wrote: > Also, pipes are a bit special from a scheduling standpoint because they > use the magic "synchronous wakeup" thing, and it might be worthwhile > trying to just change the two calls to "wake_up_interruptible_sync()" in > fs/pipe.c to the non-sync version (ie just remove the "_sync" part). Btw, I was looking at this yesterday but noticed there are no __wake_up_sync() calls in the oprofile report. So I don't think we're hitting the sync wakeup paths at all. I also read Crossover sources a bit and I think the setup is something like this: wineserver: - Polls a 'reply' pipe to see if there's something to read. - If the pipe has something for us, read it. - Do something and the write results to another pipe. wine-preloader: - Write to the 'reply' pipe. - Read from the another pipe. Looks if the processes keep on waking up each other and thus eat up all CPU time. (Even more so if Crossover uses RT priority, have to check that.) P.S. I can also verify that it is indeed the 64 KB change that breaks Crossover. I changed PIPE_BUFFERS to 1 and could not reproduce the hang. Increasing it to 8 makes the problem come up again. Pekka - 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/