Thread (9 messages) 9 messages, 2 authors, 2021-07-14

Re: [PATCH 1/3] Drivers: hv: Make portions of Hyper-V init code be arch neutral

From: Wei Liu <wei.liu@kernel.org>
Date: 2021-07-12 18:51:13
Also in: linux-arch, lkml

On Mon, Jul 12, 2021 at 06:41:21PM +0000, Michael Kelley wrote:
From: Wei Liu <wei.liu@kernel.org> Sent: Monday, July 12, 2021 11:24 AM
quoted
On Sun, Jul 11, 2021 at 08:25:14PM -0700, Michael Kelley wrote:
[...]
quoted
+int hv_common_cpu_init(unsigned int cpu)
+{
+	void **inputarg, **outputarg;
+	u64 msr_vp_index;
+	gfp_t flags;
+	int pgcount = hv_root_partition ? 2 : 1;
+
+	/* hv_cpu_init() can be called with IRQs disabled from hv_resume() */
+	flags = irqs_disabled() ? GFP_ATOMIC : GFP_KERNEL;
+
+	inputarg = (void **)this_cpu_ptr(hyperv_pcpu_input_arg);
+	*inputarg = kmalloc(pgcount * HV_HYP_PAGE_SIZE, flags);
This is changed from alloc_pages to kmalloc. Does it ensure the
alignment is still correct?

Wei.
It does.  The alignment guarantee made by kmalloc() was changed a
couple of years ago.  See commit 59bb47985c1d.  Here's the current text
from the comments preceding kmalloc():

* The allocated object address is aligned to at least ARCH_KMALLOC_MINALIGN
 * bytes. For @size of power of two bytes, the alignment is also guaranteed
 * to be at least to the size.
OK. That's good.

Wei.
Michael
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help