From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754862AbdLODHt (ORCPT ); Thu, 14 Dec 2017 22:07:49 -0500 Received: from mga14.intel.com ([192.55.52.115]:7161 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754706AbdLODHs (ORCPT ); Thu, 14 Dec 2017 22:07:48 -0500 X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.45,402,1508828400"; d="gz'50?scan'50,208,50";a="12733174" Date: Fri, 15 Dec 2017 11:07:41 +0800 From: kbuild test robot To: Wei Wang Cc: kbuild-all@01.org, virtio-dev@lists.oasis-open.org, linux-kernel@vger.kernel.org, qemu-devel@nongnu.org, virtualization@lists.linux-foundation.org, kvm@vger.kernel.org, linux-mm@kvack.org, mst@redhat.com, mhocko@kernel.org, akpm@linux-foundation.org, mawilcox@microsoft.com, david@redhat.com, penguin-kernel@I-love.SAKURA.ne.jp, cornelia.huck@de.ibm.com, mgorman@techsingularity.net, aarcange@redhat.com, amit.shah@redhat.com, pbonzini@redhat.com, willy@infradead.org, wei.w.wang@intel.com, liliang.opensource@gmail.com, yang.zhang.wz@gmail.com, quan.xu@aliyun.com, nilal@redhat.com, riel@redhat.com Subject: Re: [PATCH v19 2/7] xbitmap: potential improvement Message-ID: <201712151043.losrwclY%fengguang.wu@intel.com> References: <1513079759-14169-3-git-send-email-wei.w.wang@intel.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="Kj7319i9nmIyA2yE" Content-Disposition: inline In-Reply-To: <1513079759-14169-3-git-send-email-wei.w.wang@intel.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: fengguang.wu@intel.com X-SA-Exim-Scanned: No (on bee); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --Kj7319i9nmIyA2yE Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi Wei, Thank you for the patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v4.15-rc3 next-20171214] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Wei-Wang/Virtio-balloon-Enhancement/20171215-100525 config: i386-tinyconfig (attached as .config) compiler: gcc-7 (Debian 7.2.0-12) 7.2.1 20171025 reproduce: # save the attached .config to linux build tree make ARCH=i386 Note: the linux-review/Wei-Wang/Virtio-balloon-Enhancement/20171215-100525 HEAD 607ddba072bf7f9c9cbacedaccad7c42c5c7149c builds fine. It only hurts bisectibility. All errors (new ones prefixed by >>): >> lib/xbitmap.c:80:6: error: conflicting types for 'xb_clear_bit' void xb_clear_bit(struct xb *xb, unsigned long bit) ^~~~~~~~~~~~ In file included from lib/xbitmap.c:2:0: include/linux/xbitmap.h:37:5: note: previous declaration of 'xb_clear_bit' was here int xb_clear_bit(struct xb *xb, unsigned long bit); ^~~~~~~~~~~~ vim +/xb_clear_bit +80 lib/xbitmap.c 71 72 /** 73 * xb_clear_bit - clear a bit in the xbitmap 74 * @xb: the xbitmap tree used to record the bit 75 * @bit: index of the bit to clear 76 * 77 * This function is used to clear a bit in the xbitmap. If all the bits of the 78 * bitmap are 0, the bitmap will be freed. 79 */ > 80 void xb_clear_bit(struct xb *xb, unsigned long bit) 81 { 82 unsigned long index = bit / IDA_BITMAP_BITS; 83 struct radix_tree_root *root = &xb->xbrt; 84 struct radix_tree_node *node; 85 void **slot; 86 struct ida_bitmap *bitmap; 87 unsigned long ebit; 88 89 bit %= IDA_BITMAP_BITS; 90 ebit = bit + 2; 91 92 bitmap = __radix_tree_lookup(root, index, &node, &slot); 93 if (radix_tree_exception(bitmap)) { 94 unsigned long tmp = (unsigned long)bitmap; 95 96 if (ebit >= BITS_PER_LONG) 97 return; 98 tmp &= ~(1UL << ebit); 99 if (tmp == RADIX_TREE_EXCEPTIONAL_ENTRY) 100 __radix_tree_delete(root, node, slot); 101 else 102 rcu_assign_pointer(*slot, (void *)tmp); 103 return; 104 } 105 106 if (!bitmap) 107 return; 108 109 __clear_bit(bit, bitmap->bitmap); 110 if (bitmap_empty(bitmap->bitmap, IDA_BITMAP_BITS)) { 111 kfree(bitmap); 112 __radix_tree_delete(root, node, slot); 113 } 114 } 115 EXPORT_SYMBOL(xb_clear_bit); 116 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation --Kj7319i9nmIyA2yE Content-Type: application/gzip Content-Disposition: attachment; filename=".config.gz" Content-Transfer-Encoding: base64 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 KjMjG3LBojT//wC9q9RX6WAAAA== --Kj7319i9nmIyA2yE--