From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45322) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZQObQ-000565-Dt for qemu-devel@nongnu.org; Fri, 14 Aug 2015 19:41:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZQObP-0006Kl-6R for qemu-devel@nongnu.org; Fri, 14 Aug 2015 19:41:36 -0400 Sender: Paolo Bonzini References: <1437741192-20955-1-git-send-email-peter.maydell@linaro.org> <1437741192-20955-4-git-send-email-peter.maydell@linaro.org> From: Paolo Bonzini Message-ID: <55CE7CA6.1080504@redhat.com> Date: Sat, 15 Aug 2015 01:41:26 +0200 MIME-Version: 1.0 In-Reply-To: <1437741192-20955-4-git-send-email-peter.maydell@linaro.org> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v2 3/6] hw/block/nvme.c: Use pow2ceil() rather than hand-calculation List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell , qemu-devel@nongnu.org Cc: Kevin Wolf , Keith Busch , patches@linaro.org, qemu-block@nongnu.org, "Michael S. Tsirkin" On 24/07/2015 14:33, Peter Maydell wrote: > Use pow2ceil() to round up to the next power of 2, rather > than an inline calculation. > > Signed-off-by: Peter Maydell > --- > hw/block/nvme.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/block/nvme.c b/hw/block/nvme.c > index 40d4880..5da41b2 100644 > --- a/hw/block/nvme.c > +++ b/hw/block/nvme.c > @@ -805,7 +805,7 @@ static int nvme_init(PCIDevice *pci_dev) > > n->num_namespaces = 1; > n->num_queues = 64; > - n->reg_size = 1 << qemu_fls(0x1004 + 2 * (n->num_queues + 1) * 4); > + n->reg_size = pow2ceil(0x1004 + 2 * (n->num_queues + 1) * 4); The pre-patch version only worked because the expression was never a power of two. Won't miss the cleverness. :) Reviewed-by: Paolo Bonzini > n->ns_size = bs_size / (uint64_t)n->num_namespaces; > > n->namespaces = g_new0(NvmeNamespace, n->num_namespaces); >