From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Liu, Jinsong" Subject: RE: [Xen-devel] [PATCH 1/2] RFC: Prepare PAD for native and xen platform Date: Thu, 29 Mar 2012 07:27:47 +0000 Message-ID: References: <4F46530B020000780007F751@nat28.tlf.novell.com> <20120226173458.GB18098@phenom.dumpdata.com> <20120326164835.GE10236@phenom.dumpdata.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT Return-path: Received: from mga03.intel.com ([143.182.124.21]:34285 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751082Ab2C2H2s convert rfc822-to-8bit (ORCPT ); Thu, 29 Mar 2012 03:28:48 -0400 In-Reply-To: Content-Language: en-US Sender: linux-acpi-owner@vger.kernel.org List-Id: linux-acpi@vger.kernel.org To: "Liu, Jinsong" , Konrad Rzeszutek Wilk 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" Liu, Jinsong wrote: > Konrad Rzeszutek Wilk wrote: >>>> 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. > > Take paravirt interface approach as example. We only change a little > about native acpi_pad_init/acpi_pad_exit, intercept it and > *implicitly* hook to native/paravirt platform (it didn't appear any > 'xen' 'pv' word in native pad logic). This is what I can find out the > least change to native pad logic, and it in fact benefits > (extensiable) to all pv. If this is still not acceptable we have to > find other way (but I'm not sure) :-) > >> >> 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). > > Do you mean test the patch > http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blobdiff;f=arch/x86/xen/enlighten.c;h=b132ade26f778f2cfec7c2d5c7b6db48afe424d5;hp=4172af8ceeb363d06912af15bf89e8508752b794;hb=d4c6fa73fe984e504d52f3d6bba291fd76fe49f7;hpb=aab008db8063364dc3c8ccf4981c21124866b395 > ? Ah, you want to test https://bugzilla.redhat.com/show_bug.cgi?id=804347 Anyway, I didn't have proper h/w platform, but seems the bug (ioapic) is irrelated to pad thread we are talking? Thanks, Jinsong