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.
Linus