Re: [patch 14/21] Xen-paravirt: Add XEN config options and disable unsupported config options.

Avi Kivity
2007-02-18T11:32:54Z

Zachary Amsden wrote:
> Jeremy Fitzhardinge wrote:
>> The XEN config option enables the Xen paravirt_ops interface, which is
>> installed when the kernel finds itself running under Xen. (By some
>> as-yet fully defined mechanism, implemented in a future patch.)
>>
>> Xen is no longer a sub-architecture, so the X86_XEN subarch config
>> option has gone.
>>
>> The disabled config options are:
>> - PREEMPT: Xen doesn't support it
>> - HZ: set to 100Hz for now, to cut down on VCPU context switch rate.
>> This will be adapted to use tickless later.
>> - kexec: not yet supported
>>
>> Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
>> Signed-off-by: Ian Pratt <ian.pratt@xensource.com>
>> Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
>> Signed-off-by: Chris Wright <chrisw@sous-sol.org>
>>
>
> We do support different HZ values, although 100HZ is actually
> preferable for us, so I don't object to that.

Ditto for kvm.

> PREEMPT is supported by us, but not as tested as I would like, so I
> also don't object to dropping it for generic paravirt guests - Rusty -
> Avi any objections to dropping preempt in terms of lguest/KVM
> paravirtualization?

I don't have any objections myself, but Ingo (who has done the bulk of
the kvm paravirt work; cc'ed) uses PREEMPT_RT, so he will certainly object.

>
> Paravirt-ops definitely needs a hook for kexec, although we should not
> disable kexec for the natively booted paravirt-ops. Eric - is there a
> way to disable it at runtime?

kvm paravirt should work correctly with kexec.

>
> We do support the doublefault task gate, and it would be good to keep
> it, but I can't complain so much if it is gone from generic paravirt
> kernels for now, because it is non-essential, and generally fatal
> anyway. We do need it for native boots of paravirt-ops kernels,
> however, so turning off the config option still needs to be revisited.

kvm doesn't support task gates (a task switch will immediately kill the
guest).

--
error compiling committee.c: too many arguments to function