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

Re: [Xen-devel] [PATCH RFC 2/3] x86/xen/time: setup vcpu 0 time info page




On 01/04/2016 04:07 PM, Boris Ostrovsky wrote:
> On 12/28/2015 04:52 PM, Joao Martins wrote:
>> +
>> +static int xen_setup_vsyscall_time_info(int cpu)
>> +{
>> +    struct pvclock_vsyscall_time_info *ti;
>> +    struct vcpu_register_time_memory_area t;
>> +    struct pvclock_vcpu_time_info *pvti;
>> +    unsigned long mem;
>> +    int ret, size;
>> +    u8 flags;
>> +
>> +    ret = HYPERVISOR_vcpu_op(VCPUOP_register_vcpu_time_memory_area,
>> +                             cpu, NULL);
>> +    if (ret == -ENOSYS) {
>> +            pr_debug("xen: vcpu_time_info placement not supported\n");
>> +            return -ENOTSUPP;
>> +    }
> 
> I don't think this is necessary.
> 
OK, I will remove it.

>> +
>> +    size = PAGE_ALIGN(sizeof(struct pvclock_vsyscall_time_info));
>> +    mem = memblock_alloc(size, PAGE_SIZE);
>> +    if (!mem)
>> +            return -ENOMEM;
>> +
>> +    ti = __va(mem);
>> +    memset(ti, 0, size);
> 
> Can you just use get_zeroed_page()? (struct pvclock_vsyscall_time_info 
> is always less than a page, isn't it?).
Yeah, I can use get_zeroed_page() (struct pvclock_vsyscall_time_info is always
less than a page).

Additionally perhaps this region shouldn't be freed if PVCLOCK_TSC_STABLE_BIT
isn't supported, because otherwise I would end up corrupting data elsewhere
since the pvti would still be periodically updated by Xen, right?

> 
> 
> -boris
> 

_______________________________________________
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®.