From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38270) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fnDJ4-0003lN-L8 for qemu-devel@nongnu.org; Tue, 07 Aug 2018 21:30:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fnDJ1-0002CJ-Hv for qemu-devel@nongnu.org; Tue, 07 Aug 2018 21:30:34 -0400 Received: from mga18.intel.com ([134.134.136.126]:41405) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fnDJ1-0002Bq-6h for qemu-devel@nongnu.org; Tue, 07 Aug 2018 21:30:31 -0400 Message-ID: <5B6A48AF.7010906@intel.com> Date: Wed, 08 Aug 2018 09:34:39 +0800 From: Wei Wang MIME-Version: 1.0 References: <1533031278-5615-1-git-send-email-wei.w.wang@intel.com> <20180807073905.GA7265@xz-mi> <5B69567B.8050309@intel.com> <20180807095337.GD2556@work-vm> In-Reply-To: <20180807095337.GD2556@work-vm> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v2] bitmap: fix BITMAP_LAST_WORD_MASK List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Dr. David Alan Gilbert" Cc: Peter Xu , qemu-devel@nongnu.org, quintela@redhat.com, mst@redhat.com On 08/07/2018 05:53 PM, Dr. David Alan Gilbert wrote: > * Wei Wang (wei.w.wang@intel.com) wrote: >> On 08/07/2018 03:39 PM, Peter Xu wrote: >>> On Tue, Jul 31, 2018 at 06:01:18PM +0800, Wei Wang wrote: >>>> When "nbits = 0", which means no bits to mask, this macro is expected to >>>> return 0, instead of 0xffffffff. This patch changes the macro to return >>>> 0 when there is no bit needs to be masked. >>>> >>>> Signed-off-by: Wei Wang >>>> CC: Juan Quintela >>>> CC: Dr. David Alan Gilbert >>>> CC: Peter Xu >>> Reviewed-by: Peter Xu >>> >>> Is there any existing path that can trigger this nbits==0? >> Not sure about other bitmap APIs which call this macro. But it happens in >> the patches we are working on, which use bitmap_count_one. >> It would be good to have the macro itself handle this corner case, so that >> callers won't need to worry about that. > Given that I see you're having a similar discussion on the kernel list > we should see how that pans out before making qemu changes. OK. The situation is a little different in Linux, because all the callers there have already taken the responsibilities to avoid the "nbits=0" corner case, that's also the reason that they want to stick with the old way. Here in QEMU, most callers (e.g. bitmap_count_one, bitmap_fill, bitmap_intersects) haven't checked that, so fixing the macro itself might be a better choice here. Best, Wei