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 -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html