[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20121023092927.GB19167@mudshark.cambridge.arm.com>
Date: Tue, 23 Oct 2012 10:29:27 +0100
From: Will Deacon <will.deacon@....com>
To: Michel Lespinasse <walken@...gle.com>
Cc: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Pekka Enberg <penberg@...nel.org>, Ingo Molnar <mingo@...e.hu>
Subject: Re: [PATCH] rbtree: include linux/compiler.h for definition of
__always_inline
On Mon, Oct 22, 2012 at 10:56:21PM +0100, Michel Lespinasse wrote:
> On Mon, Oct 22, 2012 at 10:01 AM, Will Deacon <will.deacon@....com> wrote:
> > rb_erase_augmented is a static function annotated with __always_inline.
> > This causes a compile failure when attempting to use the rbtree
> > implementation as a library (e.g. kvm tool):
> >
> > rbtree_augmented.h:125:24: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘void’
> >
> > This patch includes linux/compiler.h in rbtree_augmented.h so that the
> > __always_inline macro is resolved correctly.
> >
> > Cc: Pekka Enberg <penberg@...nel.org>
> > Cc: Michel Lespinasse <walken@...gle.com>
> > Cc: Ingo Molnar <mingo@...e.hu>
> > Signed-off-by: Will Deacon <will.deacon@....com>
>
> Just curious - what are you going to implement with augmented rbtrees
> in kvm tool ?
>
> If the basic rbtree or the interval tree implementations are
> sufficient for your usage, you should try using that (in which case
> you won't need this header fix).
kvm tool uses interval rbtrees for things like keeping track of virtual
devices, although it looks like Ingo implemented the augment callbacks
while moving to -rc1.
> But either way, the header fix is correct and will be required when
> someone wants to use augmented rbtrees outside of the kernel. I just
> didn't think that day would come so fast :)
>
> Reviewed-by: Michel Lespinasse <walken@...gle.com>
Thanks Michel!
Will
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists