Re: [kvm-unit-tests PATCH v1 06/12] lib/alloc.h: remove align_min from struct alloc_ops

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 1/4/21 5:05 AM, Claudio Imbrenda wrote:
On Thu, 24 Dec 2020 10:17:20 -0800
Krish Sadhukhan <krish.sadhukhan@xxxxxxxxxx> wrote:

On 12/16/20 12:11 PM, Claudio Imbrenda wrote:
Remove align_min from struct alloc_ops, since it is no longer used.

Signed-off-by: Claudio Imbrenda<imbrenda@xxxxxxxxxxxxx>
---
   lib/alloc.h      | 1 -
   lib/alloc_page.c | 1 -
   lib/alloc_phys.c | 9 +++++----
   lib/vmalloc.c    | 1 -
   4 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/lib/alloc.h b/lib/alloc.h
index 9b4b634..db90b01 100644
--- a/lib/alloc.h
+++ b/lib/alloc.h
@@ -25,7 +25,6 @@
   struct alloc_ops {
   	void *(*memalign)(size_t alignment, size_t size);
   	void (*free)(void *ptr);
-	size_t align_min;
   };
extern struct alloc_ops *alloc_ops;
diff --git a/lib/alloc_page.c b/lib/alloc_page.c
index 8d2700d..b1cdf21 100644
--- a/lib/alloc_page.c
+++ b/lib/alloc_page.c
@@ -385,7 +385,6 @@ void *memalign_pages_area(unsigned int area,
size_t alignment, size_t size) static struct alloc_ops
page_alloc_ops = { .memalign = memalign_pages,
   	.free = free_pages,
-	.align_min = PAGE_SIZE,
   };
/*
diff --git a/lib/alloc_phys.c b/lib/alloc_phys.c
index 72e20f7..a4d2bf2 100644
--- a/lib/alloc_phys.c
+++ b/lib/alloc_phys.c
@@ -29,8 +29,8 @@ static phys_addr_t base, top;
   static void *early_memalign(size_t alignment, size_t size);
   static struct alloc_ops early_alloc_ops = {
   	.memalign = early_memalign,
-	.align_min = DEFAULT_MINIMUM_ALIGNMENT
   };
+static size_t align_min;

I don't see any caller of phys_alloc_set_minimum_alignment(). So when
lib/arm/setup.c:150
lib/powerpc/setup.c:150

you are comparing against this variable in phys_alloc_aligned_safe()
below, you are comparing against zero. Is that what you is intended
or should 'align_min' be set some default ?
if the architecture specific code did not specify anything better, 0 is
ok.
struct alloc_ops *alloc_ops = &early_alloc_ops; @@ -39,8 +39,7 @@ void phys_alloc_show(void)
   	int i;
spin_lock(&lock);
-	printf("phys_alloc minimum alignment: %#" PRIx64 "\n",
-		(u64)early_alloc_ops.align_min);
+	printf("phys_alloc minimum alignment: %#" PRIx64 "\n",
(u64)align_min); for (i = 0; i < nr_regions; ++i)
   		printf("%016" PRIx64 "-%016" PRIx64 " [%s]\n",
   			(u64)regions[i].base,
@@ -64,7 +63,7 @@ void phys_alloc_set_minimum_alignment(phys_addr_t
align) {
   	assert(align && !(align & (align - 1)));
   	spin_lock(&lock);
-	early_alloc_ops.align_min = align;
+	align_min = align;
   	spin_unlock(&lock);
   }
@@ -83,6 +82,8 @@ static phys_addr_t
phys_alloc_aligned_safe(phys_addr_t size, top_safe = MIN(top_safe,
1ULL << 32);
   	assert(base < top_safe);
+	if (align < align_min)
+		align = align_min;
addr = ALIGN(base, align);
   	size += addr - base;
diff --git a/lib/vmalloc.c b/lib/vmalloc.c
index 7a49adf..e146162 100644
--- a/lib/vmalloc.c
+++ b/lib/vmalloc.c
@@ -190,7 +190,6 @@ static void vm_free(void *mem)
   static struct alloc_ops vmalloc_ops = {
   	.memalign = vm_memalign,
   	.free = vm_free,
-	.align_min = PAGE_SIZE,
   };
void __attribute__((__weak__)) find_highmem(void)
Reviewed-by: Krish Sadhukhan <krish.sadhukhan@xxxxxxxxxx>



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux