Re: [PATCH v9 07/61] xarray: Add the xa_lock to the radix_tree_root
From: Ross Zwisler
Date: Thu Apr 12 2018 - 17:16:33 EST
On Thu, Apr 12, 2018 at 3:10 PM, Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote:
> On Thu, Apr 12, 2018 at 02:59:32PM -0600, Ross Zwisler wrote:
>> This is causing build breakage in the radix tree test suite in the
>> current linux/master:
>>
>> ./linux/../../../../include/linux/idr.h: In function âidr_init_baseâ:
>> ./linux/../../../../include/linux/radix-tree.h:129:2: warning:
>> implicit declaration of function âspin_lock_initâ; did you mean
>> âspinlock_tâ? [-Wimplicit-function-declaration]
>
> Argh. That was added two patches later in
> "xarray: Add definition of struct xarray":
>
> diff --git a/tools/include/linux/spinlock.h b/tools/include/linux/spinlock.h
> index b21b586b9854..4ec4d2cbe27a 100644
> --- a/tools/include/linux/spinlock.h
> +++ b/tools/include/linux/spinlock.h
> @@ -6,8 +6,9 @@
> #include <stdbool.h>
>
> #define spinlock_t pthread_mutex_t
> -#define DEFINE_SPINLOCK(x) pthread_mutex_t x = PTHREAD_MUTEX_INITIALIZER;
> +#define DEFINE_SPINLOCK(x) pthread_mutex_t x = PTHREAD_MUTEX_INITIALIZER
> #define __SPIN_LOCK_UNLOCKED(x) (pthread_mutex_t)PTHREAD_MUTEX_INITIALIZER
> +#define spin_lock_init(x) pthread_mutex_init(x, NULL)
>
> #define spin_lock_irqsave(x, f) (void)f, pthread_mutex_lock(x)
> #define spin_unlock_irqrestore(x, f) (void)f, pthread_mutex_unlock(x)
>
> I didn't pick up that it was needed this early on in the patch series.
Hmmm..I don't know if it's a patch ordering issue, because this
happens with the current linux/master where presumably all the patches
are present?