From mboxrd@z Thu Jan 1 00:00:00 1970 From: Will Deacon Subject: Re: [PATCH v2 1/8] rbtree: include linux/compiler.h for definition of __always_inline Date: Fri, 23 Nov 2012 14:36:54 +0000 Message-ID: <20121123143654.GG32200@mudshark.cambridge.arm.com> References: <1353599897-15656-1-git-send-email-will.deacon@arm.com> <1353599897-15656-2-git-send-email-will.deacon@arm.com> <50AE7292.60901@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: "kvm@vger.kernel.org" , "penberg@kernel.org" , Marc Zyngier , "c.dall@virtualopensystems.com" , "matt@ozlabs.org" , "peter.maydell@linaro.org" , "michael@ellerman.id.au" , "kvmarm@lists.cs.columbia.edu" , Ingo Molnar , Andrew Morton , Linus Torvalds To: Sasha Levin Return-path: Received: from cam-admin0.cambridge.arm.com ([217.140.96.50]:35990 "EHLO cam-admin0.cambridge.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750714Ab2KWOiI (ORCPT ); Fri, 23 Nov 2012 09:38:08 -0500 Content-Disposition: inline In-Reply-To: <50AE7292.60901@gmail.com> Sender: kvm-owner@vger.kernel.org List-ID: Hi Sasha, On Thu, Nov 22, 2012 at 06:44:34PM +0000, Sasha Levin wrote: > On 11/22/2012 10:58 AM, Will Deacon wrote: > > Commit 29fc7c5a4f516d388fb6e1f6d24bfb04b8093e54 upstream. > > > > 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' > > On a side note, our rbtree-interval is broken at the moment due to kernel side > changing the implementation and (IMO) breaking augmented rbtrees, followed > by several patches in our own code that tried to fix the breakage but haven't > identified the problem correctly - leading to more subtle breakage. > > If you see things broken with mmio, that might be the reason. Interesting... the only problems I've seen with MMIO so far have all been related to highmem and I've been sending patches for those (should all make it for 3.8). What specifically do you see when things go wrong? Will