Lines Matching full:mm
29 struct drm_buddy mm; in drm_test_buddy_alloc_range_bias() local
39 KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_init(&mm, mm_size, ps), in drm_test_buddy_alloc_range_bias()
63 drm_buddy_alloc_blocks(&mm, bias_start, in drm_test_buddy_alloc_range_bias()
72 drm_buddy_alloc_blocks(&mm, bias_start, in drm_test_buddy_alloc_range_bias()
81 drm_buddy_alloc_blocks(&mm, bias_start + ps, in drm_test_buddy_alloc_range_bias()
90 drm_buddy_alloc_blocks(&mm, bias_start + ps, in drm_test_buddy_alloc_range_bias()
100 drm_buddy_alloc_blocks(&mm, bias_start, in drm_test_buddy_alloc_range_bias()
106 drm_buddy_free_list(&mm, &tmp); in drm_test_buddy_alloc_range_bias()
110 drm_buddy_alloc_blocks(&mm, bias_start, in drm_test_buddy_alloc_range_bias()
116 drm_buddy_free_list(&mm, &tmp); in drm_test_buddy_alloc_range_bias()
122 drm_buddy_alloc_blocks(&mm, bias_start, in drm_test_buddy_alloc_range_bias()
132 drm_buddy_alloc_blocks(&mm, bias_start, in drm_test_buddy_alloc_range_bias()
145 drm_buddy_alloc_blocks(&mm, bias_start, in drm_test_buddy_alloc_range_bias()
156 drm_buddy_free_list(&mm, &tmp); in drm_test_buddy_alloc_range_bias()
163 drm_buddy_free_list(&mm, &allocated); in drm_test_buddy_alloc_range_bias()
164 drm_buddy_fini(&mm); in drm_test_buddy_alloc_range_bias()
175 KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_init(&mm, mm_size, ps), in drm_test_buddy_alloc_range_bias()
187 drm_buddy_alloc_blocks(&mm, bias_start, in drm_test_buddy_alloc_range_bias()
216 drm_buddy_alloc_blocks(&mm, bias_start, bias_end, in drm_test_buddy_alloc_range_bias()
223 drm_buddy_free_list(&mm, &allocated); in drm_test_buddy_alloc_range_bias()
224 drm_buddy_fini(&mm); in drm_test_buddy_alloc_range_bias()
232 struct drm_buddy mm; in drm_test_buddy_alloc_contiguous() local
238 KUNIT_EXPECT_FALSE(test, drm_buddy_init(&mm, mm_size, ps)); in drm_test_buddy_alloc_contiguous()
261 drm_buddy_alloc_blocks(&mm, 0, mm_size, in drm_test_buddy_alloc_contiguous()
267 KUNIT_ASSERT_TRUE_MSG(test, drm_buddy_alloc_blocks(&mm, 0, mm_size, in drm_test_buddy_alloc_contiguous()
272 drm_buddy_free_list(&mm, &middle); in drm_test_buddy_alloc_contiguous()
273 KUNIT_ASSERT_TRUE_MSG(test, drm_buddy_alloc_blocks(&mm, 0, mm_size, in drm_test_buddy_alloc_contiguous()
277 KUNIT_ASSERT_TRUE_MSG(test, drm_buddy_alloc_blocks(&mm, 0, mm_size, in drm_test_buddy_alloc_contiguous()
282 drm_buddy_free_list(&mm, &right); in drm_test_buddy_alloc_contiguous()
283 KUNIT_ASSERT_TRUE_MSG(test, drm_buddy_alloc_blocks(&mm, 0, mm_size, in drm_test_buddy_alloc_contiguous()
292 KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_alloc_blocks(&mm, 0, mm_size, in drm_test_buddy_alloc_contiguous()
297 drm_buddy_free_list(&mm, &left); in drm_test_buddy_alloc_contiguous()
298 KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_alloc_blocks(&mm, 0, mm_size, in drm_test_buddy_alloc_contiguous()
305 total += drm_buddy_block_size(&mm, block); in drm_test_buddy_alloc_contiguous()
309 drm_buddy_free_list(&mm, &allocated); in drm_test_buddy_alloc_contiguous()
310 drm_buddy_fini(&mm); in drm_test_buddy_alloc_contiguous()
320 struct drm_buddy mm; in drm_test_buddy_alloc_pathological() local
326 * Create a pot-sized mm, then allocate one of each possible in drm_test_buddy_alloc_pathological()
327 * order within. This should leave the mm with exactly one in drm_test_buddy_alloc_pathological()
329 * Eventually we will have a fully 50% fragmented mm. in drm_test_buddy_alloc_pathological()
333 KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_init(&mm, mm_size, PAGE_SIZE), in drm_test_buddy_alloc_pathological()
336 KUNIT_EXPECT_EQ(test, mm.max_order, max_order); in drm_test_buddy_alloc_pathological()
343 drm_buddy_free_block(&mm, block); in drm_test_buddy_alloc_pathological()
348 KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_alloc_blocks(&mm, start, in drm_test_buddy_alloc_pathological()
362 KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_alloc_blocks(&mm, start, mm_size, in drm_test_buddy_alloc_pathological()
372 KUNIT_ASSERT_TRUE_MSG(test, drm_buddy_alloc_blocks(&mm, start, mm_size, in drm_test_buddy_alloc_pathological()
378 drm_buddy_free_list(&mm, &holes); in drm_test_buddy_alloc_pathological()
383 KUNIT_ASSERT_TRUE_MSG(test, drm_buddy_alloc_blocks(&mm, start, mm_size, in drm_test_buddy_alloc_pathological()
390 drm_buddy_free_list(&mm, &blocks); in drm_test_buddy_alloc_pathological()
391 drm_buddy_fini(&mm); in drm_test_buddy_alloc_pathological()
400 struct drm_buddy mm; in drm_test_buddy_alloc_pessimistic() local
406 * Create a pot-sized mm, then allocate one of each possible in drm_test_buddy_alloc_pessimistic()
407 * order within. This should leave the mm with exactly one in drm_test_buddy_alloc_pessimistic()
412 KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_init(&mm, mm_size, PAGE_SIZE), in drm_test_buddy_alloc_pessimistic()
415 KUNIT_EXPECT_EQ(test, mm.max_order, max_order); in drm_test_buddy_alloc_pessimistic()
419 KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_alloc_blocks(&mm, start, mm_size, in drm_test_buddy_alloc_pessimistic()
432 KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_alloc_blocks(&mm, start, mm_size, in drm_test_buddy_alloc_pessimistic()
444 KUNIT_ASSERT_TRUE_MSG(test, drm_buddy_alloc_blocks(&mm, start, mm_size, in drm_test_buddy_alloc_pessimistic()
451 drm_buddy_free_block(&mm, block); in drm_test_buddy_alloc_pessimistic()
457 drm_buddy_free_block(&mm, block); in drm_test_buddy_alloc_pessimistic()
460 KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_alloc_blocks(&mm, start, mm_size, in drm_test_buddy_alloc_pessimistic()
469 drm_buddy_free_block(&mm, block); in drm_test_buddy_alloc_pessimistic()
473 /* To confirm, now the whole mm should be available */ in drm_test_buddy_alloc_pessimistic()
475 KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_alloc_blocks(&mm, start, mm_size, in drm_test_buddy_alloc_pessimistic()
484 drm_buddy_free_block(&mm, block); in drm_test_buddy_alloc_pessimistic()
485 drm_buddy_free_list(&mm, &blocks); in drm_test_buddy_alloc_pessimistic()
486 drm_buddy_fini(&mm); in drm_test_buddy_alloc_pessimistic()
495 struct drm_buddy mm; in drm_test_buddy_alloc_optimistic() local
501 * Create a mm with one block of each order available, and in drm_test_buddy_alloc_optimistic()
507 KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_init(&mm, mm_size, PAGE_SIZE), in drm_test_buddy_alloc_optimistic()
510 KUNIT_EXPECT_EQ(test, mm.max_order, max_order); in drm_test_buddy_alloc_optimistic()
514 KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_alloc_blocks(&mm, start, mm_size, in drm_test_buddy_alloc_optimistic()
527 KUNIT_ASSERT_TRUE_MSG(test, drm_buddy_alloc_blocks(&mm, start, mm_size, in drm_test_buddy_alloc_optimistic()
531 drm_buddy_free_list(&mm, &blocks); in drm_test_buddy_alloc_optimistic()
532 drm_buddy_fini(&mm); in drm_test_buddy_alloc_optimistic()
541 struct drm_buddy mm; in drm_test_buddy_alloc_limit() local
543 KUNIT_EXPECT_FALSE(test, drm_buddy_init(&mm, size, PAGE_SIZE)); in drm_test_buddy_alloc_limit()
545 KUNIT_EXPECT_EQ_MSG(test, mm.max_order, DRM_BUDDY_MAX_ORDER, in drm_test_buddy_alloc_limit()
546 "mm.max_order(%d) != %d\n", mm.max_order, in drm_test_buddy_alloc_limit()
549 size = mm.chunk_size << mm.max_order; in drm_test_buddy_alloc_limit()
550 KUNIT_EXPECT_FALSE(test, drm_buddy_alloc_blocks(&mm, start, size, size, in drm_test_buddy_alloc_limit()
556 KUNIT_EXPECT_EQ_MSG(test, drm_buddy_block_order(block), mm.max_order, in drm_test_buddy_alloc_limit()
558 drm_buddy_block_order(block), mm.max_order); in drm_test_buddy_alloc_limit()
560 KUNIT_EXPECT_EQ_MSG(test, drm_buddy_block_size(&mm, block), in drm_test_buddy_alloc_limit()
561 BIT_ULL(mm.max_order) * PAGE_SIZE, in drm_test_buddy_alloc_limit()
563 drm_buddy_block_size(&mm, block), in drm_test_buddy_alloc_limit()
564 BIT_ULL(mm.max_order) * PAGE_SIZE); in drm_test_buddy_alloc_limit()
566 drm_buddy_free_list(&mm, &allocated); in drm_test_buddy_alloc_limit()
567 drm_buddy_fini(&mm); in drm_test_buddy_alloc_limit()