mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
Merge tag 'bitmap-for-6.17' of https://github.com/norov/linux
Pull bitmap updates from Yury Norov: - find_random_bit() series (Yury) - GENMASK() consolidation (Vincent) - random cleanups (Shaopeng, Ben, Yury) * tag 'bitmap-for-6.17' of https://github.com/norov/linux: bitfield: Ensure the return values of helper functions are checked test_bits: add tests for __GENMASK() and __GENMASK_ULL() bits: unify the non-asm GENMASK*() bits: split the definition of the asm and non-asm GENMASK*() cpumask: Remove unnecessary cpumask_nth_andnot() watchdog: fix opencoded cpumask_next_wrap() in watchdog_next_cpu() clocksource: Improve randomness in clocksource_verify_choose_cpus() cpumask: introduce cpumask_random() bitmap: generalize node_random()
This commit is contained in:
@@ -26,6 +26,23 @@ static_assert(assert_type(u16, GENMASK_U16(15, 0)) == U16_MAX);
|
||||
static_assert(assert_type(u32, GENMASK_U32(31, 0)) == U32_MAX);
|
||||
static_assert(assert_type(u64, GENMASK_U64(63, 0)) == U64_MAX);
|
||||
|
||||
/* FIXME: add a test case written in asm for GENMASK() and GENMASK_ULL() */
|
||||
|
||||
static void __genmask_test(struct kunit *test)
|
||||
{
|
||||
KUNIT_EXPECT_EQ(test, 1ul, __GENMASK(0, 0));
|
||||
KUNIT_EXPECT_EQ(test, 3ul, __GENMASK(1, 0));
|
||||
KUNIT_EXPECT_EQ(test, 6ul, __GENMASK(2, 1));
|
||||
KUNIT_EXPECT_EQ(test, 0xFFFFFFFFul, __GENMASK(31, 0));
|
||||
}
|
||||
|
||||
static void __genmask_ull_test(struct kunit *test)
|
||||
{
|
||||
KUNIT_EXPECT_EQ(test, 1ull, __GENMASK_ULL(0, 0));
|
||||
KUNIT_EXPECT_EQ(test, 3ull, __GENMASK_ULL(1, 0));
|
||||
KUNIT_EXPECT_EQ(test, 0x000000ffffe00000ull, __GENMASK_ULL(39, 21));
|
||||
KUNIT_EXPECT_EQ(test, 0xffffffffffffffffull, __GENMASK_ULL(63, 0));
|
||||
}
|
||||
|
||||
static void genmask_test(struct kunit *test)
|
||||
{
|
||||
@@ -123,6 +140,8 @@ static void genmask_input_check_test(struct kunit *test)
|
||||
|
||||
|
||||
static struct kunit_case bits_test_cases[] = {
|
||||
KUNIT_CASE(__genmask_test),
|
||||
KUNIT_CASE(__genmask_ull_test),
|
||||
KUNIT_CASE(genmask_test),
|
||||
KUNIT_CASE(genmask_ull_test),
|
||||
KUNIT_CASE(genmask_u128_test),
|
||||
|
||||
Reference in New Issue
Block a user