[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v7 12/32] xen/x86: add bitmap of enabled emulated devices



On 07/10/15 12:55, Roger Pau Monnà wrote:
> El 06/10/15 a les 13.05, George Dunlap ha escrit:
>> On 05/10/15 10:34, Andrew Cooper wrote:
>>> On 02/10/15 16:48, Roger Pau Monne wrote:
>>>> Introduce a bitmap in x86 xen_arch_domainconfig that allows enabling or
>>>> disabling specific devices emulated inside of Xen for HVM guests.
>>>>
>>>> Signed-off-by: Roger Pau Monnà <roger.pau@xxxxxxxxxx>
>>>> Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx>
>>>> Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
>>>> Cc: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
>>>> Cc: Ian Campbell <ian.campbell@xxxxxxxxxx>
>>>> Cc: Wei Liu <wei.liu2@xxxxxxxxxx>
>>>> Cc: Jan Beulich <jbeulich@xxxxxxxx>
>>>> Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
>>>> Cc: George Dunlap <george.dunlap@xxxxxxxxxxxxx>
>>>
>>> Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, with 2 small
>>> suggestions.
>>>
>>>> diff --git a/xen/common/schedule.c b/xen/common/schedule.c
>>>> index 5ffa1a1..aeb911e 100644
>>>> --- a/xen/common/schedule.c
>>>> +++ b/xen/common/schedule.c
>>>> @@ -1428,6 +1428,9 @@ static struct notifier_block cpu_schedule_nfb = {
>>>>  /* Initialise the data structures. */
>>>>  void __init scheduler_init(void)
>>>>  {
>>>> +#ifdef CONFIG_X86
>>>> +    struct xen_arch_domainconfig config = { .emulation_flags = 0 };
>>>> +#endif
>>>>      struct domain *idle_domain;
>>>>      int i;
>>>>  
>>>> @@ -1474,8 +1477,11 @@ void __init scheduler_init(void)
>>>>          sched_ratelimit_us = SCHED_DEFAULT_RATELIMIT_US;
>>>>      }
>>>>  
>>>> -    /* There is no need of arch-specific configuration for an idle domain 
>>>> */
>>>> +#ifdef CONFIG_X86
>>>> +    idle_domain = domain_create(DOMID_IDLE, 0, 0, &config);
>>>> +#else
>>>>      idle_domain = domain_create(DOMID_IDLE, 0, 0, NULL);
>>>> +#endif
>>>
>>> You could get away without this ifdefary if you have
>>>
>>> #else
>>>     void *config = NULL;
>>>
>>> In the previous hunk.
>>
>> It would be even better if you could do what arm does, and accept NULL
>> configurations for the idle, xen, io, and cow domains.
> 
> I'm not sure of that. HVM domains certainly require config to be
> provided, while PV domains could do without it. IMHO it's better for
> consistency of interfaces to always require a valid arch config rather
> than make it depend on the domain type.

ARM requires a config for all *real* domains -- including all guests and
dom0; there's an ASSERT in xen/arm/domain.c:arch_domain_create() to that
effect.  Nonetheless, it accepts NULL for the four "domains" I mentioned
above, because they aren't real domains.  Consistency says it would be
better if x86 behaved like arm (requiring config for real HVM and PV
domains, but not for fake domains).

 -George

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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.