Messages in this thread | | | From | Alexander Potapenko <> | Date | Thu, 9 Nov 2023 15:28:56 +0100 | Subject | Re: [PATCH v11 2/2] lib/test_bitmap: add tests for bitmap_{read,write}() |
| |
> > Could we maybe rather extend __check_eq_uint to take ulongs? Doesn't > seem like they differ a lot.
We could redefine expect_eq_uint as:
#define expect_eq_uint(x, y) expect_eq_ulong((unsigned int)(x), (unsigned int)(y))
and throw __expect_eq_uint away.
> > + } > > + time = ktime_get() - time; > > + pr_err("Time spent in %s:\t%llu\n", __func__, time); > > pr_err() is for printing errors and is shown in red by some log readers. > Maybe use pr_info() or pr_notice()? Definitely not an error or even warning.
Note that test_bitmap.c has 17 calls of pr_err() and 7 calls of pr_warn(), which aren't really consistent (e.g. they are used in certain __check helpers instead of pr_err()), and the existing performance tests are calling pr_err(). I can change that in a separate patch, if you think it's worth the effort: the error messages should probably remain pr_err(), but the informational ones could be made pr_info().
> > > +} > > + > > +static void __init test_bitmap_write_perf(void) > > +{ > > + DECLARE_BITMAP(bitmap, TEST_BIT_LEN); > > + unsigned int cnt, nbits, i; > > + unsigned long val = 0xfeedface; > > + ktime_t time; > > + > > + bitmap_zero(bitmap, TEST_BIT_LEN); > > + time = ktime_get(); > > + for (cnt = 0; cnt < 5; cnt++) { > > + for (nbits = 1; nbits <= BITS_PER_LONG; nbits++) { > > + for (i = 0; i < TEST_BIT_LEN; i++) { > > + if (i + nbits > TEST_BIT_LEN) > > + break; > > + bitmap_write(bitmap, val, i, nbits); > > + } > > + } > > + } > > + time = ktime_get() - time; > > + pr_err("Time spent in %s:\t%llu\n", __func__, time); > > (same) > > > +} > > + > > +#undef TEST_BIT_LEN > > + > > static void __init selftest(void) > > { > > test_zero_clear(); > > @@ -1237,6 +1411,9 @@ static void __init selftest(void) > > test_bitmap_cut(); > > test_bitmap_print_buf(); > > test_bitmap_const_eval(); > > + test_bitmap_read_write(); > > + test_bitmap_read_perf(); > > + test_bitmap_write_perf(); > > > > test_find_nth_bit(); > > test_for_each_set_bit(); > > Thanks, > Olek
-- Alexander Potapenko Software Engineer
Google Germany GmbH Erika-Mann-Straße, 33 80636 München
Geschäftsführer: Paul Manicle, Liana Sebastian Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg
| |