From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1423547AbXBPKKz (ORCPT ); Fri, 16 Feb 2007 05:10:55 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1423549AbXBPKKz (ORCPT ); Fri, 16 Feb 2007 05:10:55 -0500 Received: from smtp.osdl.org ([65.172.181.24]:38196 "EHLO smtp.osdl.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1423547AbXBPKKy (ORCPT ); Fri, 16 Feb 2007 05:10:54 -0500 Date: Fri, 16 Feb 2007 02:09:47 -0800 From: Andrew Morton To: "Christian Limpach" Cc: "Jeremy Fitzhardinge" , "Chris Wright" , "Andi Kleen" , "Keir Fraser" , , "Ian Pratt" , , "Steven Hand" , Subject: Re: [patch 14/21] Xen-paravirt: Add XEN config options and disableunsupported config options. Message-Id: <20070216020947.03e1726e.akpm@linux-foundation.org> In-Reply-To: References: X-Mailer: Sylpheed version 2.2.7 (GTK+ 2.8.17; x86_64-unknown-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 16 Feb 2007 02:00:39 -0800 "Christian Limpach" wrote: > Jeremy Fitzhardinge wrote: > > Andrew Morton wrote: > > > On Thu, 15 Feb 2007 22:14:45 -0800 Dan Hecht > > wrote: > > > > > > > > >>> config PREEMPT > > >>> bool "Preemptible Kernel (Low-Latency Desktop)" > > >>> + depends on !XEN > > >>> help > > >>> This option reduces the latency of the kernel by making > > >>> all kernel code (that is not executing in a critical section) > > >>> > > >>> > > > > > > Oh, so that's why it doesn't break when CONFIG_PREEMPT=y. > > In which case > > > that preempt_disable() I spotted is wrong-and-unneeded. > > > > > > Why doesn't Xen work with preemption?? > > > > > > > I've forgotten the details. Ian? Keir? Steven? Maybe it > > can be done. > > With CONFIG_PREEMPT, we can have preempted threads reference machine > addresses across save/restore. After restore, these machine addresses > will be incorrect. > It would help if you could define the terms "save/restore" and "machine addresses". One can guess, but there are probably subtleties here.. Are the places where the domU code references machine addresses splattered all over the code? If not, they can just be wrapped with preempt_disable/preempt_enable? From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Morton Subject: Re: [patch 14/21] Xen-paravirt: Add XEN config options and disableunsupported config options. Date: Fri, 16 Feb 2007 02:09:47 -0800 Message-ID: <20070216020947.03e1726e.akpm@linux-foundation.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org To: Christian Limpach Cc: Jeremy Fitzhardinge , Chris Wright , Andi Kleen , Keir Fraser , xen-devel@lists.xensource.com, Ian Pratt , virtualization@lists.osdl.org, Steven Hand , linux-kernel@vger.kernel.org List-Id: virtualization@lists.linuxfoundation.org On Fri, 16 Feb 2007 02:00:39 -0800 "Christian Limpach" wrote: > Jeremy Fitzhardinge wrote: > > Andrew Morton wrote: > > > On Thu, 15 Feb 2007 22:14:45 -0800 Dan Hecht > > wrote: > > > > > > > > >>> config PREEMPT > > >>> bool "Preemptible Kernel (Low-Latency Desktop)" > > >>> + depends on !XEN > > >>> help > > >>> This option reduces the latency of the kernel by making > > >>> all kernel code (that is not executing in a critical section) > > >>> > > >>> > > > > > > Oh, so that's why it doesn't break when CONFIG_PREEMPT=y. > > In which case > > > that preempt_disable() I spotted is wrong-and-unneeded. > > > > > > Why doesn't Xen work with preemption?? > > > > > > > I've forgotten the details. Ian? Keir? Steven? Maybe it > > can be done. > > With CONFIG_PREEMPT, we can have preempted threads reference machine > addresses across save/restore. After restore, these machine addresses > will be incorrect. > It would help if you could define the terms "save/restore" and "machine addresses". One can guess, but there are probably subtleties here.. Are the places where the domU code references machine addresses splattered all over the code? If not, they can just be wrapped with preempt_disable/preempt_enable?