Commit c10e2771 authored by Claudio Imbrenda's avatar Claudio Imbrenda
Browse files

KVM: selftests: Remove 1M alignment requirement for s390



Remove the 1M memslot alignment requirement for s390, since it is not
needed anymore.

Reviewed-by: default avatarSteffen Eiden <seiden@linux.ibm.com>
Signed-off-by: default avatarClaudio Imbrenda <imbrenda@linux.ibm.com>
parent 06a20c3a
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -641,9 +641,6 @@ static void run_test(enum vm_guest_mode mode, void *arg)
	}

#ifdef __s390x__
	/* Align to 1M (segment size) */
	guest_test_phys_mem = align_down(guest_test_phys_mem, 1 << 20);

	/*
	 * The workaround in guest_code() to write all pages prior to the first
	 * iteration isn't compatible with the dirty ring, as the dirty ring
+0 −4
Original line number Diff line number Diff line
@@ -1127,10 +1127,6 @@ vm_adjust_num_guest_pages(enum vm_guest_mode mode, unsigned int num_guest_pages)
{
	unsigned int n;
	n = vm_num_guest_pages(mode, vm_num_host_pages(mode, num_guest_pages));
#ifdef __s390x__
	/* s390 requires 1M aligned guest sizes */
	n = (n + 255) & ~255;
#endif
	return n;
}

+0 −3
Original line number Diff line number Diff line
@@ -261,9 +261,6 @@ static struct kvm_vm *pre_init_before_test(enum vm_guest_mode mode, void *arg)
				       guest_page_size;
	else
		guest_test_phys_mem = p->phys_offset;
#ifdef __s390x__
	alignment = max(0x100000UL, alignment);
#endif
	guest_test_phys_mem = align_down(guest_test_phys_mem, alignment);

	/* Set up the shared data structure test_args */
+1 −8
Original line number Diff line number Diff line
@@ -985,7 +985,7 @@ void vm_mem_add(struct kvm_vm *vm, enum vm_mem_backing_src_type src_type,
	struct userspace_mem_region *region;
	size_t backing_src_pagesz = get_backing_src_pagesz(src_type);
	size_t mem_size = npages * vm->page_size;
	size_t alignment;
	size_t alignment = 1;

	TEST_REQUIRE_SET_USER_MEMORY_REGION2();

@@ -1039,13 +1039,6 @@ void vm_mem_add(struct kvm_vm *vm, enum vm_mem_backing_src_type src_type,
	TEST_ASSERT(region != NULL, "Insufficient Memory");
	region->mmap_size = mem_size;

#ifdef __s390x__
	/* On s390x, the host address must be aligned to 1M (due to PGSTEs) */
	alignment = 0x100000;
#else
	alignment = 1;
#endif

	/*
	 * When using THP mmap is not guaranteed to returned a hugepage aligned
	 * address so we have to pad the mmap. Padding is not needed for HugeTLB
+0 −4
Original line number Diff line number Diff line
@@ -196,10 +196,6 @@ struct kvm_vm *memstress_create_vm(enum vm_guest_mode mode, int nr_vcpus,

	args->gpa = (region_end_gfn - guest_num_pages - 1) * args->guest_page_size;
	args->gpa = align_down(args->gpa, backing_src_pagesz);
#ifdef __s390x__
	/* Align to 1M (segment size) */
	args->gpa = align_down(args->gpa, 1 << 20);
#endif
	args->size = guest_num_pages * args->guest_page_size;
	pr_info("guest physical test memory: [0x%lx, 0x%lx)\n",
		args->gpa, args->gpa + args->size);
Loading