On 01/04/2016 03:41 PM, Joao Martins wrote:
On 01/04/2016 04:07 PM, Boris Ostrovsky wrote:
On 12/28/2015 04:52 PM, Joao Martins wrote:
+
+ 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?
You could try setting it back to NULL. e.g.
if (!HYPERVISOR_vcpu_op(VCPUOP_register_vcpu_time_memory_area, cpu,
NULL))
free_page(..);
-boris
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel