diff options
Diffstat (limited to 'lib/test_bitmap.c')
-rw-r--r-- | lib/test_bitmap.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/lib/test_bitmap.c b/lib/test_bitmap.c index e2cbd43d193c..252d3bddbe7d 100644 --- a/lib/test_bitmap.c +++ b/lib/test_bitmap.c | |||
@@ -333,10 +333,42 @@ static void __init test_bitmap_u32_array_conversions(void) | |||
333 | } | 333 | } |
334 | } | 334 | } |
335 | 335 | ||
336 | #define __bitmap_set(a, b, c) bitmap_set(a, b, c) | ||
337 | #define __bitmap_clear(a, b, c) bitmap_clear(a, b, c) | ||
338 | |||
339 | static void noinline __init test_mem_optimisations(void) | ||
340 | { | ||
341 | DECLARE_BITMAP(bmap1, 1024); | ||
342 | DECLARE_BITMAP(bmap2, 1024); | ||
343 | unsigned int start, nbits; | ||
344 | |||
345 | for (start = 0; start < 1024; start += 8) { | ||
346 | memset(bmap1, 0x5a, sizeof(bmap1)); | ||
347 | memset(bmap2, 0x5a, sizeof(bmap2)); | ||
348 | for (nbits = 0; nbits < 1024 - start; nbits += 8) { | ||
349 | bitmap_set(bmap1, start, nbits); | ||
350 | __bitmap_set(bmap2, start, nbits); | ||
351 | if (!bitmap_equal(bmap1, bmap2, 1024)) | ||
352 | printk("set not equal %d %d\n", start, nbits); | ||
353 | if (!__bitmap_equal(bmap1, bmap2, 1024)) | ||
354 | printk("set not __equal %d %d\n", start, nbits); | ||
355 | |||
356 | bitmap_clear(bmap1, start, nbits); | ||
357 | __bitmap_clear(bmap2, start, nbits); | ||
358 | if (!bitmap_equal(bmap1, bmap2, 1024)) | ||
359 | printk("clear not equal %d %d\n", start, nbits); | ||
360 | if (!__bitmap_equal(bmap1, bmap2, 1024)) | ||
361 | printk("clear not __equal %d %d\n", start, | ||
362 | nbits); | ||
363 | } | ||
364 | } | ||
365 | } | ||
366 | |||
336 | static int __init test_bitmap_init(void) | 367 | static int __init test_bitmap_init(void) |
337 | { | 368 | { |
338 | test_zero_fill_copy(); | 369 | test_zero_fill_copy(); |
339 | test_bitmap_u32_array_conversions(); | 370 | test_bitmap_u32_array_conversions(); |
371 | test_mem_optimisations(); | ||
340 | 372 | ||
341 | if (failed_tests == 0) | 373 | if (failed_tests == 0) |
342 | pr_info("all %u tests passed\n", total_tests); | 374 | pr_info("all %u tests passed\n", total_tests); |