drm/i915/selftests: mix huge pages
Try to mix sg page sizes for 4K, 64K and 2M pages. v2: s/BIT(x) >> 12/BIT(x) >> PAGE_SHIFT/ Suggested-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Matthew Auld <matthew.auld@intel.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20171006145041.21673-19-matthew.auld@intel.com Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20171006221833.32439-18-chris@chris-wilson.co.uk
This commit is contained in:
parent
4049866f09
commit
7924d9d4dc
|
@ -189,6 +189,20 @@ static unsigned int random(unsigned long n,
|
|||
return 1 + (prandom_u32_state(rnd) % 1024);
|
||||
}
|
||||
|
||||
static unsigned int random_page_size_pages(unsigned long n,
|
||||
unsigned long count,
|
||||
struct rnd_state *rnd)
|
||||
{
|
||||
/* 4K, 64K, 2M */
|
||||
static unsigned int page_count[] = {
|
||||
BIT(12) >> PAGE_SHIFT,
|
||||
BIT(16) >> PAGE_SHIFT,
|
||||
BIT(21) >> PAGE_SHIFT,
|
||||
};
|
||||
|
||||
return page_count[(prandom_u32_state(rnd) % 3)];
|
||||
}
|
||||
|
||||
static inline bool page_contiguous(struct page *first,
|
||||
struct page *last,
|
||||
unsigned long npages)
|
||||
|
@ -252,6 +266,7 @@ static const npages_fn_t npages_funcs[] = {
|
|||
grow,
|
||||
shrink,
|
||||
random,
|
||||
random_page_size_pages,
|
||||
NULL,
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue