From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: [Xen-devel] [PATCH 1/2] RFC: Prepare PAD for native and xen platform Date: Mon, 26 Mar 2012 12:48:35 -0400 Message-ID: <20120326164835.GE10236@phenom.dumpdata.com> References: <4F46530B020000780007F751@nat28.tlf.novell.com> <20120226173458.GB18098@phenom.dumpdata.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org To: "Liu, Jinsong" Cc: "Brown, Len" , "xen-devel@lists.xensource.com" , "linux-kernel@vger.kernel.org" , "linux-acpi@vger.kernel.org" , "keir.xen@gmail.com" , Jan Beulich , "Li, Shaohua" , "lenb@kernel.org" List-Id: linux-acpi@vger.kernel.org > > Compare approaches: > > > > 1. xen overwritten approach (patches V2, x86_init, osl approach) > > Pros: > > a little simpler code > > Cons: > > 1). specific to xen, cannot extend to other virt platform; > > 2). need to change natvie acpi_pad as modular; > > > > 2. paravirt interface approach (original patches V1) > > Pros: > > 1). standard hypervisor-agnostic interface (USENIX conference > > 2006), can easily hook to Xen/lguest/... on demand; 2). arch > > independent; 3). no need to change native acpi_pad as > > non-modular; Cons: > > a little complicated code, and code patching is some > > overkilled for this case (but no harm); > > > > (BTW, in the future we need add more and more pv ops, like pv_pm_ops, > > pv_cpu_hotplug_ops, pv_mem_hotplug_ops, etc. So how about add a > > pv_misc_ops template to handle them all? seems it's a common issue). > > I think (and you probabaly have a better idea) is that the maintainer of drivers/acpi/* is not very open to adding in code that only benefits Xen. If it benefits other architectures (say ARM) then adding in hooks there (in osl for example) makes sense - but I am not sure if ARM has a form of _PUR code/calls it needs to do. So with that in mind, neither of those options seems proper - as all of them depend on changing something in drivers/acpi/*. I've one or two suggestions of what could be done to still make this work, but I need you to first see what happens if the native acpi_pad runs under Xen with the latest upstream code (along with three patches that are in a BZ I pointed you too).