RE: [Xen-devel] [PATCH 1/2] RFC: Prepare PAD for native and xenplatform

From: Liu, Jinsong
Date: Thu Mar 29 2012 - 03:05:18 EST


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 ?

I also don't have proper machine to test native pad w/ _PUR :(
But if your idea based on exposing mwait, I worry it may bring other troubles as I replied another thread yesterday. We can discuss it.

Thanks,
Jinsong--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/