lib/test_parman.c
104
old_count = test_parman->prio_array_limit;
lib/test_parman.c
108
test_parman->prio_array = prio_array;
lib/test_parman.c
109
test_parman->prio_array_limit = new_count;
lib/test_parman.c
116
struct test_parman *test_parman = priv;
lib/test_parman.c
117
struct test_parman_item **prio_array = test_parman->prio_array;
lib/test_parman.c
132
static void test_parman_rnd_init(struct test_parman *test_parman)
lib/test_parman.c
134
prandom_seed_state(&test_parman->rnd, 3141592653589793238ULL);
lib/test_parman.c
137
static u32 test_parman_rnd_get(struct test_parman *test_parman)
lib/test_parman.c
139
return prandom_u32_state(&test_parman->rnd);
lib/test_parman.c
142
static unsigned long test_parman_priority_gen(struct test_parman *test_parman)
lib/test_parman.c
148
priority = test_parman_rnd_get(test_parman);
lib/test_parman.c
153
struct test_parman_prio *prio = &test_parman->prios[i];
lib/test_parman.c
163
static void test_parman_prios_init(struct test_parman *test_parman)
lib/test_parman.c
168
struct test_parman_prio *prio = &test_parman->prios[i];
lib/test_parman.c
171
prio->priority = test_parman_priority_gen(test_parman);
lib/test_parman.c
172
parman_prio_init(test_parman->parman, &prio->parman_prio,
lib/test_parman.c
177
static void test_parman_prios_fini(struct test_parman *test_parman)
lib/test_parman.c
182
struct test_parman_prio *prio = &test_parman->prios[i];
lib/test_parman.c
188
static void test_parman_items_init(struct test_parman *test_parman)
lib/test_parman.c
193
struct test_parman_item *item = &test_parman->items[i];
lib/test_parman.c
194
unsigned int prio_index = test_parman_rnd_get(test_parman) &
lib/test_parman.c
198
item->prio = &test_parman->prios[prio_index];
lib/test_parman.c
202
static void test_parman_items_fini(struct test_parman *test_parman)
lib/test_parman.c
207
struct test_parman_item *item = &test_parman->items[i];
lib/test_parman.c
211
parman_item_remove(test_parman->parman,
lib/test_parman.c
217
static struct test_parman *test_parman_create(const struct parman_ops *ops)
lib/test_parman.c
219
struct test_parman *test_parman;
lib/test_parman.c
222
test_parman = kzalloc_obj(*test_parman);
lib/test_parman.c
223
if (!test_parman)
lib/test_parman.c
225
err = test_parman_resize(test_parman, TEST_PARMAN_BASE_COUNT);
lib/test_parman.c
228
test_parman->parman = parman_create(ops, test_parman);
lib/test_parman.c
229
if (!test_parman->parman) {
lib/test_parman.c
233
test_parman_rnd_init(test_parman);
lib/test_parman.c
234
test_parman_prios_init(test_parman);
lib/test_parman.c
235
test_parman_items_init(test_parman);
lib/test_parman.c
236
test_parman->run_budget = TEST_PARMAN_RUN_BUDGET;
lib/test_parman.c
237
return test_parman;
lib/test_parman.c
240
test_parman_resize(test_parman, 0);
lib/test_parman.c
242
kfree(test_parman);
lib/test_parman.c
246
static void test_parman_destroy(struct test_parman *test_parman)
lib/test_parman.c
248
test_parman_items_fini(test_parman);
lib/test_parman.c
249
test_parman_prios_fini(test_parman);
lib/test_parman.c
250
parman_destroy(test_parman->parman);
lib/test_parman.c
251
test_parman_resize(test_parman, 0);
lib/test_parman.c
252
kfree(test_parman);
lib/test_parman.c
255
static bool test_parman_run_check_budgets(struct test_parman *test_parman)
lib/test_parman.c
257
if (test_parman->run_budget-- == 0)
lib/test_parman.c
259
if (test_parman->bulk_budget-- != 0)
lib/test_parman.c
262
test_parman->bulk_budget = test_parman_rnd_get(test_parman) &
lib/test_parman.c
264
test_parman->bulk_noop = test_parman_rnd_get(test_parman) & 1;
lib/test_parman.c
268
static int test_parman_run(struct test_parman *test_parman)
lib/test_parman.c
270
unsigned int i = test_parman_rnd_get(test_parman);
lib/test_parman.c
273
while (test_parman_run_check_budgets(test_parman)) {
lib/test_parman.c
275
struct test_parman_item *item = &test_parman->items[item_index];
lib/test_parman.c
277
if (test_parman->bulk_noop)
lib/test_parman.c
281
err = parman_item_add(test_parman->parman,
lib/test_parman.c
286
test_parman->prio_array[item->parman_item.index] = item;
lib/test_parman.c
287
test_parman->used_items++;
lib/test_parman.c
289
test_parman->prio_array[item->parman_item.index] = NULL;
lib/test_parman.c
290
parman_item_remove(test_parman->parman,
lib/test_parman.c
293
test_parman->used_items--;
lib/test_parman.c
300
static int test_parman_check_array(struct test_parman *test_parman,
lib/test_parman.c
308
if (test_parman->prio_array_limit < TEST_PARMAN_BASE_COUNT) {
lib/test_parman.c
310
test_parman->prio_array_limit, TEST_PARMAN_BASE_COUNT);
lib/test_parman.c
314
for (i = 0; i < test_parman->prio_array_limit; i++) {
lib/test_parman.c
315
struct test_parman_item *item = test_parman->prio_array[i];
lib/test_parman.c
343
if (used_items != test_parman->used_items) {
lib/test_parman.c
345
used_items, test_parman->used_items);
lib/test_parman.c
362
struct test_parman *test_parman;
lib/test_parman.c
365
test_parman = test_parman_create(&test_parman_lsort_ops);
lib/test_parman.c
366
if (IS_ERR(test_parman))
lib/test_parman.c
367
return PTR_ERR(test_parman);
lib/test_parman.c
369
err = test_parman_run(test_parman);
lib/test_parman.c
373
err = test_parman_check_array(test_parman, false);
lib/test_parman.c
377
test_parman_destroy(test_parman);
lib/test_parman.c
94
struct test_parman *test_parman = priv;
lib/test_parman.c
98
prio_array = krealloc(test_parman->prio_array,