[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |