Re: [PATCH 02/32] locking/lockdep: Introduce struct lock_usage

From: Linus Torvalds
Date: Tue Feb 12 2019 - 12:39:04 EST

On Tue, Feb 12, 2019 at 9:14 AM Frederic Weisbecker <frederic@xxxxxxxxxx> wrote:
> +static u64 lock_usage_mask(struct lock_usage *usage)
> +{
> + return BIT(usage->bit);
> +}

More insane "u64" - and it's *incorrect* too.

#define BIT(nr) (1UL << (nr))

fundamentally means that "BIT()" can only work on up to "unsigned long".

So this odd use of u64 seems to be a disease. It only uses more memory
(and more CPU) for no obvious reason.

u64 is not some "default type". It's expensive and shouldn't be used
unless you have a *reason* for it.