[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xen-devel
Subject:    Re: [Xen-devel] [PATCH 1/2] Xen acpi pad implement
From:       "Liu, Jinsong" <jinsong.liu () intel ! com>
Date:       2012-10-31 15:07:49
Message-ID: DE8DF0795D48FD4CA783C40EC82923353769B9 () SHSMSX101 ! ccr ! corp ! intel ! com
[Download RAW message or body]

Konrad Rzeszutek Wilk wrote:
> On Tue, Oct 30, 2012 at 03:18:59PM +0000, Liu, Jinsong wrote:
> > Konrad Rzeszutek Wilk wrote:
> > > > > +config XEN_ACPI_PAD_STUB
> > > > > +	bool
> > > > > +	depends on XEN_DOM0 && X86_64 && ACPI
> > > > > +	default n
> > > > > +
> > > > 
> > > > This Kconfig is pointless, if CONFIG_XEN_ACPI_PAD_STUB = n, native
> > > > pad would successfully registerred, and then mwait #UD (we would
> > > > revert df88b2d96e36d9a9e325bfcd12eb45671cbbc937, right?). So xen
> > > > stub logic should unconditionally built-in kernel.
> > > 
> > > 
> > > Potentially. Keep in mind that there is no need to built this if the
> > > kernel is not built with ACPI.
> > 
> > Sure, 'obj-$(CONFIG_XEN_DOM0) +=' is enough.
> > (XEN_DOM0 depends on ACPI).
> > 
> > > > > +subsys_initcall(xen_acpi_pad_stub_init);
> > > > 
> > > > I'm still confused. In this way there are xen-acpi-pad-stub.c and
> > > > xen-acpi-pad.c, and you want to let xen-acpi-pad loaded as module,
> > > > right? how can xen-acpi-pad logic work when it was insmoded?
> > > 
> > > Via the register/unregister calls that this provides? Or does ACPI
> > > bus drivers get immediately called once the call
> > > acpi_bus_register_driver? 
> > 
> > But when xen stub driver registerred, real xen pad ops has not been
> > hooked to stub ops. 
> > 
> > > 
> > > Or can one 'poke' the 'add' and 'remove' calls so that once the
> > > "true" PAD driver is loaded it will restart the ops->add call?
> > 
> > I think we'd better not to use xen pad stub approach. Technically
> > it's complicated, say, how to match xen_acpi_pad driver w/ pad
> > device? when and how to invoke .add method? how to avoid native pad
> > loading risk? etc. I didn't find its obivous advantages, so how
> > about keep simpler approach?    
> 
> OK. Lets go with that one for right now. The one thing I don't like
> about it is that it is built-in. It would be so much better if it was
> a module, but I am just not sure how to make that work with the
> acpi_pad. Unless the mwait CPUID capability is not exported (so drop
> your patch 1 that reverts a commit). 

Yes, but considering mwait case and its benefit to hypervisor, xen pad built-in \
kernel seems to be the price we have to pay. At least currently I didn't find better \
way.

> 
> Perhaps there is a way to make it a module/built-in with some Kconfig
> magic options? Say if ACPI_PROCESSOR_AGGREGATOR is not set, then we
> can 
> make it a module. But if ACPI_PROCESSOR_AGGREGATOR=m|y then we do it
> as built-in?

Hmm, seems it's hard to express this logic in Kconfig, and that would make xen pad \
logic very complicated :)

Thanks,
Jinsong


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic