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

From: Boris Ostrovsky
Date: Mon Jan 04 2016 - 11:08:10 EST


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.

+
+ 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?).


-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/