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

From: Boris Ostrovsky
Date: Mon Jan 04 2016 - 16:34:25 EST


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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/