Commit 520fb7f1 authored by Matthew Auld's avatar Matthew Auld Committed by Christian König

drm/tests/buddy: stop using PAGE_SIZE

Gives the wrong impression that min page-size has to be tied to the CPU
PAGE_SIZE.
Signed-off-by: default avatarMatthew Auld <matthew.auld@intel.com>
Cc: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
Cc: Christian König <christian.koenig@amd.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: default avatarArunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240229105112.250077-4-matthew.auld@intel.comSigned-off-by: default avatarChristian König <christian.koenig@amd.com>
parent 117bbc0e
...@@ -329,8 +329,8 @@ static void drm_test_buddy_alloc_pathological(struct kunit *test) ...@@ -329,8 +329,8 @@ static void drm_test_buddy_alloc_pathological(struct kunit *test)
* Eventually we will have a fully 50% fragmented mm. * Eventually we will have a fully 50% fragmented mm.
*/ */
mm_size = PAGE_SIZE << max_order; mm_size = SZ_4K << max_order;
KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_init(&mm, mm_size, PAGE_SIZE), KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_init(&mm, mm_size, SZ_4K),
"buddy_init failed\n"); "buddy_init failed\n");
KUNIT_EXPECT_EQ(test, mm.max_order, max_order); KUNIT_EXPECT_EQ(test, mm.max_order, max_order);
...@@ -344,7 +344,7 @@ static void drm_test_buddy_alloc_pathological(struct kunit *test) ...@@ -344,7 +344,7 @@ static void drm_test_buddy_alloc_pathological(struct kunit *test)
} }
for (order = top; order--;) { for (order = top; order--;) {
size = get_size(order, PAGE_SIZE); size = get_size(order, mm.chunk_size);
KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_alloc_blocks(&mm, start, KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_alloc_blocks(&mm, start,
mm_size, size, size, mm_size, size, size,
&tmp, flags), &tmp, flags),
...@@ -358,7 +358,7 @@ static void drm_test_buddy_alloc_pathological(struct kunit *test) ...@@ -358,7 +358,7 @@ static void drm_test_buddy_alloc_pathological(struct kunit *test)
} }
/* There should be one final page for this sub-allocation */ /* There should be one final page for this sub-allocation */
size = get_size(0, PAGE_SIZE); size = get_size(0, mm.chunk_size);
KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_alloc_blocks(&mm, start, mm_size, KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_alloc_blocks(&mm, start, mm_size,
size, size, &tmp, flags), size, size, &tmp, flags),
"buddy_alloc hit -ENOMEM for hole\n"); "buddy_alloc hit -ENOMEM for hole\n");
...@@ -368,7 +368,7 @@ static void drm_test_buddy_alloc_pathological(struct kunit *test) ...@@ -368,7 +368,7 @@ static void drm_test_buddy_alloc_pathological(struct kunit *test)
list_move_tail(&block->link, &holes); list_move_tail(&block->link, &holes);
size = get_size(top, PAGE_SIZE); size = get_size(top, mm.chunk_size);
KUNIT_ASSERT_TRUE_MSG(test, drm_buddy_alloc_blocks(&mm, start, mm_size, KUNIT_ASSERT_TRUE_MSG(test, drm_buddy_alloc_blocks(&mm, start, mm_size,
size, size, &tmp, flags), size, size, &tmp, flags),
"buddy_alloc unexpectedly succeeded at top-order %d/%d, it should be full!", "buddy_alloc unexpectedly succeeded at top-order %d/%d, it should be full!",
...@@ -379,7 +379,7 @@ static void drm_test_buddy_alloc_pathological(struct kunit *test) ...@@ -379,7 +379,7 @@ static void drm_test_buddy_alloc_pathological(struct kunit *test)
/* Nothing larger than blocks of chunk_size now available */ /* Nothing larger than blocks of chunk_size now available */
for (order = 1; order <= max_order; order++) { for (order = 1; order <= max_order; order++) {
size = get_size(order, PAGE_SIZE); size = get_size(order, mm.chunk_size);
KUNIT_ASSERT_TRUE_MSG(test, drm_buddy_alloc_blocks(&mm, start, mm_size, KUNIT_ASSERT_TRUE_MSG(test, drm_buddy_alloc_blocks(&mm, start, mm_size,
size, size, &tmp, flags), size, size, &tmp, flags),
"buddy_alloc unexpectedly succeeded at order %d, it should be full!", "buddy_alloc unexpectedly succeeded at order %d, it should be full!",
...@@ -408,14 +408,14 @@ static void drm_test_buddy_alloc_pessimistic(struct kunit *test) ...@@ -408,14 +408,14 @@ static void drm_test_buddy_alloc_pessimistic(struct kunit *test)
* page left. * page left.
*/ */
mm_size = PAGE_SIZE << max_order; mm_size = SZ_4K << max_order;
KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_init(&mm, mm_size, PAGE_SIZE), KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_init(&mm, mm_size, SZ_4K),
"buddy_init failed\n"); "buddy_init failed\n");
KUNIT_EXPECT_EQ(test, mm.max_order, max_order); KUNIT_EXPECT_EQ(test, mm.max_order, max_order);
for (order = 0; order < max_order; order++) { for (order = 0; order < max_order; order++) {
size = get_size(order, PAGE_SIZE); size = get_size(order, mm.chunk_size);
KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_alloc_blocks(&mm, start, mm_size, KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_alloc_blocks(&mm, start, mm_size,
size, size, &tmp, flags), size, size, &tmp, flags),
"buddy_alloc hit -ENOMEM with order=%d\n", "buddy_alloc hit -ENOMEM with order=%d\n",
...@@ -428,7 +428,7 @@ static void drm_test_buddy_alloc_pessimistic(struct kunit *test) ...@@ -428,7 +428,7 @@ static void drm_test_buddy_alloc_pessimistic(struct kunit *test)
} }
/* And now the last remaining block available */ /* And now the last remaining block available */
size = get_size(0, PAGE_SIZE); size = get_size(0, mm.chunk_size);
KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_alloc_blocks(&mm, start, mm_size, KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_alloc_blocks(&mm, start, mm_size,
size, size, &tmp, flags), size, size, &tmp, flags),
"buddy_alloc hit -ENOMEM on final alloc\n"); "buddy_alloc hit -ENOMEM on final alloc\n");
...@@ -440,7 +440,7 @@ static void drm_test_buddy_alloc_pessimistic(struct kunit *test) ...@@ -440,7 +440,7 @@ static void drm_test_buddy_alloc_pessimistic(struct kunit *test)
/* Should be completely full! */ /* Should be completely full! */
for (order = max_order; order--;) { for (order = max_order; order--;) {
size = get_size(order, PAGE_SIZE); size = get_size(order, mm.chunk_size);
KUNIT_ASSERT_TRUE_MSG(test, drm_buddy_alloc_blocks(&mm, start, mm_size, KUNIT_ASSERT_TRUE_MSG(test, drm_buddy_alloc_blocks(&mm, start, mm_size,
size, size, &tmp, flags), size, size, &tmp, flags),
"buddy_alloc unexpectedly succeeded, it should be full!"); "buddy_alloc unexpectedly succeeded, it should be full!");
...@@ -456,7 +456,7 @@ static void drm_test_buddy_alloc_pessimistic(struct kunit *test) ...@@ -456,7 +456,7 @@ static void drm_test_buddy_alloc_pessimistic(struct kunit *test)
list_del(&block->link); list_del(&block->link);
drm_buddy_free_block(&mm, block); drm_buddy_free_block(&mm, block);
size = get_size(order, PAGE_SIZE); size = get_size(order, mm.chunk_size);
KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_alloc_blocks(&mm, start, mm_size, KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_alloc_blocks(&mm, start, mm_size,
size, size, &tmp, flags), size, size, &tmp, flags),
"buddy_alloc hit -ENOMEM with order=%d\n", "buddy_alloc hit -ENOMEM with order=%d\n",
...@@ -471,7 +471,7 @@ static void drm_test_buddy_alloc_pessimistic(struct kunit *test) ...@@ -471,7 +471,7 @@ static void drm_test_buddy_alloc_pessimistic(struct kunit *test)
} }
/* To confirm, now the whole mm should be available */ /* To confirm, now the whole mm should be available */
size = get_size(max_order, PAGE_SIZE); size = get_size(max_order, mm.chunk_size);
KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_alloc_blocks(&mm, start, mm_size, KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_alloc_blocks(&mm, start, mm_size,
size, size, &tmp, flags), size, size, &tmp, flags),
"buddy_alloc (realloc) hit -ENOMEM with order=%d\n", "buddy_alloc (realloc) hit -ENOMEM with order=%d\n",
...@@ -502,15 +502,15 @@ static void drm_test_buddy_alloc_optimistic(struct kunit *test) ...@@ -502,15 +502,15 @@ static void drm_test_buddy_alloc_optimistic(struct kunit *test)
* try to allocate them all. * try to allocate them all.
*/ */
mm_size = PAGE_SIZE * ((1 << (max_order + 1)) - 1); mm_size = SZ_4K * ((1 << (max_order + 1)) - 1);
KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_init(&mm, mm_size, PAGE_SIZE), KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_init(&mm, mm_size, SZ_4K),
"buddy_init failed\n"); "buddy_init failed\n");
KUNIT_EXPECT_EQ(test, mm.max_order, max_order); KUNIT_EXPECT_EQ(test, mm.max_order, max_order);
for (order = 0; order <= max_order; order++) { for (order = 0; order <= max_order; order++) {
size = get_size(order, PAGE_SIZE); size = get_size(order, mm.chunk_size);
KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_alloc_blocks(&mm, start, mm_size, KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_alloc_blocks(&mm, start, mm_size,
size, size, &tmp, flags), size, size, &tmp, flags),
"buddy_alloc hit -ENOMEM with order=%d\n", "buddy_alloc hit -ENOMEM with order=%d\n",
...@@ -523,7 +523,7 @@ static void drm_test_buddy_alloc_optimistic(struct kunit *test) ...@@ -523,7 +523,7 @@ static void drm_test_buddy_alloc_optimistic(struct kunit *test)
} }
/* Should be completely full! */ /* Should be completely full! */
size = get_size(0, PAGE_SIZE); size = get_size(0, mm.chunk_size);
KUNIT_ASSERT_TRUE_MSG(test, drm_buddy_alloc_blocks(&mm, start, mm_size, KUNIT_ASSERT_TRUE_MSG(test, drm_buddy_alloc_blocks(&mm, start, mm_size,
size, size, &tmp, flags), size, size, &tmp, flags),
"buddy_alloc unexpectedly succeeded, it should be full!"); "buddy_alloc unexpectedly succeeded, it should be full!");
...@@ -540,7 +540,7 @@ static void drm_test_buddy_alloc_limit(struct kunit *test) ...@@ -540,7 +540,7 @@ static void drm_test_buddy_alloc_limit(struct kunit *test)
LIST_HEAD(allocated); LIST_HEAD(allocated);
struct drm_buddy mm; struct drm_buddy mm;
KUNIT_EXPECT_FALSE(test, drm_buddy_init(&mm, size, PAGE_SIZE)); KUNIT_EXPECT_FALSE(test, drm_buddy_init(&mm, size, SZ_4K));
KUNIT_EXPECT_EQ_MSG(test, mm.max_order, DRM_BUDDY_MAX_ORDER, KUNIT_EXPECT_EQ_MSG(test, mm.max_order, DRM_BUDDY_MAX_ORDER,
"mm.max_order(%d) != %d\n", mm.max_order, "mm.max_order(%d) != %d\n", mm.max_order,
...@@ -548,7 +548,7 @@ static void drm_test_buddy_alloc_limit(struct kunit *test) ...@@ -548,7 +548,7 @@ static void drm_test_buddy_alloc_limit(struct kunit *test)
size = mm.chunk_size << mm.max_order; size = mm.chunk_size << mm.max_order;
KUNIT_EXPECT_FALSE(test, drm_buddy_alloc_blocks(&mm, start, size, size, KUNIT_EXPECT_FALSE(test, drm_buddy_alloc_blocks(&mm, start, size, size,
PAGE_SIZE, &allocated, flags)); mm.chunk_size, &allocated, flags));
block = list_first_entry_or_null(&allocated, struct drm_buddy_block, link); block = list_first_entry_or_null(&allocated, struct drm_buddy_block, link);
KUNIT_EXPECT_TRUE(test, block); KUNIT_EXPECT_TRUE(test, block);
...@@ -558,10 +558,10 @@ static void drm_test_buddy_alloc_limit(struct kunit *test) ...@@ -558,10 +558,10 @@ static void drm_test_buddy_alloc_limit(struct kunit *test)
drm_buddy_block_order(block), mm.max_order); drm_buddy_block_order(block), mm.max_order);
KUNIT_EXPECT_EQ_MSG(test, drm_buddy_block_size(&mm, block), KUNIT_EXPECT_EQ_MSG(test, drm_buddy_block_size(&mm, block),
BIT_ULL(mm.max_order) * PAGE_SIZE, BIT_ULL(mm.max_order) * mm.chunk_size,
"block size(%llu) != %llu\n", "block size(%llu) != %llu\n",
drm_buddy_block_size(&mm, block), drm_buddy_block_size(&mm, block),
BIT_ULL(mm.max_order) * PAGE_SIZE); BIT_ULL(mm.max_order) * mm.chunk_size);
drm_buddy_free_list(&mm, &allocated); drm_buddy_free_list(&mm, &allocated);
drm_buddy_fini(&mm); drm_buddy_fini(&mm);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment