From nobody Mon Nov 17 09:46:52 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.124; envelope-from=philmd@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1603806961; cv=none; d=zohomail.com; s=zohoarc; b=kKnKEWm4DjosI8/EQEfLdc4VQZcKSCbIAHIvfzb9xk4xIA2wrV5MA8A0hh2e03zq7Ti+PW6PG1FcHZ0xkqOf953CYaOMlOAzC2MuopSw8bpxwPvHzSURRKDNF24JeqTUbbchd1f+berf7v6AEIwuPlmWBkQAPn1JFy6hB55WSio= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603806961; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=kHDg5TLpZChWqON6ng1k59lvL09+LS2LIxOnQI0wvdw=; b=aODFsdzCTk7RLWKlBbMlm6IvBSaTLuegFpjQxIYSUY0ToIICQTX7L683g3aqXbYpPFn1e1nTAFxHpCyOryNv0qfWC7DqaD82uQcKFwI2jltsyQAneke1Q7yadVSKk5YChw5xxR5QtH40I5fIFrp2RESkMVD56rfl9XPipjXtL6A= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1603806961550829.5641441006836; Tue, 27 Oct 2020 06:56:01 -0700 (PDT) Received: from mail-ej1-f69.google.com (mail-ej1-f69.google.com [209.85.218.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-105-n-NA0cVkPTiiR12ViQE-Bg-1; Tue, 27 Oct 2020 09:55:57 -0400 Received: by mail-ej1-f69.google.com with SMTP id pk23so934877ejb.4 for ; Tue, 27 Oct 2020 06:55:56 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.redhat.com (237.red-88-18-140.staticip.rima-tde.net. [88.18.140.237]) by smtp.gmail.com with ESMTPSA id bw25sm1111452ejb.119.2020.10.27.06.55.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Oct 2020 06:55:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1603806960; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=kHDg5TLpZChWqON6ng1k59lvL09+LS2LIxOnQI0wvdw=; b=Jb0FSSkzvv66RV48Xp5qQw6MaUYb2pwI9gcjz5tq1deSx0P5MKpUGJ5Mm1RvP3S/tVntiN pUQV/Max8O1wp8RSapaR4oph0rQ0HxZVu4brRbEZ1/JyErp/SITshAJTG6WDBh43lh/5bE 0RS039hGHN1gJCFZNhhw7T4FBMbNsPM= X-MC-Unique: n-NA0cVkPTiiR12ViQE-Bg-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=kHDg5TLpZChWqON6ng1k59lvL09+LS2LIxOnQI0wvdw=; b=NrQkPlkrkyCzs1wCKYNM4nl0KSmIV2bfCKQzhgVGtxbnVwODUx+cwOgWOFvN/cpX5q WMMaEaj38HvhGJWXNHYI/fJHLJIib6rl+Zig0m3rXH/zmVeCWM7vSFwVvhXAzxHwsYf/ agyKusEw+RcNoY3QJDt0PH44fATxJVFugg0kU4WpIy7XMq8G8mkzaE2+MEGfE7nfyDsY 6VD3DCsryg8efF1h+howT1S9RsYA8hnif3E/JezUV0UQ690eatp02BhlMB1v8W2Syi9J 2a5SlQEdC0m6PMM6GEImm4WqHFaQfPUO9Gmzm7DIwYrKeC2M1Wmy1QL7atMkejImyq11 I/7Q== X-Gm-Message-State: AOAM532wHu34OMKxSsYqJv/MpLh4EfTuh94ZaqDMyYAFgdREQ4wTL69u Y0VkBqonyo0QDoQLOpV5UqQMLe419YEHZ7Y3RvmtbuWrDvm1Kwue7Y6Zgg7f9ye+1xAVkmvv9mq 5c0jQM0yvnweQOw== X-Received: by 2002:a17:906:640d:: with SMTP id d13mr2421959ejm.223.1603806955842; Tue, 27 Oct 2020 06:55:55 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzm+Sl0xVtt5k1/E4kvlxHQw7ySGnLPNQx9gg/R1TcWwzq2Qq5fjEGpc4SmSIpFAXuWjm9txw== X-Received: by 2002:a17:906:640d:: with SMTP id d13mr2421945ejm.223.1603806955659; Tue, 27 Oct 2020 06:55:55 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Klaus Jensen , qemu-block@nongnu.org, Fam Zheng , Keith Busch , Eric Auger , Stefan Hajnoczi , Kevin Wolf , Max Reitz , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Klaus Jensen Subject: [PATCH 01/25] MAINTAINERS: Cover 'block/nvme.h' file Date: Tue, 27 Oct 2020 14:55:23 +0100 Message-Id: <20201027135547.374946-2-philmd@redhat.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201027135547.374946-1-philmd@redhat.com> References: <20201027135547.374946-1-philmd@redhat.com> MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=philmd@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) The "block/nvme.h" header is shared by both the NVMe block driver and the NVMe emulated device. Add the 'F:' entry on both sections, so all maintainers/reviewers are notified when it is changed. Reviewed-by: Klaus Jensen Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Stefan Hajnoczi Tested-by: Eric Auger --- MAINTAINERS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index ef6f5c73998..9366a1b2b3a 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1876,6 +1876,7 @@ M: Klaus Jensen L: qemu-block@nongnu.org S: Supported F: hw/block/nvme* +F: include/block/nvme.h F: tests/qtest/nvme-test.c T: git git://git.infradead.org/qemu-nvme.git nvme-next =20 @@ -2953,6 +2954,7 @@ R: Fam Zheng L: qemu-block@nongnu.org S: Supported F: block/nvme* +F: include/block/nvme.h T: git https://github.com/stefanha/qemu.git block =20 Bootdevice --=20 2.26.2 From nobody Mon Nov 17 09:46:52 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.124; envelope-from=philmd@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1603806966; cv=none; d=zohomail.com; s=zohoarc; b=fFTm9zKpj9DIC/vFkx9fn2JIkA42ZuAPFjlcwObc+4Fsgmtt/0WJoES1M1fFiW2giXvwGjM8g7UrmcKxu7mO6su5OJtq4dCbE0SbQfl9tZBsyuuthwNjCPKs6cVxkf/Wgxnt/H2atVDz3YqJU6yxPxsFJhYa1+jIhNcLX0phCP4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603806966; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=faAds+I3T/QXPAYkC+t4lGLvv4Dkjc5SBZjt6RcJJiw=; b=Z1OdWP+NfM40ABAj+J1OD1VrezsHyycrdzLcW3xOAWftTxKBCE3Fqvd+ISHpfi9BoYrKJsLMsHiLKwlSEkCiSOerOe9DXXH1K0ZHfj66Zk20tleLlDlLr4y0SbBjgfaL7csJvdKN9PVVlNLELycKy8OwxDOdMlJ4oLokk3/7kac= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 1603806966038684.5416718296068; Tue, 27 Oct 2020 06:56:06 -0700 (PDT) Received: from mail-ej1-f72.google.com (mail-ej1-f72.google.com [209.85.218.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-566-ktIMi233NvS9Ur9ARMVtWQ-1; Tue, 27 Oct 2020 09:56:03 -0400 Received: by mail-ej1-f72.google.com with SMTP id z25so944620ejd.2 for ; Tue, 27 Oct 2020 06:56:02 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.redhat.com (237.red-88-18-140.staticip.rima-tde.net. [88.18.140.237]) by smtp.gmail.com with ESMTPSA id hb6sm1109168ejb.65.2020.10.27.06.55.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Oct 2020 06:56:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1603806965; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=faAds+I3T/QXPAYkC+t4lGLvv4Dkjc5SBZjt6RcJJiw=; b=SJrfrFbOhfpljT/iRtvTsqaULUku9phZZVZu/hMvdhjEqtzYr+7mlTY2miOyX0Z3GRP00A ZPyOkXZmIgpA0J+N9JjRaNlWXZQqyM6jmj5gqTdaiXHndsWwdr1vFJeqVZ0v4IJiCInopq Cresi8ix86k04fTDqBYGkt4G/L2BZlY= X-MC-Unique: ktIMi233NvS9Ur9ARMVtWQ-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=faAds+I3T/QXPAYkC+t4lGLvv4Dkjc5SBZjt6RcJJiw=; b=ohi95h1w6Ld59wWtvw1+nk5smeQl31tbKNNxdlufb4vXWAZqOU6H+IZspGoPI4QcLX x2DUH81ObjbPZLn6Uck9Smv5FqPmrqLWXXiDXHSWDNVEEiiWx0mObLdp0ZYG71QSEz2u VqptHkHDxicx3MytvZTDgPiDQnL82+5ZYCPHz10mv+Bi9S7MvUCW1VEewkOhXVli22NI kjWPLjGTYJJYPLxnx23xVcAxzlPwYTCEvcxNainajIlWzGF044t0qxnmdN0gr3NSybTt CvO0+bMDrOpM1Es6pbcks1ZaWmTYYaRIkjsCvCXKCNvui+ANi/RglapZC3VWRHW3gyro twjA== X-Gm-Message-State: AOAM530/W5j1Bj4hxU0okKhJXzVD6kUOtZLGcQbbd2v6aA2LUIN1LTcZ J9JQHtGQN+xLXIHdVDro3I3TppOY45PM6JXLcHFnK/XdKn7+AiQxg/kainy7yJBvMDUxJaUEyUJ Q43D4x3jhLBo0Fw== X-Received: by 2002:aa7:c84b:: with SMTP id g11mr2282887edt.86.1603806961310; Tue, 27 Oct 2020 06:56:01 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw0FF6H+9NW/CpsE27BDUdX+VEQ9qNYcDYjbD83uhjrsFxaVSQUtGW42sbTbKdvm6WVr5HfDA== X-Received: by 2002:aa7:c84b:: with SMTP id g11mr2282868edt.86.1603806961082; Tue, 27 Oct 2020 06:56:01 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Klaus Jensen , qemu-block@nongnu.org, Fam Zheng , Keith Busch , Eric Auger , Stefan Hajnoczi , Kevin Wolf , Max Reitz , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 02/25] block/nvme: Use hex format to display offset in trace events Date: Tue, 27 Oct 2020 14:55:24 +0100 Message-Id: <20201027135547.374946-3-philmd@redhat.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201027135547.374946-1-philmd@redhat.com> References: <20201027135547.374946-1-philmd@redhat.com> MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=philmd@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Use the same format used for the hw/vfio/ trace events. Suggested-by: Eric Auger Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Eric Auger Reviewed-by: Stefan Hajnoczi Tested-by: Eric Auger --- block/trace-events | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/block/trace-events b/block/trace-events index 0e351c3fa3d..0955c85c783 100644 --- a/block/trace-events +++ b/block/trace-events @@ -144,13 +144,13 @@ nvme_submit_command(void *s, int index, int cid) "s %= p queue %d cid %d" nvme_submit_command_raw(int c0, int c1, int c2, int c3, int c4, int c5, in= t c6, int c7) "%02x %02x %02x %02x %02x %02x %02x %02x" nvme_handle_event(void *s) "s %p" nvme_poll_cb(void *s) "s %p" -nvme_prw_aligned(void *s, int is_write, uint64_t offset, uint64_t bytes, i= nt flags, int niov) "s %p is_write %d offset %"PRId64" bytes %"PRId64" flag= s %d niov %d" -nvme_write_zeroes(void *s, uint64_t offset, uint64_t bytes, int flags) "s = %p offset %"PRId64" bytes %"PRId64" flags %d" +nvme_prw_aligned(void *s, int is_write, uint64_t offset, uint64_t bytes, i= nt flags, int niov) "s %p is_write %d offset 0x%"PRIx64" bytes %"PRId64" fl= ags %d niov %d" +nvme_write_zeroes(void *s, uint64_t offset, uint64_t bytes, int flags) "s = %p offset 0x%"PRIx64" bytes %"PRId64" flags %d" nvme_qiov_unaligned(const void *qiov, int n, void *base, size_t size, int = align) "qiov %p n %d base %p size 0x%zx align 0x%x" -nvme_prw_buffered(void *s, uint64_t offset, uint64_t bytes, int niov, int = is_write) "s %p offset %"PRId64" bytes %"PRId64" niov %d is_write %d" -nvme_rw_done(void *s, int is_write, uint64_t offset, uint64_t bytes, int r= et) "s %p is_write %d offset %"PRId64" bytes %"PRId64" ret %d" -nvme_dsm(void *s, uint64_t offset, uint64_t bytes) "s %p offset %"PRId64" = bytes %"PRId64"" -nvme_dsm_done(void *s, uint64_t offset, uint64_t bytes, int ret) "s %p off= set %"PRId64" bytes %"PRId64" ret %d" +nvme_prw_buffered(void *s, uint64_t offset, uint64_t bytes, int niov, int = is_write) "s %p offset 0x%"PRIx64" bytes %"PRId64" niov %d is_write %d" +nvme_rw_done(void *s, int is_write, uint64_t offset, uint64_t bytes, int r= et) "s %p is_write %d offset 0x%"PRIx64" bytes %"PRId64" ret %d" +nvme_dsm(void *s, uint64_t offset, uint64_t bytes) "s %p offset 0x%"PRIx64= " bytes %"PRId64"" +nvme_dsm_done(void *s, uint64_t offset, uint64_t bytes, int ret) "s %p off= set 0x%"PRIx64" bytes %"PRId64" ret %d" nvme_dma_map_flush(void *s) "s %p" nvme_free_req_queue_wait(void *q) "q %p" nvme_cmd_map_qiov(void *s, void *cmd, void *req, void *qiov, int entries) = "s %p cmd %p req %p qiov %p entries %d" --=20 2.26.2 From nobody Mon Nov 17 09:46:52 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1603807181; cv=none; d=zohomail.com; s=zohoarc; b=GJA363PxL/4nIkALcTIguCRsyhVAnrjC/rJQrGRcIzwm1D9o5+2iyvdrlhSOYlveb02KnUeG49uHFfoumADdzqakS3K5ZFBlAKRunpr4tNTPVDrVk8jt68C9er88pHTrzdtIEIoDOBjlUR8dJMeNJScyPgrNs7Dro4Mubulo3qE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603807181; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=hJ2JSVFibEBuSdrDhyhun8v6dNN9NfBaGi/52/sdax4=; b=jAuJYeA5MX6v1C2SZ5+67DtPur6dYeg1DxJneq0RWnm6hWtJzYueTGqA8oJstPutjI/kwTynJ9FsK+CQueiErLqXalnEJRwLE+YOjOZCI20t6oud3faqBlXVjjjsKG2viItdi/zsSw0oR2hS4fYAG04t10713ZYqflGEB3Kvcxo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1603807181079770.0416191425137; Tue, 27 Oct 2020 06:59:41 -0700 (PDT) Received: from localhost ([::1]:53172 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kXPVj-0005Tv-NS for importer@patchew.org; Tue, 27 Oct 2020 09:59:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:35530) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kXPSO-0002zp-UJ for qemu-devel@nongnu.org; Tue, 27 Oct 2020 09:56:19 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:33826) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kXPSM-0004Ef-N8 for qemu-devel@nongnu.org; Tue, 27 Oct 2020 09:56:12 -0400 Received: from mail-ed1-f70.google.com (mail-ed1-f70.google.com [209.85.208.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-373-3ZgIFAhaNyCzX7GnW28XRA-1; Tue, 27 Oct 2020 09:56:08 -0400 Received: by mail-ed1-f70.google.com with SMTP id cb27so708107edb.11 for ; Tue, 27 Oct 2020 06:56:08 -0700 (PDT) Received: from x1w.redhat.com (237.red-88-18-140.staticip.rima-tde.net. [88.18.140.237]) by smtp.gmail.com with ESMTPSA id ck19sm1076488ejb.99.2020.10.27.06.56.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Oct 2020 06:56:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1603806970; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=hJ2JSVFibEBuSdrDhyhun8v6dNN9NfBaGi/52/sdax4=; b=SUTGu0VUM1HHflHXu1F0Xf4jSgqg2BFxpdB6/mYGdLacV69JE2FKHVrHf53vMUoJitmJss d6wD383Gvy2yWv0LRp3rHZ5UU0B7VRgzzJOONthJaVaRYigzzqei1dVKLrycvJKDsGEHVp Qb19xPtIRqMAtyHSNoRD+k+/I8DD3ak= X-MC-Unique: 3ZgIFAhaNyCzX7GnW28XRA-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=hJ2JSVFibEBuSdrDhyhun8v6dNN9NfBaGi/52/sdax4=; b=qXCgIsdjRrCZhf8YipLP6fJfyhsQYyXrYMY91HixmkhRlMBUVJHvIf0MuHMgaSOSgt d1W6wkZR+kjIKhQmUkv7g1GZpmOO1cY5XGEGbaT06wAGuWtiR2bPqKwetD0nlDbqiV0O snGM6m4l3vWAw6BNJFH89UB4TSV+AIfGOaTtFTvV5Pf94s1qdtYKQcHmxCgWbpdizP2X HOwgAqRJ0GYnn5wiC71qKBXmE7M/vk1yHlpj+ZaRFouZ0y0dX+cpVZOqlVYpTO+n8ESO ZJ768/80YOM5PxMMrbg3rU/eAjrDn801VW0SLwtyZ0ByfBL65O08/5Tzgna3pInuY/R5 OwBw== X-Gm-Message-State: AOAM531m90p4KDk3PO2NUB1RNfweYXxIG5sy6rTfURjnMCbDTcX1pu+0 oSLzwldCMZ0/leadVZIo8vG5xWKNIkdBT/n/W9B8UShUeiGcJdDBIs6AENgzq4B220UVUFvhqLq WJcstez5ZJ+P8pCE= X-Received: by 2002:a17:906:444:: with SMTP id e4mr2716816eja.218.1603806966727; Tue, 27 Oct 2020 06:56:06 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyBws8uIONsfcGYcdCt+x1vB07twQn0gDSXUmcWfHyfPueaX4Z30qZk5k0Xz7UVX14DKpAalQ== X-Received: by 2002:a17:906:444:: with SMTP id e4mr2716792eja.218.1603806966504; Tue, 27 Oct 2020 06:56:06 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH 03/25] block/nvme: Report warning with warn_report() Date: Tue, 27 Oct 2020 14:55:25 +0100 Message-Id: <20201027135547.374946-4-philmd@redhat.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201027135547.374946-1-philmd@redhat.com> References: <20201027135547.374946-1-philmd@redhat.com> MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=philmd@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=philmd@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/27 01:06:06 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Fam Zheng , Kevin Wolf , qemu-block@nongnu.org, Eric Auger , Max Reitz , Keith Busch , Stefan Hajnoczi , Klaus Jensen , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Instead of displaying warning on stderr, use warn_report() which also displays it on the monitor. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Eric Auger Reviewed-by: Stefan Hajnoczi Tested-by: Eric Auger --- block/nvme.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/block/nvme.c b/block/nvme.c index 739a0a700cb..6f1d7f9b2a1 100644 --- a/block/nvme.c +++ b/block/nvme.c @@ -399,8 +399,8 @@ static bool nvme_process_completion(NVMeQueuePair *q) } cid =3D le16_to_cpu(c->cid); if (cid =3D=3D 0 || cid > NVME_QUEUE_SIZE) { - fprintf(stderr, "Unexpected CID in completion queue: %" PRIu32= "\n", - cid); + warn_report("NVMe: Unexpected CID in completion queue: %"PRIu3= 2", " + "queue size: %u", cid, NVME_QUEUE_SIZE); continue; } trace_nvme_complete_command(s, q->index, cid); --=20 2.26.2 From nobody Mon Nov 17 09:46:52 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.124; envelope-from=philmd@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1603806975; cv=none; d=zohomail.com; s=zohoarc; b=dRLgLyOQdRpDLWhiRCo/RLv9eOU7fI+LlDevItvAOq58M4IsECMFpu/p90sLE/TMh+V3TPug9eWS8Fl6nQwLg55l1u8xKI3piEs1XPiDaeIoFNQpanm8WwWyejL1vvP6wg2L5N6Sf0KRYdNV1h0quOQrljooDgq8N5iMxGH9lFY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603806975; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=a7fBCIQ/1BkfqoPLON3TqQaNLgboMKILqf/ROXQloYA=; b=nOrZY7pvjawLXHrYC5YkB3gzEI2UJnCgtR2ASfSEAX5rY5qNhCSqhZ1OFvCCR/9RWXm1uvOxN5YN7L+feUDxGcdMVU/rgNWq74GNR3mXjEEr5zCicKiWCobf9HU6xZAnO7c5YPcwpmiQt4Gxzq+gzYHj+gXveRDmpsfLrsIWlms= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1603806975615356.36367215799714; Tue, 27 Oct 2020 06:56:15 -0700 (PDT) Received: from mail-ed1-f70.google.com (mail-ed1-f70.google.com [209.85.208.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-91-zKzgM_JpNOWxDgC4rRbwtQ-1; Tue, 27 Oct 2020 09:56:13 -0400 Received: by mail-ed1-f70.google.com with SMTP id dm20so735852edb.2 for ; Tue, 27 Oct 2020 06:56:13 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.redhat.com (237.red-88-18-140.staticip.rima-tde.net. [88.18.140.237]) by smtp.gmail.com with ESMTPSA id qq10sm1126501ejb.31.2020.10.27.06.56.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Oct 2020 06:56:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1603806974; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=a7fBCIQ/1BkfqoPLON3TqQaNLgboMKILqf/ROXQloYA=; b=azP4WQBQb7vn2ZCM7JH8c6JzBP59m30R+HfFcdbkR3eF6WwsFnKwQVh35kXfEulBzPTyUR 51YfVdVHdO3wquWYwh6rz2gYwqhgMcHB9cYF/tFRyYdAXhVBtQgS9iIdZcBdFv9aVHn5fb JcONT4ZfmrHMX+ls1M59AvyQEpXMwaA= X-MC-Unique: zKzgM_JpNOWxDgC4rRbwtQ-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=a7fBCIQ/1BkfqoPLON3TqQaNLgboMKILqf/ROXQloYA=; b=WeZBp3WqUUVzn2hmZckFZ158kElJbEXK0KAkoGo2rSwLU432qVYLjGE6kg6mhnO7Eg oJDMhVHbRbz2v0bLivDIkFdRm2h4DkKoUKryTXPKE6tjGRCcENXM1zsBFFpNDsMNMtoQ dC7dBHVqtmXapM1qpHOewSyB+rCxp3x7Kx/aVHiZvNEawMQmVDPGyYB/ArbgSQDjekzP AyxW4r5yhGMq6XmqCx+PpIzOffwNiPghHuoL4AEdOI21oQuPY8ztBe9X4/htIla0VQqn KsSti96ua5h0+wNXsCuvckd+DPy6H05Ze7Fc3OTYTXXqSWZJUfSXC5GDn50eolXWihtM ++VA== X-Gm-Message-State: AOAM530SzyaNPNQ6FDptTbAswfMDtUgK08ugA0IGuSF9RDs87P4Tk9JR 58jOSnV4KdKNSdsAB98+xfxd27TI+95Efje+M0R7RjtsiV5WuLI3YTD7p0TUwOEvgdWn7ZbxyvO qyhTV94JkfpJCcw== X-Received: by 2002:a17:906:1804:: with SMTP id v4mr2593846eje.201.1603806972000; Tue, 27 Oct 2020 06:56:12 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzZgJ0Yhl0g+IaSqdnBKcqOlMQmDkgQVickfFpeBkLGikNBaXcoPQA5gqttgXSEN0pAPYoMDg== X-Received: by 2002:a17:906:1804:: with SMTP id v4mr2593829eje.201.1603806971794; Tue, 27 Oct 2020 06:56:11 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Klaus Jensen , qemu-block@nongnu.org, Fam Zheng , Keith Busch , Eric Auger , Stefan Hajnoczi , Kevin Wolf , Max Reitz , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 04/25] block/nvme: Trace controller capabilities Date: Tue, 27 Oct 2020 14:55:26 +0100 Message-Id: <20201027135547.374946-5-philmd@redhat.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201027135547.374946-1-philmd@redhat.com> References: <20201027135547.374946-1-philmd@redhat.com> MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=philmd@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Controllers have different capabilities and report them in the CAP register. We are particularly interested by the page size limits. Reviewed-by: Stefan Hajnoczi Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Eric Auger Tested-by: Eric Auger --- block/nvme.c | 13 +++++++++++++ block/trace-events | 2 ++ 2 files changed, 15 insertions(+) diff --git a/block/nvme.c b/block/nvme.c index 6f1d7f9b2a1..361b5772b7a 100644 --- a/block/nvme.c +++ b/block/nvme.c @@ -727,6 +727,19 @@ static int nvme_init(BlockDriverState *bs, const char = *device, int namespace, * Initialization". */ =20 cap =3D le64_to_cpu(regs->cap); + trace_nvme_controller_capability_raw(cap); + trace_nvme_controller_capability("Maximum Queue Entries Supported", + 1 + NVME_CAP_MQES(cap)); + trace_nvme_controller_capability("Contiguous Queues Required", + NVME_CAP_CQR(cap)); + trace_nvme_controller_capability("Doorbell Stride", + 2 << (2 + NVME_CAP_DSTRD(cap))); + trace_nvme_controller_capability("Subsystem Reset Supported", + NVME_CAP_NSSRS(cap)); + trace_nvme_controller_capability("Memory Page Size Minimum", + 1 << (12 + NVME_CAP_MPSMIN(cap))); + trace_nvme_controller_capability("Memory Page Size Maximum", + 1 << (12 + NVME_CAP_MPSMAX(cap))); if (!NVME_CAP_CSS(cap)) { error_setg(errp, "Device doesn't support NVMe command set"); ret =3D -EINVAL; diff --git a/block/trace-events b/block/trace-events index 0955c85c783..b90b07b15fa 100644 --- a/block/trace-events +++ b/block/trace-events @@ -134,6 +134,8 @@ qed_aio_write_postfill(void *s, void *acb, uint64_t sta= rt, size_t len, uint64_t qed_aio_write_main(void *s, void *acb, int ret, uint64_t offset, size_t le= n) "s %p acb %p ret %d offset %"PRIu64" len %zu" =20 # nvme.c +nvme_controller_capability_raw(uint64_t value) "0x%08"PRIx64 +nvme_controller_capability(const char *desc, uint64_t value) "%s: %"PRIu64 nvme_kick(void *s, int queue) "s %p queue %d" nvme_dma_flush_queue_wait(void *s) "s %p" nvme_error(int cmd_specific, int sq_head, int sqid, int cid, int status) "= cmd_specific %d sq_head %d sqid %d cid %d status 0x%x" --=20 2.26.2 From nobody Mon Nov 17 09:46:52 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.124; envelope-from=philmd@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1603806984; cv=none; d=zohomail.com; s=zohoarc; b=malqvO+3X263JBTDN15LodaUwyBXHo+CvzpGn4SbWy7OEKq4Kg65njZgDemhnY/+jbM18TecQTAWK0ZhN7QJx0w+cZjefAqA3yv7Nv2sPQUiivdsmWQashomnE68bgZq29FJIFSZeiGJTlZKrcj5qup7DW8e6odak1WjT5Zgens= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603806984; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=W4p23PAiAshE1wqHPJXxubFhGilm8TUfsmi+fLR5mFU=; b=L7vOOiU+YBrBH/oU3FkxPHrQBCO0fmOitffgons+/puYXTmZewW84DtVlYxb7DqKwSbgd7yIhkPv1MQz4JJJac/lu2FbYWi3wPjcczvn2kk5XtZ2/rTFjezRh00mJaFHOqycDFTYkU4DTaI0MQBckyJpXg93NS3ZZ5C6DOoELVI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1603806984452495.6567300246279; Tue, 27 Oct 2020 06:56:24 -0700 (PDT) Received: from mail-ed1-f69.google.com (mail-ed1-f69.google.com [209.85.208.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-515-QJheQ2t_Oe--c3dP5iO_vQ-1; Tue, 27 Oct 2020 09:56:19 -0400 Received: by mail-ed1-f69.google.com with SMTP id i9so711294edx.10 for ; Tue, 27 Oct 2020 06:56:18 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.redhat.com (237.red-88-18-140.staticip.rima-tde.net. [88.18.140.237]) by smtp.gmail.com with ESMTPSA id ce15sm1179509ejc.39.2020.10.27.06.56.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Oct 2020 06:56:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1603806982; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=W4p23PAiAshE1wqHPJXxubFhGilm8TUfsmi+fLR5mFU=; b=Sl+tVcp0l89EiHYJMYNJvTPuqIoM6k0UtygK4jKL2zQsJqv4eTEkjiJep8aVDalwdHWjNc kmwRSrghBhtozgQSc/jm73RIhzO+SCZpZi+D4MpHeQCEeNV4s3GvbdjDHHQLUwUuqt4Y9n CMWZOq0qITgssEGvzCpWLoA0ojvQemU= X-MC-Unique: QJheQ2t_Oe--c3dP5iO_vQ-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=W4p23PAiAshE1wqHPJXxubFhGilm8TUfsmi+fLR5mFU=; b=Wt7iThXDdbzC1hCN0L1OUJ3CGEERf0FHMA9kkWfad+PdSRATsT1Hq0l/greJXvwgUK InOplUm5u5dVhpDlHmnvkin518d2ASgzEQaPhayZ92Rxdwo93QffRUFMhz2XdYN8REri VaFdOZS/E/p0/lxBE77Pon4bWjW/w2vGyTt3FsmMPsfuOQLvwFLK9tryLiBiC9uQbvH1 GLu4Fq9pO9x+VicRQHVF2LtGyPOgfvD1TEkgLK2GiiN8o3DvCgWmRMlgArZupY+D8uyn /ivPdYJSog25d3F8XMr/9PdDfQVGw6hAuMZ31g6xjBgvYTXr3fErux2AZEUGrpFER8Qv XypA== X-Gm-Message-State: AOAM530r+NDFnnRXBPbjSgNKGJY5wfaGGm/HUUrpeQpoFvq7sgpvRPDF nW35cnfcKDCxIM3WAtHPxUYTH7G3ejzIZIp9EOung84Uu+LALswWE2p5muWH8uyiKQcW9JLe4kK 4BsoyDXJDrPJimg== X-Received: by 2002:a05:6402:1597:: with SMTP id c23mr2333559edv.155.1603806977126; Tue, 27 Oct 2020 06:56:17 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzCRg3m9AjyyZc8sVf3hr531fxX8NHAcXcVOzmNdPiFosGkCCMbuKs3qZZhGAqy2IGvrMhbIw== X-Received: by 2002:a05:6402:1597:: with SMTP id c23mr2333537edv.155.1603806976927; Tue, 27 Oct 2020 06:56:16 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Klaus Jensen , qemu-block@nongnu.org, Fam Zheng , Keith Busch , Eric Auger , Stefan Hajnoczi , Kevin Wolf , Max Reitz , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 05/25] block/nvme: Trace nvme_poll_queue() per queue Date: Tue, 27 Oct 2020 14:55:27 +0100 Message-Id: <20201027135547.374946-6-philmd@redhat.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201027135547.374946-1-philmd@redhat.com> References: <20201027135547.374946-1-philmd@redhat.com> MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=philmd@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) As we want to enable multiple queues, report the event in each nvme_poll_queue() call, rather than once in the callback calling nvme_poll_queues(). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Eric Auger Reviewed-by: Stefan Hajnoczi Tested-by: Eric Auger --- block/nvme.c | 2 +- block/trace-events | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/block/nvme.c b/block/nvme.c index 361b5772b7a..8d74401ae7a 100644 --- a/block/nvme.c +++ b/block/nvme.c @@ -594,6 +594,7 @@ static bool nvme_poll_queue(NVMeQueuePair *q) const size_t cqe_offset =3D q->cq.head * NVME_CQ_ENTRY_BYTES; NvmeCqe *cqe =3D (NvmeCqe *)&q->cq.queue[cqe_offset]; =20 + trace_nvme_poll_queue(q->s, q->index); /* * Do an early check for completions. q->lock isn't needed because * nvme_process_completion() only runs in the event loop thread and @@ -684,7 +685,6 @@ static bool nvme_poll_cb(void *opaque) BDRVNVMeState *s =3D container_of(e, BDRVNVMeState, irq_notifier[MSIX_SHARED_IRQ_IDX]); =20 - trace_nvme_poll_cb(s); return nvme_poll_queues(s); } =20 diff --git a/block/trace-events b/block/trace-events index b90b07b15fa..86292f3312b 100644 --- a/block/trace-events +++ b/block/trace-events @@ -145,7 +145,7 @@ nvme_complete_command(void *s, int index, int cid) "s %= p queue %d cid %d" nvme_submit_command(void *s, int index, int cid) "s %p queue %d cid %d" nvme_submit_command_raw(int c0, int c1, int c2, int c3, int c4, int c5, in= t c6, int c7) "%02x %02x %02x %02x %02x %02x %02x %02x" nvme_handle_event(void *s) "s %p" -nvme_poll_cb(void *s) "s %p" +nvme_poll_queue(void *s, unsigned q_index) "s %p q #%u" nvme_prw_aligned(void *s, int is_write, uint64_t offset, uint64_t bytes, i= nt flags, int niov) "s %p is_write %d offset 0x%"PRIx64" bytes %"PRId64" fl= ags %d niov %d" nvme_write_zeroes(void *s, uint64_t offset, uint64_t bytes, int flags) "s = %p offset 0x%"PRIx64" bytes %"PRId64" flags %d" nvme_qiov_unaligned(const void *qiov, int n, void *base, size_t size, int = align) "qiov %p n %d base %p size 0x%zx align 0x%x" --=20 2.26.2 From nobody Mon Nov 17 09:46:52 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.124; envelope-from=philmd@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1603806991; cv=none; d=zohomail.com; s=zohoarc; b=YndDefNKwFXlklMJCCUVKc5l0YaqRQAIW9Cj8ClmEH/fNAi6tey+QHqPRACK/kRyFkzPqRYWyrv9HFBA5ydIAvU/rxIBR1o0pn1T5ElLLNvq4gwUi3gln+qthUb3jFqp1NhGVSZj4rOzOHW/qHQDx7bQaZiycdFTXS9je/IcJhE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603806991; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=WBWP7KBMIQI6YRPnFGQwZbxBBXEh8CIfDLyp5hJxrI0=; b=SP65HweVlhzA3+8x6kLnef3E6AeHdUYBKqB/XDuea3LjLQOUgBGCqXqU7iTbJzGFdOKRVIJizSNdU/Ez8dGji+uiC5Y9tcJHa9DW8mH1zMRY0fJ4bwspyewGncIUYYYnq8NR7hUbFfF1FpWaZkbxnLcxIhF47cb2j1Xx1q3Fmhk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 1603806991343543.4110170298093; Tue, 27 Oct 2020 06:56:31 -0700 (PDT) Received: from mail-ej1-f70.google.com (mail-ej1-f70.google.com [209.85.218.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-406-akznsdyeNQCSHRniJYwXgg-1; Tue, 27 Oct 2020 09:56:23 -0400 Received: by mail-ej1-f70.google.com with SMTP id z8so940399ejw.3 for ; Tue, 27 Oct 2020 06:56:23 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.redhat.com (237.red-88-18-140.staticip.rima-tde.net. [88.18.140.237]) by smtp.gmail.com with ESMTPSA id h15sm1088318ejf.50.2020.10.27.06.56.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Oct 2020 06:56:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1603806989; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=WBWP7KBMIQI6YRPnFGQwZbxBBXEh8CIfDLyp5hJxrI0=; b=apUdwp9v+1cItCBXebBrkownNvrnlmmVYzh8+voO9452zYm33+D3MjWAAkM3tE5xokPKSc jxL6Uz/0jJt8tq0qe/DQeJxvYWy4FjgChyTKoSZz3M3PALPzYXPsqM3bYy1Dyd1yzDlnkR sMFVhPJ2dv9nuuuLOCVu7/fpCd9Vfs8= X-MC-Unique: akznsdyeNQCSHRniJYwXgg-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=WBWP7KBMIQI6YRPnFGQwZbxBBXEh8CIfDLyp5hJxrI0=; b=WPz3IMiB9chw2DnRIQcoUpABDhpJpAKjJQLiLu5hFZ8RGalWOApwD5y5EPnitUDj65 +0ZeWvQXH5iyUEb2b48DxPEmOwV8XHLQDdlXdTiatk1urQgnw4KufOobdZkudmghn6hc 7nVQ6NROFhqzTvKUnZ9XtaQ1jix+xtCtCQFrDFb7EK3fwYAWJngKDkH0elHumUqSmEWn TMz9LhTSbW23XVAd8tQ6s+a3wtBsulaIFc9roIcv/fytWQkcPbUqHQF5S/UKGUbK/dt1 v+KOofZrm2zqTiJGt3sm28XePYkSAT3kmRmETNMeZOE7FGAjJjB681WaaQTQq8/KRwDH o/KA== X-Gm-Message-State: AOAM532yAu1nISk1uWp+7lOn1rrutsNJg2lob757qdvJC05kghr3U5MK 3y0On1iZ3dpgUkzBdq+JejKERruVebxY9x2Dk+y9GPfMkOy0PIv1f4S4itOwRwnRiyAD9pQghgL pFLJDz5PYnYRVpQ== X-Received: by 2002:a17:906:5594:: with SMTP id y20mr2650657ejp.196.1603806982306; Tue, 27 Oct 2020 06:56:22 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwQSZcVQU+o3Hk7rvmzMGq3IlquhDlUEgCoHtlKGQdLsCnzA4YKsJOo+FZo8KxtT0R5NaJ0lA== X-Received: by 2002:a17:906:5594:: with SMTP id y20mr2650638ejp.196.1603806982089; Tue, 27 Oct 2020 06:56:22 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Klaus Jensen , qemu-block@nongnu.org, Fam Zheng , Keith Busch , Eric Auger , Stefan Hajnoczi , Kevin Wolf , Max Reitz , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 06/25] block/nvme: Improve nvme_free_req_queue_wait() trace information Date: Tue, 27 Oct 2020 14:55:28 +0100 Message-Id: <20201027135547.374946-7-philmd@redhat.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201027135547.374946-1-philmd@redhat.com> References: <20201027135547.374946-1-philmd@redhat.com> MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=philmd@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) What we want to trace is the block driver state and the queue index. Suggested-by: Stefan Hajnoczi Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Eric Auger Reviewed-by: Stefan Hajnoczi Tested-by: Eric Auger --- block/nvme.c | 2 +- block/trace-events | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/block/nvme.c b/block/nvme.c index 8d74401ae7a..29d2541b911 100644 --- a/block/nvme.c +++ b/block/nvme.c @@ -292,7 +292,7 @@ static NVMeRequest *nvme_get_free_req(NVMeQueuePair *q) =20 while (q->free_req_head =3D=3D -1) { if (qemu_in_coroutine()) { - trace_nvme_free_req_queue_wait(q); + trace_nvme_free_req_queue_wait(q->s, q->index); qemu_co_queue_wait(&q->free_req_queue, &q->lock); } else { qemu_mutex_unlock(&q->lock); diff --git a/block/trace-events b/block/trace-events index 86292f3312b..cc5e2b55cb5 100644 --- a/block/trace-events +++ b/block/trace-events @@ -154,7 +154,7 @@ nvme_rw_done(void *s, int is_write, uint64_t offset, ui= nt64_t bytes, int ret) "s nvme_dsm(void *s, uint64_t offset, uint64_t bytes) "s %p offset 0x%"PRIx64= " bytes %"PRId64"" nvme_dsm_done(void *s, uint64_t offset, uint64_t bytes, int ret) "s %p off= set 0x%"PRIx64" bytes %"PRId64" ret %d" nvme_dma_map_flush(void *s) "s %p" -nvme_free_req_queue_wait(void *q) "q %p" +nvme_free_req_queue_wait(void *s, unsigned q_index) "s %p q #%u" nvme_cmd_map_qiov(void *s, void *cmd, void *req, void *qiov, int entries) = "s %p cmd %p req %p qiov %p entries %d" nvme_cmd_map_qiov_pages(void *s, int i, uint64_t page) "s %p page[%d] 0x%"= PRIx64 nvme_cmd_map_qiov_iov(void *s, int i, void *page, int pages) "s %p iov[%d]= %p pages %d" --=20 2.26.2 From nobody Mon Nov 17 09:46:52 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1603807186; cv=none; d=zohomail.com; s=zohoarc; b=XZcWC8e+9qZ2hb01inJDWot604zmE2bLk3gU0kKINVw6YpusqY/jJW7lTjXWLfKYoJ37wdQM91/qhkn6kikrHUhvYkQIupSAIf2amF0v7d3mCqS3xcItoQ5upGDIvD/Q1Kdx/pzqQVOu/dCgwkAw4P00bdzg7Vbd/v2uQfEObPE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603807186; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=WTNKxaQwF4QN5Qm5IVyY35OwN1rDPq29NQ3lg6jSg14=; b=DMWhq0JFPY2CmPbMlQdy2rZDr5pHctan/z3H6vW85IU3Vyvn0zrk4CjbAegPraEvomI1T3KcATlxR8N/mbB1qy9eAMUpnRwxB2WwgtgYy/QfnG/SR009ZBkJYEVpaQwTHs9xEvBilRzioMvYOe5mzXY24e3z7Vy6Op1rhSkox+Y= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 16038071869901006.9166974866639; Tue, 27 Oct 2020 06:59:46 -0700 (PDT) Received: from localhost ([::1]:53772 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kXPVp-0005ka-OJ for importer@patchew.org; Tue, 27 Oct 2020 09:59:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:35760) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kXPSm-0003D3-CB for qemu-devel@nongnu.org; Tue, 27 Oct 2020 09:56:36 -0400 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:30663) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kXPSj-0004Is-LO for qemu-devel@nongnu.org; Tue, 27 Oct 2020 09:56:36 -0400 Received: from mail-ed1-f72.google.com (mail-ed1-f72.google.com [209.85.208.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-426-C604_w8kMzil-TUDQC79ww-1; Tue, 27 Oct 2020 09:56:30 -0400 Received: by mail-ed1-f72.google.com with SMTP id 28so718023edv.9 for ; Tue, 27 Oct 2020 06:56:30 -0700 (PDT) Received: from x1w.redhat.com (237.red-88-18-140.staticip.rima-tde.net. [88.18.140.237]) by smtp.gmail.com with ESMTPSA id v18sm1154105ejj.10.2020.10.27.06.56.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Oct 2020 06:56:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1603806992; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=WTNKxaQwF4QN5Qm5IVyY35OwN1rDPq29NQ3lg6jSg14=; b=Yx4K5jG+RMU1t8vONfY2eiBvulIVGXVHI7/Ip7oH4RPfbmG4f2WojyY5yBT8CP3sCPO0Tq inpFzmyYZHFQJ5lbV47t488s3fsX0nt8/L1mDuT43NsyApSbP2HcAf5j0QiLEhPuPkWAzF EP7xK7tf4H7ZVH7lPn/LADBrvp4xcsI= X-MC-Unique: C604_w8kMzil-TUDQC79ww-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=WTNKxaQwF4QN5Qm5IVyY35OwN1rDPq29NQ3lg6jSg14=; b=Cx2egbSijMdDn3L03k+t7xytGpMMbiTMKbcn0ewxHUdzEX0JJ8hXdJmTsQbKnsYSwE emPPEn2IOwO87yJKsRPuDjXIsmOPdRJyeXMygx6W6AZSd89alAZZ1rNc/VsK3gQsPbnI Udi49hddSofm1Eq5cR/fCofE2z3AYL+HttvPBy4JfNa+jHBiJjazgKi3gjWs0YFQmA+G C356YbRXwBA13HwlVBGNZ2JGTqe9bJaEwge0Lhqz32lYLoeBX5gDxLudwkIPeXtwSqEy gOQ8hlswmhlYrDmfM0m7odbZ7dkyTh6uXOaNG54hzybvqUuRgFQF+dD/Z7tMetb/DZMg QJGg== X-Gm-Message-State: AOAM531aH/xuuIizmGz1bGXiamVO73oRrGa3peJwDyeiAx7ghQ+uGRgp 94JFEONEyhgOSO6ZzPsX40cRwAX3Hk0dNi7vy4c/fOedLvx4/wTvJo15qu1r7JiL9f/KTGrhbt2 Dr0NHofNuz7ox5bY= X-Received: by 2002:a17:906:383:: with SMTP id b3mr2438569eja.351.1603806988534; Tue, 27 Oct 2020 06:56:28 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw1GxBVUWTaaRofwrnmQgxs4Lw24I6NgzGnpAE7MCbszHDz/c7vUniMMGK4M9jVN3Z39g/66A== X-Received: by 2002:a17:906:383:: with SMTP id b3mr2438554eja.351.1603806988329; Tue, 27 Oct 2020 06:56:28 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH 07/25] block/nvme: Trace queue pair creation/deletion Date: Tue, 27 Oct 2020 14:55:29 +0100 Message-Id: <20201027135547.374946-8-philmd@redhat.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201027135547.374946-1-philmd@redhat.com> References: <20201027135547.374946-1-philmd@redhat.com> MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=philmd@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=philmd@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/27 01:06:07 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Fam Zheng , Kevin Wolf , qemu-block@nongnu.org, Eric Auger , Max Reitz , Keith Busch , Stefan Hajnoczi , Klaus Jensen , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Eric Auger Reviewed-by: Stefan Hajnoczi Tested-by: Eric Auger --- block/nvme.c | 3 +++ block/trace-events | 2 ++ 2 files changed, 5 insertions(+) diff --git a/block/nvme.c b/block/nvme.c index 29d2541b911..e95d59d3126 100644 --- a/block/nvme.c +++ b/block/nvme.c @@ -181,6 +181,7 @@ static void nvme_init_queue(BDRVNVMeState *s, NVMeQueue= *q, =20 static void nvme_free_queue_pair(NVMeQueuePair *q) { + trace_nvme_free_queue_pair(q->index, q); if (q->completion_bh) { qemu_bh_delete(q->completion_bh); } @@ -216,6 +217,8 @@ static NVMeQueuePair *nvme_create_queue_pair(BDRVNVMeSt= ate *s, if (!q) { return NULL; } + trace_nvme_create_queue_pair(idx, q, size, aio_context, + event_notifier_get_fd(s->irq_notifier)); q->prp_list_pages =3D qemu_try_memalign(s->page_size, s->page_size * NVME_NUM_REQS); if (!q->prp_list_pages) { diff --git a/block/trace-events b/block/trace-events index cc5e2b55cb5..f6a0f99df1a 100644 --- a/block/trace-events +++ b/block/trace-events @@ -155,6 +155,8 @@ nvme_dsm(void *s, uint64_t offset, uint64_t bytes) "s %= p offset 0x%"PRIx64" byte nvme_dsm_done(void *s, uint64_t offset, uint64_t bytes, int ret) "s %p off= set 0x%"PRIx64" bytes %"PRId64" ret %d" nvme_dma_map_flush(void *s) "s %p" nvme_free_req_queue_wait(void *s, unsigned q_index) "s %p q #%u" +nvme_create_queue_pair(unsigned q_index, void *q, unsigned size, void *aio= _context, int fd) "index %u q %p size %u aioctx %p fd %d" +nvme_free_queue_pair(unsigned q_index, void *q) "index %u q %p" nvme_cmd_map_qiov(void *s, void *cmd, void *req, void *qiov, int entries) = "s %p cmd %p req %p qiov %p entries %d" nvme_cmd_map_qiov_pages(void *s, int i, uint64_t page) "s %p page[%d] 0x%"= PRIx64 nvme_cmd_map_qiov_iov(void *s, int i, void *page, int pages) "s %p iov[%d]= %p pages %d" --=20 2.26.2 From nobody Mon Nov 17 09:46:52 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.124; envelope-from=philmd@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1603806997; cv=none; d=zohomail.com; s=zohoarc; b=lAbl4Xaf6HD4AH4AlrC+sGTNUBpF506KiIm2UTaHAhcJYHIuSnGxhhVGTcPPtbAYj7Stirb/7nSLP08pQv8EZJn5KM9o3Bk/skmA/7yNG0lcxCdpV2A11+FV6THNgxC2NECVpoJmYSr7qODP/g5ja9/HSc3rkCcCuilbb2zj6WA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603806997; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=H+ZJ92q9c8sHM7tIK104/2szOIvYpUY13gacvPM2KaM=; b=DcHEjRt61uh2jPwlzFBKPpcG//WxZZegJyjQnZXOaF8tmrxazf+2BdMTzU0bhbpfZV9B2pJpyY9X8yXDVm3hBsgXq62cZ0UnR+Kq8w7vgh5EOO7gpzDCmMaKw7AJ5hTwpuSc9tBAFubRzeOajgKcEK095s+3HocWqKD9zqcZThY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 160380699791179.76657520393178; Tue, 27 Oct 2020 06:56:37 -0700 (PDT) Received: from mail-ej1-f72.google.com (mail-ej1-f72.google.com [209.85.218.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-313-I1KpUGbGNtW6XHht-U26Cg-1; Tue, 27 Oct 2020 09:56:35 -0400 Received: by mail-ej1-f72.google.com with SMTP id p19so903315ejy.11 for ; Tue, 27 Oct 2020 06:56:34 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.redhat.com (237.red-88-18-140.staticip.rima-tde.net. [88.18.140.237]) by smtp.gmail.com with ESMTPSA id r1sm1094650eju.40.2020.10.27.06.56.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Oct 2020 06:56:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1603806997; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=H+ZJ92q9c8sHM7tIK104/2szOIvYpUY13gacvPM2KaM=; b=fqJEUmTF5RetYB704NJwudyDuCaZ8KYaHVwABTtMog4kowKqfqDcWHcLFCP7FbwQ+mKn6r 6wrfRQQ/M03z1Jbilq2yq4QbPGgzPEkfGBJqGFrmjx5dX4f7Ql/cY6rykcwUZiVWjKP5CY faDKqmxOdv1CyTx1UHPu5xhv6AsNRQY= X-MC-Unique: I1KpUGbGNtW6XHht-U26Cg-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=H+ZJ92q9c8sHM7tIK104/2szOIvYpUY13gacvPM2KaM=; b=GbipfKcqRShqwAb9PZxADLx1oLNxAY0i3/33HiVK3K6vBYM9kHWEZ71OG8nAd5JAZb GoN2zZt9Su71VyhrQtKz/mT+oZiewe2WtM6WS6tQ6q2zcuv8gyRR3l4QxwA3OeBSQ4KR Xypmc36VBNtxSUjaREdFMSeqqSCborWJUrbG5nUAqACoIoUdtHT92i2WgieWILFlPnec kIAqvzuKmFLJDgBTUDv6obBgrWfl4ao5PZM/kId4DoRqiMiJXNa/xLAp7PQN2qrn2f/3 /5zYzd+aYyoyXjVenaPKWwOGULRA/q8umZuaraGbRPnAGhgg2WjbrBfCrXNmUQ7JOBvp 2c0w== X-Gm-Message-State: AOAM531r5elZzokI7XU6Buu7E9wQ7lZOKd8TufOVgKMBelmnvW4VfcGv GVw54WD6hrMawrMHa/GxXYzq/AFbBz+C9peRDDcKQWUdWs8FaTuXEylrTZYLWWLXqOtRIGZUL2z 5HZdoxxw5GaZpmg== X-Received: by 2002:a50:b023:: with SMTP id i32mr2279425edd.377.1603806993702; Tue, 27 Oct 2020 06:56:33 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyBHskYR7MdFyujMfh7jJZtXEwL7Sga5wgF1zNKHEZcbBSH0cK23mgenucEppfPBb6oRjPsaw== X-Received: by 2002:a50:b023:: with SMTP id i32mr2279410edd.377.1603806993546; Tue, 27 Oct 2020 06:56:33 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Klaus Jensen , qemu-block@nongnu.org, Fam Zheng , Keith Busch , Eric Auger , Stefan Hajnoczi , Kevin Wolf , Max Reitz , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 08/25] block/nvme: Simplify device reset Date: Tue, 27 Oct 2020 14:55:30 +0100 Message-Id: <20201027135547.374946-9-philmd@redhat.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201027135547.374946-1-philmd@redhat.com> References: <20201027135547.374946-1-philmd@redhat.com> MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=philmd@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Avoid multiple endianess conversion by using device endianess. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Eric Auger --- block/nvme.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/block/nvme.c b/block/nvme.c index e95d59d3126..be14350f959 100644 --- a/block/nvme.c +++ b/block/nvme.c @@ -755,7 +755,7 @@ static int nvme_init(BlockDriverState *bs, const char *= device, int namespace, timeout_ms =3D MIN(500 * NVME_CAP_TO(cap), 30000); =20 /* Reset device to get a clean state. */ - regs->cc =3D cpu_to_le32(le32_to_cpu(regs->cc) & 0xFE); + regs->cc &=3D const_le32(0xFE); /* Wait for CSTS.RDY =3D 0. */ deadline =3D qemu_clock_get_ns(QEMU_CLOCK_REALTIME) + timeout_ms * SCA= LE_MS; while (NVME_CSTS_RDY(le32_to_cpu(regs->csts))) { --=20 2.26.2 From nobody Mon Nov 17 09:46:52 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1603807406; cv=none; d=zohomail.com; s=zohoarc; b=bh3MFzk3tduAJ0n+DHvnGJqVA/A2Yz7fnkp5wlMVKYWNMqOihZdtm1RqnDAjjblU71CoWmfIJkm1GiJIVtSaCX0ZX7gTG/kkPEycGZFv2eC+lMFVYr2o/zUA6WCO2xGqjKeF1o/TQkfiNXmwQGAWl8ZIGFl/Z7TAuZsiToufeU8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603807406; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=bCeDQAW3OylaJlAm+u7tQregjbauJK7WkWlW+Me7/c4=; b=hYtJnCD7HhBKraOlEP+RTUrh0m0asXAw9XpEot39jgWHlc99LHvEfPoficKu9SPGp1harvRDDS8jwkX4CFjPzB4KbnBpUS2gEJPPKQEj6jkIaW1vGkcBSDUNeGesR5qMVHa72heqzMIPA32vFSV6PYHeOIFej32YqcKjpjD27d0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1603807406229794.8834409721504; Tue, 27 Oct 2020 07:03:26 -0700 (PDT) Received: from localhost ([::1]:34094 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kXPZM-0001Fn-Si for importer@patchew.org; Tue, 27 Oct 2020 10:03:24 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:35818) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kXPSy-0003GP-Gb for qemu-devel@nongnu.org; Tue, 27 Oct 2020 09:56:53 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:57019) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kXPSv-0004K3-Ce for qemu-devel@nongnu.org; Tue, 27 Oct 2020 09:56:48 -0400 Received: from mail-ed1-f72.google.com (mail-ed1-f72.google.com [209.85.208.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-547-ouQ4QRCYOqaVuOA0OO7P2A-1; Tue, 27 Oct 2020 09:56:40 -0400 Received: by mail-ed1-f72.google.com with SMTP id dc23so708492edb.13 for ; Tue, 27 Oct 2020 06:56:40 -0700 (PDT) Received: from x1w.redhat.com (237.red-88-18-140.staticip.rima-tde.net. [88.18.140.237]) by smtp.gmail.com with ESMTPSA id i14sm1028621edu.40.2020.10.27.06.56.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Oct 2020 06:56:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1603807001; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=bCeDQAW3OylaJlAm+u7tQregjbauJK7WkWlW+Me7/c4=; b=PgGt4xAfWFYAvfTBl7BrcVNI1V4SQAxXx7eoWdGOi9D3PfuVqwjc1DQHOf1GXjD0yoEIxM kzX6if4iHGc89B9Ve8zxdSKpPfTQZT+mRZDy/vES3lbxBe8RKh/baS28UYzbb7HxtzQLq1 TfHc98gDj/CXHLZg0fTHnpFQ7144QIY= X-MC-Unique: ouQ4QRCYOqaVuOA0OO7P2A-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=bCeDQAW3OylaJlAm+u7tQregjbauJK7WkWlW+Me7/c4=; b=JvsocXTR+IdZSKRLYVlH/WJQQB0foAJ5C9iOHQl6PxWJxqipKGMkijHhrWikqG3LMd ZfsYiqnxBPV9UYwHSEPQWCQHjlQpx/uK4/la+toC6CQ7gPWmZJwEB/Ud1EmBlnTnWaKv oMVu7hNG2zDZYSpSx8Hfl8rcv2CgOR3y/3z3Tp/zRObfJKnBGOul59gAekmFWTOnh8T1 7RQxBZLLAcG5jkLKOnI3znVFtTlXbJhDXKkHNxJ1EhKtSJKIdAcL2/90ePnJYSDFgr6t WLsR3Z1cDNcSa4bVsx80yMmfB8FvmybXIPcpaQkxsUjPATizRrgcFDy5LumB9TOKTB2Z /JiA== X-Gm-Message-State: AOAM531PnkTk4wphb2XBKj1tAqrTCwkgxkTzx4Tdod7BuLjByqX3dmBo J79XFVmdZUu2uV0QlspOMBlNZHvBjf9O0W9fziVydjrCIZyMuGQVlK+1B+pSE27cSxO/p+O3VcM lThzUYLym2dYSOZQ= X-Received: by 2002:a50:d59c:: with SMTP id v28mr2274723edi.241.1603806998790; Tue, 27 Oct 2020 06:56:38 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxAwSF4f4rrTMI+a8ODIG6OfZI5BURK+UmdQXTYcav9Cc/jo9sLKzMajOd2or3BiMUZZ/WwkA== X-Received: by 2002:a50:d59c:: with SMTP id v28mr2274697edi.241.1603806998620; Tue, 27 Oct 2020 06:56:38 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH 09/25] block/nvme: Move definitions before structure declarations Date: Tue, 27 Oct 2020 14:55:31 +0100 Message-Id: <20201027135547.374946-10-philmd@redhat.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201027135547.374946-1-philmd@redhat.com> References: <20201027135547.374946-1-philmd@redhat.com> MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=philmd@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=philmd@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/27 01:06:06 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Fam Zheng , Kevin Wolf , qemu-block@nongnu.org, Eric Auger , Max Reitz , Keith Busch , Stefan Hajnoczi , Klaus Jensen , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) To be able to use some definitions in structure declarations, move them earlier. No logical change. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Eric Auger Reviewed-by: Stefan Hajnoczi Tested-by: Eric Auger --- block/nvme.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/block/nvme.c b/block/nvme.c index be14350f959..30075e230ca 100644 --- a/block/nvme.c +++ b/block/nvme.c @@ -41,6 +41,16 @@ =20 typedef struct BDRVNVMeState BDRVNVMeState; =20 +/* Same index is used for queues and IRQs */ +#define INDEX_ADMIN 0 +#define INDEX_IO(n) (1 + n) + +/* This driver shares a single MSIX IRQ for the admin and I/O queues */ +enum { + MSIX_SHARED_IRQ_IDX =3D 0, + MSIX_IRQ_COUNT =3D 1 +}; + typedef struct { int32_t head, tail; uint8_t *queue; @@ -81,15 +91,6 @@ typedef struct { QEMUBH *completion_bh; } NVMeQueuePair; =20 -#define INDEX_ADMIN 0 -#define INDEX_IO(n) (1 + n) - -/* This driver shares a single MSIX IRQ for the admin and I/O queues */ -enum { - MSIX_SHARED_IRQ_IDX =3D 0, - MSIX_IRQ_COUNT =3D 1 -}; - struct BDRVNVMeState { AioContext *aio_context; QEMUVFIOState *vfio; --=20 2.26.2 From nobody Mon Nov 17 09:46:52 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.124; envelope-from=philmd@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1603807009; cv=none; d=zohomail.com; s=zohoarc; b=JKvoh0HFQCcpi6De6Hkyeq3Uq0DzJuAIEuA4qbSH+VArq8y8e82KpLQy9MR/Ko3QdW3+B2fdCm/0+b6IC8UQBxQIxqJLxEIwppv8Ws8BHbCX+oggqX+gfr+UywcIdnAkxpH3IVArn36OUTYxa5KQI+Y4BDtfN7IiC1aXebC84Fs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603807009; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=YRHflBytAvKOEPighLIKwiOsYqMDgywNA3AUBcmPj5o=; b=gePkaLOqT2DOflnk4Hbsfw24rLzJQdSPjLGQJU+71dSOxhcqhOYMNnepNvhoG5dlM1ZIporb5fJ3wSWwXL8+XB9g/3Q+nUxZt5trYNVEPt0qVDzfbWu6pAawdxgY/RHn9g7NRfjkWn239+FMR/cGEHbwPrbwPGFmrmmK7+RCtds= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 1603807009385877.822113039914; Tue, 27 Oct 2020 06:56:49 -0700 (PDT) Received: from mail-ed1-f72.google.com (mail-ed1-f72.google.com [209.85.208.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-14-kV5TeAXQO1iJiIbOsq1Nww-1; Tue, 27 Oct 2020 09:56:45 -0400 Received: by mail-ed1-f72.google.com with SMTP id w24so733858edl.3 for ; Tue, 27 Oct 2020 06:56:45 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.redhat.com (237.red-88-18-140.staticip.rima-tde.net. [88.18.140.237]) by smtp.gmail.com with ESMTPSA id 11sm1082584ejy.19.2020.10.27.06.56.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Oct 2020 06:56:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1603807008; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=YRHflBytAvKOEPighLIKwiOsYqMDgywNA3AUBcmPj5o=; b=QN+o1l/OTCXWW93ga7KbvrnlDhlj+lnMDhhXk5c6jEeh4R2K2qUdPDhCbXDuALlDrZyVBo 7hKC5MYqzwI6KIk4c92+HJFPICEErhyhtHBPJppGyYwP4qEhSb9l5Oz8uJDL0+a9IP4SV8 f9gxEh2Fh+M70H8s3/vc4I/wINsGEEM= X-MC-Unique: kV5TeAXQO1iJiIbOsq1Nww-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=YRHflBytAvKOEPighLIKwiOsYqMDgywNA3AUBcmPj5o=; b=hSHYrKJEI/X94EahPobpDa451036CrdtUY3kAUjeIBt83cIh5Zi3YR6aIF4NhzNlcd jCrz4JW14mPPJg6OhppfW1ALyw50ZB9gc5tnLRREYs5bMmn3CumpZH5mD80u+6DJmovX 83MGqRrhIHDKFiA8wDe6o/icmnBHpNhCD2Nw/e4tK90HF9USsxCZrnoEegnwMyuYxcUu 1RBU79gH+ycYBnT5+AlZhj9PzD8IGhBQve3cs4DZK2cL4RzB21GiSE+lTmjDvU0yWmQ3 gfEx80OQAgz9sDTKdd4dfYiI5SUC3SJh7BWwRpeSBsQliNaRbLlG6P5C1WK2PTZvmNLc 5MZw== X-Gm-Message-State: AOAM533SsJ/5KnGh4cXBXKQRvB29VKnZGaH1DhjqyKMQ5QgI56TAUuHC 1xpsWchbIgajNT96Md2AacgW78YTu0iEO1qVP/FhVEqvzW9dfdpPBJI+JqubDDg2mwsCCRfEvVl ydienP9PMzruEGw== X-Received: by 2002:a50:9f03:: with SMTP id b3mr2284393edf.268.1603807004100; Tue, 27 Oct 2020 06:56:44 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxLKiojXcmb2GVg4IwMH6G/vgitauYTwsK2dW7aRAEXasjzgL7BxPDzcyHc7vnnOIFVcv3ylQ== X-Received: by 2002:a50:9f03:: with SMTP id b3mr2284374edf.268.1603807003858; Tue, 27 Oct 2020 06:56:43 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Klaus Jensen , qemu-block@nongnu.org, Fam Zheng , Keith Busch , Eric Auger , Stefan Hajnoczi , Kevin Wolf , Max Reitz , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 10/25] block/nvme: Use unsigned integer for queue counter/size Date: Tue, 27 Oct 2020 14:55:32 +0100 Message-Id: <20201027135547.374946-11-philmd@redhat.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201027135547.374946-1-philmd@redhat.com> References: <20201027135547.374946-1-philmd@redhat.com> MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=philmd@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) We can not have negative queue count/size/index, use unsigned type. Rename 'nr_queues' as 'queue_count' to match the spec naming. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Eric Auger Reviewed-by: Stefan Hajnoczi Tested-by: Eric Auger --- block/nvme.c | 38 ++++++++++++++++++-------------------- block/trace-events | 10 +++++----- 2 files changed, 23 insertions(+), 25 deletions(-) diff --git a/block/nvme.c b/block/nvme.c index 30075e230ca..8b0fd59c6ea 100644 --- a/block/nvme.c +++ b/block/nvme.c @@ -104,7 +104,7 @@ struct BDRVNVMeState { * [1..]: io queues. */ NVMeQueuePair **queues; - int nr_queues; + unsigned queue_count; size_t page_size; /* How many uint32_t elements does each doorbell entry take. */ size_t doorbell_scale; @@ -161,7 +161,7 @@ static QemuOptsList runtime_opts =3D { }; =20 static void nvme_init_queue(BDRVNVMeState *s, NVMeQueue *q, - int nentries, int entry_bytes, Error **errp) + unsigned nentries, size_t entry_bytes, Error *= *errp) { size_t bytes; int r; @@ -206,7 +206,7 @@ static void nvme_free_req_queue_cb(void *opaque) =20 static NVMeQueuePair *nvme_create_queue_pair(BDRVNVMeState *s, AioContext *aio_context, - int idx, int size, + unsigned idx, size_t size, Error **errp) { int i, r; @@ -623,7 +623,7 @@ static bool nvme_poll_queues(BDRVNVMeState *s) bool progress =3D false; int i; =20 - for (i =3D 0; i < s->nr_queues; i++) { + for (i =3D 0; i < s->queue_count; i++) { if (nvme_poll_queue(s->queues[i])) { progress =3D true; } @@ -644,10 +644,10 @@ static void nvme_handle_event(EventNotifier *n) static bool nvme_add_io_queue(BlockDriverState *bs, Error **errp) { BDRVNVMeState *s =3D bs->opaque; - int n =3D s->nr_queues; + unsigned n =3D s->queue_count; NVMeQueuePair *q; NvmeCmd cmd; - int queue_size =3D NVME_QUEUE_SIZE; + unsigned queue_size =3D NVME_QUEUE_SIZE; =20 q =3D nvme_create_queue_pair(s, bdrv_get_aio_context(bs), n, queue_size, errp); @@ -661,7 +661,7 @@ static bool nvme_add_io_queue(BlockDriverState *bs, Err= or **errp) .cdw11 =3D cpu_to_le32(0x3), }; if (nvme_cmd_sync(bs, s->queues[INDEX_ADMIN], &cmd)) { - error_setg(errp, "Failed to create CQ io queue [%d]", n); + error_setg(errp, "Failed to create CQ io queue [%u]", n); goto out_error; } cmd =3D (NvmeCmd) { @@ -671,12 +671,12 @@ static bool nvme_add_io_queue(BlockDriverState *bs, E= rror **errp) .cdw11 =3D cpu_to_le32(0x1 | (n << 16)), }; if (nvme_cmd_sync(bs, s->queues[INDEX_ADMIN], &cmd)) { - error_setg(errp, "Failed to create SQ io queue [%d]", n); + error_setg(errp, "Failed to create SQ io queue [%u]", n); goto out_error; } s->queues =3D g_renew(NVMeQueuePair *, s->queues, n + 1); s->queues[n] =3D q; - s->nr_queues++; + s->queue_count++; return true; out_error: nvme_free_queue_pair(q); @@ -785,7 +785,7 @@ static int nvme_init(BlockDriverState *bs, const char *= device, int namespace, ret =3D -EINVAL; goto out; } - s->nr_queues =3D 1; + s->queue_count =3D 1; QEMU_BUILD_BUG_ON(NVME_QUEUE_SIZE & 0xF000); regs->aqa =3D cpu_to_le32((NVME_QUEUE_SIZE << AQA_ACQS_SHIFT) | (NVME_QUEUE_SIZE << AQA_ASQS_SHIFT)); @@ -895,10 +895,9 @@ static int nvme_enable_disable_write_cache(BlockDriver= State *bs, bool enable, =20 static void nvme_close(BlockDriverState *bs) { - int i; BDRVNVMeState *s =3D bs->opaque; =20 - for (i =3D 0; i < s->nr_queues; ++i) { + for (unsigned i =3D 0; i < s->queue_count; ++i) { nvme_free_queue_pair(s->queues[i]); } g_free(s->queues); @@ -1123,7 +1122,7 @@ static coroutine_fn int nvme_co_prw_aligned(BlockDriv= erState *bs, }; =20 trace_nvme_prw_aligned(s, is_write, offset, bytes, flags, qiov->niov); - assert(s->nr_queues > 1); + assert(s->queue_count > 1); req =3D nvme_get_free_req(ioq); assert(req); =20 @@ -1233,7 +1232,7 @@ static coroutine_fn int nvme_co_flush(BlockDriverStat= e *bs) .ret =3D -EINPROGRESS, }; =20 - assert(s->nr_queues > 1); + assert(s->queue_count > 1); req =3D nvme_get_free_req(ioq); assert(req); nvme_submit_command(ioq, req, &cmd, nvme_rw_cb, &data); @@ -1285,7 +1284,7 @@ static coroutine_fn int nvme_co_pwrite_zeroes(BlockDr= iverState *bs, cmd.cdw12 =3D cpu_to_le32(cdw12); =20 trace_nvme_write_zeroes(s, offset, bytes, flags); - assert(s->nr_queues > 1); + assert(s->queue_count > 1); req =3D nvme_get_free_req(ioq); assert(req); =20 @@ -1328,7 +1327,7 @@ static int coroutine_fn nvme_co_pdiscard(BlockDriverS= tate *bs, return -ENOTSUP; } =20 - assert(s->nr_queues > 1); + assert(s->queue_count > 1); =20 buf =3D qemu_try_memalign(s->page_size, s->page_size); if (!buf) { @@ -1408,7 +1407,7 @@ static void nvme_detach_aio_context(BlockDriverState = *bs) { BDRVNVMeState *s =3D bs->opaque; =20 - for (int i =3D 0; i < s->nr_queues; i++) { + for (unsigned i =3D 0; i < s->queue_count; i++) { NVMeQueuePair *q =3D s->queues[i]; =20 qemu_bh_delete(q->completion_bh); @@ -1429,7 +1428,7 @@ static void nvme_attach_aio_context(BlockDriverState = *bs, aio_set_event_notifier(new_context, &s->irq_notifier[MSIX_SHARED_IRQ_I= DX], false, nvme_handle_event, nvme_poll_cb); =20 - for (int i =3D 0; i < s->nr_queues; i++) { + for (unsigned i =3D 0; i < s->queue_count; i++) { NVMeQueuePair *q =3D s->queues[i]; =20 q->completion_bh =3D @@ -1446,11 +1445,10 @@ static void nvme_aio_plug(BlockDriverState *bs) =20 static void nvme_aio_unplug(BlockDriverState *bs) { - int i; BDRVNVMeState *s =3D bs->opaque; assert(s->plugged); s->plugged =3D false; - for (i =3D INDEX_IO(0); i < s->nr_queues; i++) { + for (unsigned i =3D INDEX_IO(0); i < s->queue_count; i++) { NVMeQueuePair *q =3D s->queues[i]; qemu_mutex_lock(&q->lock); nvme_kick(q); diff --git a/block/trace-events b/block/trace-events index f6a0f99df1a..8368f4acb0b 100644 --- a/block/trace-events +++ b/block/trace-events @@ -136,13 +136,13 @@ qed_aio_write_main(void *s, void *acb, int ret, uint6= 4_t offset, size_t len) "s # nvme.c nvme_controller_capability_raw(uint64_t value) "0x%08"PRIx64 nvme_controller_capability(const char *desc, uint64_t value) "%s: %"PRIu64 -nvme_kick(void *s, int queue) "s %p queue %d" +nvme_kick(void *s, unsigned q_index) "s %p q #%u" nvme_dma_flush_queue_wait(void *s) "s %p" nvme_error(int cmd_specific, int sq_head, int sqid, int cid, int status) "= cmd_specific %d sq_head %d sqid %d cid %d status 0x%x" -nvme_process_completion(void *s, int index, int inflight) "s %p queue %d i= nflight %d" -nvme_process_completion_queue_plugged(void *s, int index) "s %p queue %d" -nvme_complete_command(void *s, int index, int cid) "s %p queue %d cid %d" -nvme_submit_command(void *s, int index, int cid) "s %p queue %d cid %d" +nvme_process_completion(void *s, unsigned q_index, int inflight) "s %p q #= %u inflight %d" +nvme_process_completion_queue_plugged(void *s, unsigned q_index) "s %p q #= %u" +nvme_complete_command(void *s, unsigned q_index, int cid) "s %p q #%u cid = %d" +nvme_submit_command(void *s, unsigned q_index, int cid) "s %p q #%u cid %d" nvme_submit_command_raw(int c0, int c1, int c2, int c3, int c4, int c5, in= t c6, int c7) "%02x %02x %02x %02x %02x %02x %02x %02x" nvme_handle_event(void *s) "s %p" nvme_poll_queue(void *s, unsigned q_index) "s %p q #%u" --=20 2.26.2 From nobody Mon Nov 17 09:46:52 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.124; envelope-from=philmd@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1603807013; cv=none; d=zohomail.com; s=zohoarc; b=R/IODj/IjItHOmHkIapMmh+kwNYl/qXN6Ipgzomf5E02bfc7OkSbX4SVvUnN8EOPbh5365pf4NAYduTxD8xfmTCsqz/TwAx2u5X0f3cVSEpiveWaI0wY4PgKpQC4G5BRbEJjDE7ghaGeUDjot87cTpRXi/s3VyCQZ9XDKJV14VM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603807013; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=SjDF8zsFaATkfEDLVjf49WgfMXHjaeRfhZvCWiwXv1Y=; b=lYwvl0doguzw5RJxSj0su4ndgm44GgcpWAtiVdRxz4yh5nUmPKgpuCQkHTusik+2pDjWkAwJSJSSTJoilXCJZoRG9FNkrnvt1/KSouq+AIkhCKu5vR3+7ZmVBeJ97p/Y1QELkz4ibtz6ZBdJ/nZDXwPOxq6xZPSka3PqrGoteXs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 1603807013042316.74266652011875; Tue, 27 Oct 2020 06:56:53 -0700 (PDT) Received: from mail-ej1-f72.google.com (mail-ej1-f72.google.com [209.85.218.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-18-klA7hR2OOhuACqy0ea15sw-1; Tue, 27 Oct 2020 09:56:50 -0400 Received: by mail-ej1-f72.google.com with SMTP id c10so893638ejm.15 for ; Tue, 27 Oct 2020 06:56:50 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.redhat.com (237.red-88-18-140.staticip.rima-tde.net. [88.18.140.237]) by smtp.gmail.com with ESMTPSA id i14sm1028890edu.40.2020.10.27.06.56.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Oct 2020 06:56:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1603807012; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=SjDF8zsFaATkfEDLVjf49WgfMXHjaeRfhZvCWiwXv1Y=; b=YxXHZAy1iDD+ksAKCf4OLceq28nXiYKIOr5KCekldnJ4JPrehos0aBpH5uDGQVkkzJqGFM LCRHwwM2lwAIUR8tjV5YaN5/W6W0E8frABhFQjywZntovG1Dbx5IDoaR0KKDqBSUXhKmiY 4BU5ZYdzy90xKNi8CqujvW3vd5dKQQc= X-MC-Unique: klA7hR2OOhuACqy0ea15sw-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=SjDF8zsFaATkfEDLVjf49WgfMXHjaeRfhZvCWiwXv1Y=; b=pbGNzNudq1W5MDKXX/+SJO/UJ4SgFy3bhiOMvYxoLUJ48EcIcEyQfy06djPeBU9h+C t346ZWjuuemqk9xfdmgGnhMr+7Mb0tUrZjcHBo3EnZZGmRNdOQQkR0HBT+Nz2UCFxcTg 0KnQO4iaZMr6hlWMsq+uGCzjeLo8bH6Tprp3fl9gEUyhZuAe7Za+/4NtCCpFNa/yDMEV 5ditXGw/cmmMnae9oEV9n1J751ALDtrXqF33B/Z8cqDQq4dPu2fUsX0C06GM4M9TEVMh pR+6BpVfN//7bXfcxt/fwyau2GbjTHP0qIdUHUlOPmjTTBw5rYwvRka0Jdbm4xfcTIxm Xv+A== X-Gm-Message-State: AOAM5328iEFqdJxyUTNyPZF3ijI09U9IxfWzkboe4yOJUnyerXsECYA6 u2BDDnUwdIE1tOfVnuImoC4SsY5+Bfuzq6Txmhsc48MKcUN75+ZdjoreZkmxnW3FGMRJVEYo5xM g4y82FSP0DZ2rag== X-Received: by 2002:a50:e61a:: with SMTP id y26mr2436494edm.71.1603807009219; Tue, 27 Oct 2020 06:56:49 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy+DR27WfkIA/GMYrmcTzta+rl+JsgFtdbD+cG83mgOnEso1y5WyQnYYkv6j5zpOEQvUrRoBQ== X-Received: by 2002:a50:e61a:: with SMTP id y26mr2436470edm.71.1603807009043; Tue, 27 Oct 2020 06:56:49 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Klaus Jensen , qemu-block@nongnu.org, Fam Zheng , Keith Busch , Eric Auger , Stefan Hajnoczi , Kevin Wolf , Max Reitz , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 11/25] block/nvme: Make nvme_identify() return boolean indicating error Date: Tue, 27 Oct 2020 14:55:33 +0100 Message-Id: <20201027135547.374946-12-philmd@redhat.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201027135547.374946-1-philmd@redhat.com> References: <20201027135547.374946-1-philmd@redhat.com> MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=philmd@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Just for consistency, following the example documented since commit e3fe3988d7 ("error: Document Error API usage rules"), return a boolean value indicating an error is set or not. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Eric Auger --- block/nvme.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/block/nvme.c b/block/nvme.c index 8b0fd59c6ea..74994c442e5 100644 --- a/block/nvme.c +++ b/block/nvme.c @@ -506,9 +506,11 @@ static int nvme_cmd_sync(BlockDriverState *bs, NVMeQue= uePair *q, return ret; } =20 -static void nvme_identify(BlockDriverState *bs, int namespace, Error **err= p) +/* Returns true on success, false on failure. */ +static bool nvme_identify(BlockDriverState *bs, int namespace, Error **err= p) { BDRVNVMeState *s =3D bs->opaque; + bool ret =3D false; union { NvmeIdCtrl ctrl; NvmeIdNs ns; @@ -585,10 +587,13 @@ static void nvme_identify(BlockDriverState *bs, int n= amespace, Error **errp) goto out; } =20 + ret =3D true; s->blkshift =3D lbaf->ds; out: qemu_vfio_dma_unmap(s->vfio, id); qemu_vfree(id); + + return ret; } =20 static bool nvme_poll_queue(NVMeQueuePair *q) --=20 2.26.2 From nobody Mon Nov 17 09:46:52 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.124; envelope-from=philmd@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1603807018; cv=none; d=zohomail.com; s=zohoarc; b=n9YrRREi81Iw9xChx1GVKU67IptuNvE1uGgUK8AERsOKm/EoCxXzgEZkmpXhrRVgzrzR1hQdY7NGXb09KIrPDHXWP5Pm9DWSZUJhzEEtezih7Rn7/WazjnbZ+ihKLkoepvGyCtCT3Uc7RA0R/VPGGxEKYPZiuS7f1RdaWdutqvY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603807018; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=5UNrRYGfWn9M8qfpcFzDzOyggHy+DoEp25W1xSNXQns=; b=LX4bVO3xj3v0lMqsJttVK0XcoVlpOyB3zOtGnlJLVaeg1/xNmy9jAnIGKpyNFFMUT8ePb6vYZEi2J4vtLvDb/xOols4Qk3Gtbdisw/oGD/pyHWiU4TFoQkdifQgU91QtOa8W/bVo9ZXuH03eUgSOesGPxBNPLTZG0fKlaGLeY98= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 1603807018285538.0540478667713; Tue, 27 Oct 2020 06:56:58 -0700 (PDT) Received: from mail-ej1-f71.google.com (mail-ej1-f71.google.com [209.85.218.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-162-OsaQJGrWNsSFl-MRzuuzGg-1; Tue, 27 Oct 2020 09:56:55 -0400 Received: by mail-ej1-f71.google.com with SMTP id t1so870595ejb.21 for ; Tue, 27 Oct 2020 06:56:55 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.redhat.com (237.red-88-18-140.staticip.rima-tde.net. [88.18.140.237]) by smtp.gmail.com with ESMTPSA id b15sm945058edz.97.2020.10.27.06.56.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Oct 2020 06:56:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1603807017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5UNrRYGfWn9M8qfpcFzDzOyggHy+DoEp25W1xSNXQns=; b=Z0Yqr9he0hGartmW0UQiTM59H3oJahK10kw01rQ9ilL/qKVtR8sl5kPErOmEti99R3/NuK GLg6+lWq43byGVZpdSu1oTRY3chUetJXViYryFnZT9g8QjtaVxGxeAU4RQ/5fJVIqhdzTV XUTlK42iETBGiKGbUbdTWKG0ghANLiE= X-MC-Unique: OsaQJGrWNsSFl-MRzuuzGg-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=5UNrRYGfWn9M8qfpcFzDzOyggHy+DoEp25W1xSNXQns=; b=QRbBMEYLE3d5+tD9HLqO7cPRJo0HOPS70FohFWIy94/luq1ioaRkdGwPNo4se0W8/3 ji54LOFGm3Mi3teXnwUyQoOPcsBLZO7hfnHiODQxy4p02Dp9PJprqX4TNBD5alXBmvoY Zv/AW33wtNAjIpZqDfiT3AbcSM+WciSRzZuTTwcij2+HNZ/4IFhCUIRdlBzw7on8LoxS MnjMnI35DqbzlyfuyiVPiUylpjtaVviSGzOXiyS2TaeZhjJ8V3a1gjYPLXHbUWOA9f+/ i+97ep3JS2yD0rT06KGovFaKq2gaxss8G5O05lptFhKh8p6LWydAukPEEyRozyiFT7QU 9/Bw== X-Gm-Message-State: AOAM530S4PRfbkweOgiAOeeoDdL/2inwxjYq/EdM1Rg1bI/UKKngkUB4 VVW7GZ9bIyjnAj0nVAArDUr36I3qjxcLoUMlOuI4STD8YPgq3faRjlqPY94uqzmgdL0wlixZ6go idB+7+loLMxyZHA== X-Received: by 2002:a17:906:1cca:: with SMTP id i10mr2568909ejh.487.1603807014416; Tue, 27 Oct 2020 06:56:54 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzfu8uTTNbTc5SUgHNwN75/s0cC36p9ImYoAKcTKZOBsnKGav5H8mbnFW+m90c+b40ULMAJrQ== X-Received: by 2002:a17:906:1cca:: with SMTP id i10mr2568885ejh.487.1603807014202; Tue, 27 Oct 2020 06:56:54 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Klaus Jensen , qemu-block@nongnu.org, Fam Zheng , Keith Busch , Eric Auger , Stefan Hajnoczi , Kevin Wolf , Max Reitz , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 12/25] block/nvme: Make nvme_init_queue() return boolean indicating error Date: Tue, 27 Oct 2020 14:55:34 +0100 Message-Id: <20201027135547.374946-13-philmd@redhat.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201027135547.374946-1-philmd@redhat.com> References: <20201027135547.374946-1-philmd@redhat.com> MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=philmd@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Just for consistency, following the example documented since commit e3fe3988d7 ("error: Document Error API usage rules"), return a boolean value indicating an error is set or not. This simplifies a bit nvme_create_queue_pair(). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Stefan Hajnoczi Tested-by: Eric Auger --- block/nvme.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/block/nvme.c b/block/nvme.c index 74994c442e5..9324f0bfdc4 100644 --- a/block/nvme.c +++ b/block/nvme.c @@ -160,7 +160,8 @@ static QemuOptsList runtime_opts =3D { }, }; =20 -static void nvme_init_queue(BDRVNVMeState *s, NVMeQueue *q, +/* Returns true on success, false on failure. */ +static bool nvme_init_queue(BDRVNVMeState *s, NVMeQueue *q, unsigned nentries, size_t entry_bytes, Error *= *errp) { size_t bytes; @@ -171,13 +172,14 @@ static void nvme_init_queue(BDRVNVMeState *s, NVMeQue= ue *q, q->queue =3D qemu_try_memalign(s->page_size, bytes); if (!q->queue) { error_setg(errp, "Cannot allocate queue"); - return; + return false; } memset(q->queue, 0, bytes); r =3D qemu_vfio_dma_map(s->vfio, q->queue, bytes, false, &q->iova); if (r) { error_setg(errp, "Cannot map queue"); } + return r =3D=3D 0; } =20 static void nvme_free_queue_pair(NVMeQueuePair *q) @@ -210,7 +212,6 @@ static NVMeQueuePair *nvme_create_queue_pair(BDRVNVMeSt= ate *s, Error **errp) { int i, r; - Error *local_err =3D NULL; NVMeQueuePair *q; uint64_t prp_list_iova; =20 @@ -247,16 +248,12 @@ static NVMeQueuePair *nvme_create_queue_pair(BDRVNVMe= State *s, req->prp_list_iova =3D prp_list_iova + i * s->page_size; } =20 - nvme_init_queue(s, &q->sq, size, NVME_SQ_ENTRY_BYTES, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!nvme_init_queue(s, &q->sq, size, NVME_SQ_ENTRY_BYTES, errp)) { goto fail; } q->sq.doorbell =3D &s->doorbells[idx * s->doorbell_scale].sq_tail; =20 - nvme_init_queue(s, &q->cq, size, NVME_CQ_ENTRY_BYTES, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!nvme_init_queue(s, &q->cq, size, NVME_CQ_ENTRY_BYTES, errp)) { goto fail; } q->cq.doorbell =3D &s->doorbells[idx * s->doorbell_scale].cq_head; --=20 2.26.2 From nobody Mon Nov 17 09:46:52 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1603807410; cv=none; d=zohomail.com; s=zohoarc; b=Fp4meWzKBGqSovH5pXsEzn7XC0A/V+rj3e/+V5YeNnZBZ8Q37P74Hdc+vIbgA+l/vqGR9NqMOtLtHSAVg82wIV58/p/qrfxj/x1NSqvRmBDLu/2CRuA2GUaXgvFyzIF3hMGVlJP9nscs7RMUpYs4QqeKBxHXThR1D0blBEfgCoQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603807410; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=IaWnoSHk3gYww0GtxO3QwPtbarT6V9nMm5FHP0y80Lw=; b=NUiygJGKVxVXXJEFraj8FOgV9ae6Q/X98W7ZAgBjds+zkt+Sg4m+pVh/CiuTyCoZdfVCwqvn3WaXJOtZAmS6HfNX+S2V8mjDDf2mKN7BMU7NfWjIcYinnB3z1glEoywhi2V3B3XoVdJu0kxe0BgsL7302hDMYc1iRF8bw4YFQ/E= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1603807410192579.4213709917301; Tue, 27 Oct 2020 07:03:30 -0700 (PDT) Received: from localhost ([::1]:34442 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kXPZR-0001Oa-3C for importer@patchew.org; Tue, 27 Oct 2020 10:03:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36076) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kXPTH-0003Wf-Tq for qemu-devel@nongnu.org; Tue, 27 Oct 2020 09:57:11 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:38798) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kXPTE-0004O1-VT for qemu-devel@nongnu.org; Tue, 27 Oct 2020 09:57:07 -0400 Received: from mail-ed1-f69.google.com (mail-ed1-f69.google.com [209.85.208.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-87-eO0I1uMgMMSoA4boqhK7mA-1; Tue, 27 Oct 2020 09:57:02 -0400 Received: by mail-ed1-f69.google.com with SMTP id a19so691365edb.18 for ; Tue, 27 Oct 2020 06:57:02 -0700 (PDT) Received: from x1w.redhat.com (237.red-88-18-140.staticip.rima-tde.net. [88.18.140.237]) by smtp.gmail.com with ESMTPSA id t8sm1113943ejc.45.2020.10.27.06.56.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Oct 2020 06:57:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1603807024; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=IaWnoSHk3gYww0GtxO3QwPtbarT6V9nMm5FHP0y80Lw=; b=avSS2UCnXm3puE6iZmetkuvMc9FyW85VErU6SE6jkF7wJzvZR2VfZ5+ULuvBreH8PkleML bQkqqaa4H3+501ql3Y3uZVs16HR6M0F+AlvbiwrqXIpNEiBptY3H9heJQltSqj1Crjvsl8 qGldgLBADBX0Wt0JASqe+4HOM+ynArI= X-MC-Unique: eO0I1uMgMMSoA4boqhK7mA-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=IaWnoSHk3gYww0GtxO3QwPtbarT6V9nMm5FHP0y80Lw=; b=dTKeWYVHXZhHbNSWm1rYQKrkPQvjKabUDexMOB7DOibtV+Urf90xDzcFMlVXQL9kyH 96X8O1mlJ4kR5IFS0AIi8LNjuAaOz7bxt0a03+p3hYTbiJhWWsqOdNyIm2bwndQ+vPiG il4LvYh9VEurvCiQMycUSa8rVyy7vadEpRCtL+JNY0jnaR3N7rT2wlTuwLFbjZZzlnGS PtA7MPbBibKSZL/kUNhtA5/PNQmRr1uSFxUeXp+1LaqgM47udJouzgv3eTez7fFP2qAK M34Fsk+wokeMOLqsbvG+EvldaJtssb2s60O9jJI0V4sQAYMxfjyWktWU4/H6uT9ko8Ch jffA== X-Gm-Message-State: AOAM530J+uPjIScgpCtn4ClntG1TWIPIuS5rIK+qkIkg1rjcG8CN5i+f upaGlJwxRMgEoj43TCf0Q31eL4ZCq8aKlFD5zvAMfc2ZCZv6A4drgn1Yi1/PrH2nk6ziIbF+rF7 5oTWBtgrJ0uH7fW4= X-Received: by 2002:a05:6402:1d2c:: with SMTP id dh12mr2313204edb.256.1603807020754; Tue, 27 Oct 2020 06:57:00 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxoLJkGL1xFej60+Spi56zjOKlnHehmNr1rH2CxGuiQXJAq8qk1Q5eG2ah0lToIYRm3Uzzh1A== X-Received: by 2002:a05:6402:1d2c:: with SMTP id dh12mr2313189edb.256.1603807020597; Tue, 27 Oct 2020 06:57:00 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH 13/25] block/nvme: Introduce Completion Queue definitions Date: Tue, 27 Oct 2020 14:55:35 +0100 Message-Id: <20201027135547.374946-14-philmd@redhat.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201027135547.374946-1-philmd@redhat.com> References: <20201027135547.374946-1-philmd@redhat.com> MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=philmd@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=philmd@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/27 01:06:06 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Fam Zheng , Kevin Wolf , qemu-block@nongnu.org, Eric Auger , Max Reitz , Keith Busch , Stefan Hajnoczi , Klaus Jensen , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Rename Submission Queue flags with 'Sq' and introduce Completion Queue flag definitions. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Eric Auger Tested-by: Eric Auger --- include/block/nvme.h | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/include/block/nvme.h b/include/block/nvme.h index 65e68a82c89..079f884a2d3 100644 --- a/include/block/nvme.h +++ b/include/block/nvme.h @@ -491,6 +491,11 @@ typedef struct QEMU_PACKED NvmeCreateCq { #define NVME_CQ_FLAGS_PC(cq_flags) (cq_flags & 0x1) #define NVME_CQ_FLAGS_IEN(cq_flags) ((cq_flags >> 1) & 0x1) =20 +enum NvmeFlagsCq { + NVME_CQ_PC =3D 1, + NVME_CQ_IEN =3D 2, +}; + typedef struct QEMU_PACKED NvmeCreateSq { uint8_t opcode; uint8_t flags; @@ -508,12 +513,12 @@ typedef struct QEMU_PACKED NvmeCreateSq { #define NVME_SQ_FLAGS_PC(sq_flags) (sq_flags & 0x1) #define NVME_SQ_FLAGS_QPRIO(sq_flags) ((sq_flags >> 1) & 0x3) =20 -enum NvmeQueueFlags { - NVME_Q_PC =3D 1, - NVME_Q_PRIO_URGENT =3D 0, - NVME_Q_PRIO_HIGH =3D 1, - NVME_Q_PRIO_NORMAL =3D 2, - NVME_Q_PRIO_LOW =3D 3, +enum NvmeFlagsSq { + NVME_SQ_PC =3D 1, + NVME_SQ_PRIO_URGENT =3D 0, + NVME_SQ_PRIO_HIGH =3D 1, + NVME_SQ_PRIO_NORMAL =3D 2, + NVME_SQ_PRIO_LOW =3D 3, }; =20 typedef struct QEMU_PACKED NvmeIdentify { --=20 2.26.2 From nobody Mon Nov 17 09:46:52 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.124; envelope-from=philmd@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1603807030; cv=none; d=zohomail.com; s=zohoarc; b=AVXhZZh1fzX8ryppqWzyR5mhf4d9MOAZZlz0/dJbbCbgJdv/xSuxQKkZnIsytuCCTtMXJUQQFly1Jq4KYkqQcY4/W0pXzD/NVipsHBDmI2I5vSdo/Q2baHT353kYfBQmu98Ya7xlEnte+BXvtKmhsMBKsLLyFUXtn81zLTZnOKU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603807030; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=wZTuWnB45c6bHWmlLJk/6WmCKmM3xNLscyekei4DbYk=; b=bfEI4cWnst3ZeEryplry5eAHy5s0vIxjrU0RSMC/uWqY7PVB0gEtiUF8Ju/f2vfNI6dLA0NSc4CtlC6pbPcVsmj18BLmLrw841JjwcKNyG0aFcbXcSs3EI1Xdj9vViVeVGaaoI+WmOjXeGlvVYzg4kVkxeFzcaxEaaWpV4SNZ0A= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 1603807030119459.77596853651573; Tue, 27 Oct 2020 06:57:10 -0700 (PDT) Received: from mail-ed1-f69.google.com (mail-ed1-f69.google.com [209.85.208.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-568-aW1ky8XMO0a0lUmcb2Rxew-1; Tue, 27 Oct 2020 09:57:07 -0400 Received: by mail-ed1-f69.google.com with SMTP id be19so682701edb.22 for ; Tue, 27 Oct 2020 06:57:07 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.redhat.com (237.red-88-18-140.staticip.rima-tde.net. [88.18.140.237]) by smtp.gmail.com with ESMTPSA id d11sm1020685eds.83.2020.10.27.06.57.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Oct 2020 06:57:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1603807029; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=wZTuWnB45c6bHWmlLJk/6WmCKmM3xNLscyekei4DbYk=; b=YwWfLw9pSto5zrViQ9k5FBYVgsUxuWRASkeYHqx/VVi1/4tzI+JH9hRB4UGbkVQwm+DP0e B+ch3MzLbej8OE2Dh3i88LIbEE+R8fp+wFcLbDe9ENUU1h5q0aLWXXJnpcBsK/wPkI4SGV H5Q+1f4GO5VzJFftq3ssI/OuY5+uubY= X-MC-Unique: aW1ky8XMO0a0lUmcb2Rxew-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=wZTuWnB45c6bHWmlLJk/6WmCKmM3xNLscyekei4DbYk=; b=EF6M6bnrS8y1zIGIR9/VlUWNFaUfDPzDe88aeIifOAzqZyTfhrS+CA7Houn+ZCmm9d gP0gmZtIFpJ2FNUTHB/JO2jsJebmql1DVLHMz+SpmtbNcULpBPsCONk3fFYAILmwqoer f73TQhSNAcDT2C8NliQVHl3FKQkfOVvR9g1AUEHVO1fpnbEx5ZKnRz3hxVEtpTGg4GMa SQj1HIYguMZbLakwO+5SS/CZM0IFG/JgujD9yabrDc8fEvxGeOa0YbLBP+CFfP6y+lQd udaXUU9EP7tFE71vdN8MvOdya8S2xJpIUh1ABgoiZiu3Ln9C6JMYiB8Zp5Q16M1T38QE r2jA== X-Gm-Message-State: AOAM532bZ0u8z7XcHpo1WCdrRtnFLVRnbHkgxb7L8L5cEckkqrbNx+9F YpeytPDUHInkdzmglhAMRa3QKs4q3PyCwnd6ZSMVfWo+MSXRuSR1M9ZhmfbqOnyQdYAj0b2hgUn g2o05ZwuDAVsjMA== X-Received: by 2002:a17:906:7e0e:: with SMTP id e14mr2491163ejr.238.1603807026170; Tue, 27 Oct 2020 06:57:06 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx1wYqlaQlG8sxRdujiq3rO5sh9mL8zesoXuQ6cAyg+E4ABW83HnXdcg42awns1qsnWrdInCg== X-Received: by 2002:a17:906:7e0e:: with SMTP id e14mr2491151ejr.238.1603807025948; Tue, 27 Oct 2020 06:57:05 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Klaus Jensen , qemu-block@nongnu.org, Fam Zheng , Keith Busch , Eric Auger , Stefan Hajnoczi , Kevin Wolf , Max Reitz , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 14/25] block/nvme: Use definitions instead of magic values in add_io_queue() Date: Tue, 27 Oct 2020 14:55:36 +0100 Message-Id: <20201027135547.374946-15-philmd@redhat.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201027135547.374946-1-philmd@redhat.com> References: <20201027135547.374946-1-philmd@redhat.com> MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=philmd@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Replace magic values by definitions, and simplifiy since the number of queues will never reach 64K. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Eric Auger Reviewed-by: Stefan Hajnoczi Tested-by: Eric Auger --- block/nvme.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/block/nvme.c b/block/nvme.c index 9324f0bfdc4..2dfcf8c41d7 100644 --- a/block/nvme.c +++ b/block/nvme.c @@ -651,6 +651,7 @@ static bool nvme_add_io_queue(BlockDriverState *bs, Err= or **errp) NvmeCmd cmd; unsigned queue_size =3D NVME_QUEUE_SIZE; =20 + assert(n <=3D UINT16_MAX); q =3D nvme_create_queue_pair(s, bdrv_get_aio_context(bs), n, queue_size, errp); if (!q) { @@ -659,8 +660,8 @@ static bool nvme_add_io_queue(BlockDriverState *bs, Err= or **errp) cmd =3D (NvmeCmd) { .opcode =3D NVME_ADM_CMD_CREATE_CQ, .dptr.prp1 =3D cpu_to_le64(q->cq.iova), - .cdw10 =3D cpu_to_le32(((queue_size - 1) << 16) | (n & 0xFFFF)), - .cdw11 =3D cpu_to_le32(0x3), + .cdw10 =3D cpu_to_le32(((queue_size - 1) << 16) | n), + .cdw11 =3D cpu_to_le32(NVME_CQ_IEN | NVME_CQ_PC), }; if (nvme_cmd_sync(bs, s->queues[INDEX_ADMIN], &cmd)) { error_setg(errp, "Failed to create CQ io queue [%u]", n); @@ -669,8 +670,8 @@ static bool nvme_add_io_queue(BlockDriverState *bs, Err= or **errp) cmd =3D (NvmeCmd) { .opcode =3D NVME_ADM_CMD_CREATE_SQ, .dptr.prp1 =3D cpu_to_le64(q->sq.iova), - .cdw10 =3D cpu_to_le32(((queue_size - 1) << 16) | (n & 0xFFFF)), - .cdw11 =3D cpu_to_le32(0x1 | (n << 16)), + .cdw10 =3D cpu_to_le32(((queue_size - 1) << 16) | n), + .cdw11 =3D cpu_to_le32(NVME_SQ_PC | (n << 16)), }; if (nvme_cmd_sync(bs, s->queues[INDEX_ADMIN], &cmd)) { error_setg(errp, "Failed to create SQ io queue [%u]", n); --=20 2.26.2 From nobody Mon Nov 17 09:46:52 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.124; envelope-from=philmd@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1603807035; cv=none; d=zohomail.com; s=zohoarc; b=iX5bPVPl7tkJtKMEGU3r2SQkFqif2M8O6Jge/7cY0q0EpakRUZbRFGAtgF70t6bhJafLmBvE0UMQPHA6UjhjQKHwm/5tV+Re1EWmUGf7pfdEstA8YrnnCrB8xATvTgymWGr8MkuTl03q+UTtpF0pY9H/ulyU6wHrw/BDuv2BBDo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603807035; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=CnKJRPL31xVnAcjJgHQjDndeYt6tVNjYfmSUE2zuN74=; b=YAVpv/HZh/56Bz9Oj9nfuuw5OlBI9oORP8QozSJRD7ztkgSVMB1YJiGI3y4WHKfC2kKgSuDU6NanWWj1cAHmf9lqXMCYZcRTpIPOwaZf7QMyVHXWIHVIAs3MkF4C9vPPFw1Wbcee9eAtfOweCA35jZRm0Yjfamg/loJiPkx0Y/M= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 1603807035403110.2341636125625; Tue, 27 Oct 2020 06:57:15 -0700 (PDT) Received: from mail-ej1-f69.google.com (mail-ej1-f69.google.com [209.85.218.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-448-d6KHCgK3OpeSp102PY3ghQ-1; Tue, 27 Oct 2020 09:57:12 -0400 Received: by mail-ej1-f69.google.com with SMTP id p19so904129ejy.11 for ; Tue, 27 Oct 2020 06:57:12 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.redhat.com (237.red-88-18-140.staticip.rima-tde.net. [88.18.140.237]) by smtp.gmail.com with ESMTPSA id cw15sm1109814ejb.47.2020.10.27.06.57.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Oct 2020 06:57:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1603807034; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=CnKJRPL31xVnAcjJgHQjDndeYt6tVNjYfmSUE2zuN74=; b=RidUPOMrous0zB7xzqrwECzcHt+yKAYPHhtFcJrO78dNfPkVM8NnG2Ou1ADmi49KaarJ/y +bkl6ROCT8BAn2PhszGbFUDnrVuz90FR0FtoW5Ygoc+JzbH9hsp3xD36iTe23JihA2pZmZ 9eErogwPFBrTJDFCt6oGPjtjIYRwm0E= X-MC-Unique: d6KHCgK3OpeSp102PY3ghQ-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=CnKJRPL31xVnAcjJgHQjDndeYt6tVNjYfmSUE2zuN74=; b=HB3+YBS1uNYHpsGN1ARWGgCtW4utMrNpL4QFXoNIZED5MuBQvWEUmjBdMWSbN4UpFY Gvw7QZRyEVcWw5D10jRt25BArCMu+TPHEnv5xdQXraDaAPubKnTHZX03Ebl2ksZ1YyDU 8m/RLf3nul3v2mSPPGFqG/dBKG50EN/zhIPJdzf/k8IoHnZWEx7b7oYGWt0vsDEJstju CfeU1uGg9towb9uXF3TFVhrzvytCZTDr7Azi9/XGpTiVXYiG+ZmzjXAmAOwdQRSSyh1P m7ZlQaEDhr31WAjco1KWX4noriT6ksI38Li+XRUMZfzzl5jf68SShClEtpiSx1bn4TMW c7Rw== X-Gm-Message-State: AOAM530VlUSwRh0/DIWCbmLi9XAhUrgpHdjFUKzbZ5W8L+ezVz1/oaNS 0UHdy/Km4Kt979pUwwZiggK8FUGVsSULcwnYTL253IRQ0QVrpc96+F6SkC3zZ6fN/4RaQkpgSXJ eDOPp5UN0oEAldA== X-Received: by 2002:aa7:cf0f:: with SMTP id a15mr2488081edy.3.1603807031578; Tue, 27 Oct 2020 06:57:11 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyvCUXDinGiPty4cyztZwsd74U8l4L82wkME6zZcbbfVNW3u/nxxKWmdV1QX7jPFSHS9y65PA== X-Received: by 2002:aa7:cf0f:: with SMTP id a15mr2488074edy.3.1603807031403; Tue, 27 Oct 2020 06:57:11 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Klaus Jensen , qemu-block@nongnu.org, Fam Zheng , Keith Busch , Eric Auger , Stefan Hajnoczi , Kevin Wolf , Max Reitz , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 15/25] block/nvme: Correctly initialize Admin Queue Attributes Date: Tue, 27 Oct 2020 14:55:37 +0100 Message-Id: <20201027135547.374946-16-philmd@redhat.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201027135547.374946-1-philmd@redhat.com> References: <20201027135547.374946-1-philmd@redhat.com> MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=philmd@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) From the specification chapter 3.1.8 "AQA - Admin Queue Attributes" the Admin Submission Queue Size field is a 0=E2=80=99s based value: Admin Submission Queue Size (ASQS): Defines the size of the Admin Submission Queue in entries. Enabling a controller while this field is cleared to 00h produces undefined results. The minimum size of the Admin Submission Queue is two entries. The maximum size of the Admin Submission Queue is 4096 entries. This is a 0=E2=80=99s based value. This bug has never been hit because the device initialization uses a single command synchronously :) Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Eric Auger Reviewed-by: Stefan Hajnoczi Tested-by: Eric Auger --- block/nvme.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/block/nvme.c b/block/nvme.c index 2dfcf8c41d7..d5df30ec074 100644 --- a/block/nvme.c +++ b/block/nvme.c @@ -789,9 +789,9 @@ static int nvme_init(BlockDriverState *bs, const char *= device, int namespace, goto out; } s->queue_count =3D 1; - QEMU_BUILD_BUG_ON(NVME_QUEUE_SIZE & 0xF000); - regs->aqa =3D cpu_to_le32((NVME_QUEUE_SIZE << AQA_ACQS_SHIFT) | - (NVME_QUEUE_SIZE << AQA_ASQS_SHIFT)); + QEMU_BUILD_BUG_ON((NVME_QUEUE_SIZE - 1) & 0xF000); + regs->aqa =3D cpu_to_le32(((NVME_QUEUE_SIZE - 1) << AQA_ACQS_SHIFT) | + ((NVME_QUEUE_SIZE - 1) << AQA_ASQS_SHIFT)); regs->asq =3D cpu_to_le64(s->queues[INDEX_ADMIN]->sq.iova); regs->acq =3D cpu_to_le64(s->queues[INDEX_ADMIN]->cq.iova); =20 --=20 2.26.2 From nobody Mon Nov 17 09:46:52 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1603807832; cv=none; d=zohomail.com; s=zohoarc; b=jX2U8+sW5QKnS7WvapD9CER09+cdFxZ5xqwOf2tXIqZ4v4xUdAyU3hqJs7ubmVG8rHdJn2ym1qW31DdKPA1Kgmn4QjKSuoqrlJsHVW4uzUfUjMIISZuh8qP7b0gohHQAJA3lhBeWSt5+1wnHWosTrOFWly4Ayf4Xm7/lDt7wqGg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603807832; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=/EHBGSZvo5pKndYIooWnkiWED77TLxl9oiYOVAV+Eso=; b=ai+rW7ah1qR38A72Kn3tkjkAhoPpFIKFV4rUjmlljzqE+tmcN5dd4CSQYR/VVrUvd7Z152USghRd2Cgax4MQC3p7KXMZrO9vFtEW2emT7nasGa1aDNoGOQ2fz/2ql94JVcTZcjqtI59uFq0CXgBSnP+NPkAb5moe1KYqK8qwfig= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1603807832327516.2751517426708; Tue, 27 Oct 2020 07:10:32 -0700 (PDT) Received: from localhost ([::1]:51598 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kXPgD-0000Rw-PP for importer@patchew.org; Tue, 27 Oct 2020 10:10:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36254) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kXPTh-0003dj-0A for qemu-devel@nongnu.org; Tue, 27 Oct 2020 09:57:33 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:32093) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kXPTW-0004PH-Tn for qemu-devel@nongnu.org; Tue, 27 Oct 2020 09:57:29 -0400 Received: from mail-ej1-f72.google.com (mail-ej1-f72.google.com [209.85.218.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-527-lf8vuzYHOpWTLR-H5vH-_Q-1; Tue, 27 Oct 2020 09:57:18 -0400 Received: by mail-ej1-f72.google.com with SMTP id lf18so901529ejb.13 for ; Tue, 27 Oct 2020 06:57:18 -0700 (PDT) Received: from x1w.redhat.com (237.red-88-18-140.staticip.rima-tde.net. [88.18.140.237]) by smtp.gmail.com with ESMTPSA id p20sm1129638ejd.78.2020.10.27.06.57.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Oct 2020 06:57:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1603807041; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=/EHBGSZvo5pKndYIooWnkiWED77TLxl9oiYOVAV+Eso=; b=HpW8flWRfpoa9u2o7KX4URX4PtS5g0VA76eXhrYYseyc36uzW2C2Dixjsck6QB/v4LkFjD rjZgoNZlQFS2FY/cjijmg3Zp5/Fr8LR26qmzy5KLcUAlZyuUdlt6G9nelKuRsfN0UZ4riZ lFSfjd+k4pgD2p6VbAM+D72PvozmWOk= X-MC-Unique: lf8vuzYHOpWTLR-H5vH-_Q-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=/EHBGSZvo5pKndYIooWnkiWED77TLxl9oiYOVAV+Eso=; b=WkzQJ6q/WTBPqHYKaPPRjXGO9+IGZHKfW/cDcxo5wXpdV2qH+MsPzfGNVUYC1K+EaS X4J2YZP6y7lMnR6HshX4lQDsjEdsdDsVVtYcByIKtjotWgyihNlbHTq+TfYOzFIlGS0/ OyrUCgDrc3XiT944s2JoSt2zDcvxMY+JN1DuMiYPJPxd3DqjgpASSO+HpLofNRoOdtbY wSbmEzjDYH1WhbJksKIaeJ3+C7L/s7Q41O83MffSLlbwRQpOzkAHUJPZ4efP+tpFgrLA 9jx2Igztf3FH//GTW6ErLmv7mpGyqmcCO8e/+9AeLZgR2hZ+4+JNHIWkSKVodAHVv2Wy M1Zw== X-Gm-Message-State: AOAM533DUnJtsfJBCiSW2ujau5pasYJlX8U0BFmhq5hZRC4dlbJltDJW HbM0OZqnrEhcVuZ+r6trxflatBuQl7LsaCiGCRTYHGPgY8lz5B8gFzISMeG7ruDejkzLnHp0dPP xW9/yFww/ymjZz5o= X-Received: by 2002:a17:906:5488:: with SMTP id r8mr2433103ejo.483.1603807036882; Tue, 27 Oct 2020 06:57:16 -0700 (PDT) X-Google-Smtp-Source: ABdhPJznhdT7kCjIKpYOx1f/kNIFvxHnb34e5y9kXY9ny+ANQXmIn4CXj22Z8oighEJrD2uIwAenyA== X-Received: by 2002:a17:906:5488:: with SMTP id r8mr2433086ejo.483.1603807036689; Tue, 27 Oct 2020 06:57:16 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH 16/25] block/nvme: Simplify ADMIN queue access Date: Tue, 27 Oct 2020 14:55:38 +0100 Message-Id: <20201027135547.374946-17-philmd@redhat.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201027135547.374946-1-philmd@redhat.com> References: <20201027135547.374946-1-philmd@redhat.com> MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=philmd@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=philmd@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/27 01:06:06 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Fam Zheng , Kevin Wolf , qemu-block@nongnu.org, Eric Auger , Max Reitz , Keith Busch , Stefan Hajnoczi , Klaus Jensen , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) We don't need to dereference from BDRVNVMeState each time. Use a NVMeQueuePair pointer to the admin queue and use it. The nvme_init() becomes easier to review, matching the style of nvme_add_io_queue(). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Eric Auger Reviewed-by: Stefan Hajnoczi Tested-by: Eric Auger --- block/nvme.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/block/nvme.c b/block/nvme.c index d5df30ec074..2d3648694b0 100644 --- a/block/nvme.c +++ b/block/nvme.c @@ -699,6 +699,7 @@ static int nvme_init(BlockDriverState *bs, const char *= device, int namespace, Error **errp) { BDRVNVMeState *s =3D bs->opaque; + NVMeQueuePair *q; AioContext *aio_context =3D bdrv_get_aio_context(bs); int ret; uint64_t cap; @@ -781,19 +782,18 @@ static int nvme_init(BlockDriverState *bs, const char= *device, int namespace, =20 /* Set up admin queue. */ s->queues =3D g_new(NVMeQueuePair *, 1); - s->queues[INDEX_ADMIN] =3D nvme_create_queue_pair(s, aio_context, 0, - NVME_QUEUE_SIZE, - errp); - if (!s->queues[INDEX_ADMIN]) { + q =3D nvme_create_queue_pair(s, aio_context, 0, NVME_QUEUE_SIZE, errp); + if (!q) { ret =3D -EINVAL; goto out; } + s->queues[INDEX_ADMIN] =3D q; s->queue_count =3D 1; QEMU_BUILD_BUG_ON((NVME_QUEUE_SIZE - 1) & 0xF000); regs->aqa =3D cpu_to_le32(((NVME_QUEUE_SIZE - 1) << AQA_ACQS_SHIFT) | ((NVME_QUEUE_SIZE - 1) << AQA_ASQS_SHIFT)); - regs->asq =3D cpu_to_le64(s->queues[INDEX_ADMIN]->sq.iova); - regs->acq =3D cpu_to_le64(s->queues[INDEX_ADMIN]->cq.iova); + regs->asq =3D cpu_to_le64(q->sq.iova); + regs->acq =3D cpu_to_le64(q->cq.iova); =20 /* After setting up all control registers we can enable device now. */ regs->cc =3D cpu_to_le32((ctz32(NVME_CQ_ENTRY_BYTES) << CC_IOCQES_SHIF= T) | --=20 2.26.2 From nobody Mon Nov 17 09:46:52 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.124; envelope-from=philmd@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1603807047; cv=none; d=zohomail.com; s=zohoarc; b=P85S4h1vxCF98/Snq2gxvQB5TstqU3WkFiwJHqKRIUNg8iIoiVdmzeAoKDY4XVlLRhN6dqNgAZuPwmpRckhaFQmR3PVAj2QikDfel5NSiA56rMtZ+bUiHwPFddUSgbRfYLXqeFSiLcw8uIJ6/6/wVWqIKg++t+9PaIeimnRjTm8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603807047; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=JEjEb5blaJCbCH8yHzb9rLLKFCJ8kP8Dq4wMBDtqfPA=; b=h0tNZjZndXtFN+rI5POnLxl9X0LMpCgurNgCk0uKz7Gkv7n07k+CxV/MtuuiYrhCPo5L3Xy/XLFA7bsWMPYVqK5oLj2srZbyk+zyz/5NMbqRR4FONy0nd9HAgFDBvTLhivMpJxQW0BWh0vViEhZAA2pzUoi4rZ7xl6pm7zsEoc8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 1603807047421868.2631405879214; Tue, 27 Oct 2020 06:57:27 -0700 (PDT) Received: from mail-ej1-f71.google.com (mail-ej1-f71.google.com [209.85.218.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-346-ul225ZHVN06wyQeEF2HuhA-1; Tue, 27 Oct 2020 09:57:23 -0400 Received: by mail-ej1-f71.google.com with SMTP id lf18so901638ejb.13 for ; Tue, 27 Oct 2020 06:57:23 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.redhat.com (237.red-88-18-140.staticip.rima-tde.net. [88.18.140.237]) by smtp.gmail.com with ESMTPSA id ld2sm1090588ejb.94.2020.10.27.06.57.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Oct 2020 06:57:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1603807046; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=JEjEb5blaJCbCH8yHzb9rLLKFCJ8kP8Dq4wMBDtqfPA=; b=QXaTIjgaY0bpynioBtUD0R7uXrbFr+mOwXxHRhl/bx/gMdktncy6db5L6PV6oIcPeMgJCc ct3kVJuS21JqrHzKyWDU0UxCur3e4dN893r+QgMRYgeCzbZ+gtrChvLoG/2J+zy8uLbvnP ArO5ZStfYOZn3t2Sjiu19ZugwIY4ig0= X-MC-Unique: ul225ZHVN06wyQeEF2HuhA-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=JEjEb5blaJCbCH8yHzb9rLLKFCJ8kP8Dq4wMBDtqfPA=; b=c0swpXDfr94PwVutLOPQU3P8zZ+zfjxn6GF81a+MceCyYJLEyDpsAFy0UgYdAqzn0M omneUQX2EonF1bITw2+vCRxJuC8/alH1cbSwWWEu+pamk6VS8yBFBLX44R+aay/sKeCo hI8gTRAtC2vQ1aCneysBOTWN7RZ36BJO9STpLS8Q680uRQZUNQ84vlpTmfNTtc2fQk9d jSVjxnyy1P0ivOLkbRNkBa9nhKyNHnDnTKjWwHvmlGRMtuMt/tBx5heH8fqrZpfcYusr q427N5B2WyFtFaUI34m05LN4tVbXelwP1qpk1AHUOzugJPpmj1MOSozPoc4B1KtenPhP dzxQ== X-Gm-Message-State: AOAM531D8NythVrvLtyjyL/a5RL0W88/wnicgTG8E7Q+d3FO6PztowTN +x2zG3mGnQfhZ2o0dQ3Kj5BY2LcflkSB6mOmRuNJNzjOTgQnCatQ1Tgpm1wWXveITGJ3P8c8NN2 9nu0YtAyl4Mye5Q== X-Received: by 2002:aa7:c5c4:: with SMTP id h4mr2419632eds.379.1603807042128; Tue, 27 Oct 2020 06:57:22 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzHzC8M0tCzJel8YX0kGF1EMexn+eDGjWUUDLUlYJfBpsXKZY4Rvx+F51v4fc4xwiZFIoshjg== X-Received: by 2002:aa7:c5c4:: with SMTP id h4mr2419610eds.379.1603807041895; Tue, 27 Oct 2020 06:57:21 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Klaus Jensen , qemu-block@nongnu.org, Fam Zheng , Keith Busch , Eric Auger , Stefan Hajnoczi , Kevin Wolf , Max Reitz , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 17/25] block/nvme: Simplify nvme_cmd_sync() Date: Tue, 27 Oct 2020 14:55:39 +0100 Message-Id: <20201027135547.374946-18-philmd@redhat.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201027135547.374946-1-philmd@redhat.com> References: <20201027135547.374946-1-philmd@redhat.com> MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=philmd@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) As all commands use the ADMIN queue, it is pointless to pass it as argument each time. Remove the argument. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Eric Auger Tested-by: Eric Auger --- block/nvme.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/block/nvme.c b/block/nvme.c index 2d3648694b0..68f0c3f7959 100644 --- a/block/nvme.c +++ b/block/nvme.c @@ -487,9 +487,10 @@ static void nvme_cmd_sync_cb(void *opaque, int ret) aio_wait_kick(); } =20 -static int nvme_cmd_sync(BlockDriverState *bs, NVMeQueuePair *q, - NvmeCmd *cmd) +static int nvme_cmd_sync(BlockDriverState *bs, NvmeCmd *cmd) { + BDRVNVMeState *s =3D bs->opaque; + NVMeQueuePair *q =3D s->queues[INDEX_ADMIN]; AioContext *aio_context =3D bdrv_get_aio_context(bs); NVMeRequest *req; int ret =3D -EINPROGRESS; @@ -534,7 +535,7 @@ static bool nvme_identify(BlockDriverState *bs, int nam= espace, Error **errp) =20 memset(id, 0, sizeof(*id)); cmd.dptr.prp1 =3D cpu_to_le64(iova); - if (nvme_cmd_sync(bs, s->queues[INDEX_ADMIN], &cmd)) { + if (nvme_cmd_sync(bs, &cmd)) { error_setg(errp, "Failed to identify controller"); goto out; } @@ -557,7 +558,7 @@ static bool nvme_identify(BlockDriverState *bs, int nam= espace, Error **errp) memset(id, 0, sizeof(*id)); cmd.cdw10 =3D 0; cmd.nsid =3D cpu_to_le32(namespace); - if (nvme_cmd_sync(bs, s->queues[INDEX_ADMIN], &cmd)) { + if (nvme_cmd_sync(bs, &cmd)) { error_setg(errp, "Failed to identify namespace"); goto out; } @@ -663,7 +664,7 @@ static bool nvme_add_io_queue(BlockDriverState *bs, Err= or **errp) .cdw10 =3D cpu_to_le32(((queue_size - 1) << 16) | n), .cdw11 =3D cpu_to_le32(NVME_CQ_IEN | NVME_CQ_PC), }; - if (nvme_cmd_sync(bs, s->queues[INDEX_ADMIN], &cmd)) { + if (nvme_cmd_sync(bs, &cmd)) { error_setg(errp, "Failed to create CQ io queue [%u]", n); goto out_error; } @@ -673,7 +674,7 @@ static bool nvme_add_io_queue(BlockDriverState *bs, Err= or **errp) .cdw10 =3D cpu_to_le32(((queue_size - 1) << 16) | n), .cdw11 =3D cpu_to_le32(NVME_SQ_PC | (n << 16)), }; - if (nvme_cmd_sync(bs, s->queues[INDEX_ADMIN], &cmd)) { + if (nvme_cmd_sync(bs, &cmd)) { error_setg(errp, "Failed to create SQ io queue [%u]", n); goto out_error; } @@ -889,7 +890,7 @@ static int nvme_enable_disable_write_cache(BlockDriverS= tate *bs, bool enable, .cdw11 =3D cpu_to_le32(enable ? 0x01 : 0x00), }; =20 - ret =3D nvme_cmd_sync(bs, s->queues[INDEX_ADMIN], &cmd); + ret =3D nvme_cmd_sync(bs, &cmd); if (ret) { error_setg(errp, "Failed to configure NVMe write cache"); } --=20 2.26.2 From nobody Mon Nov 17 09:46:52 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1603808916; cv=none; d=zohomail.com; s=zohoarc; b=gn22i4j1PnVjlLMbwGn6aTG0t8EPYknar6qDsXph6SnT7P9bCXEr1tbIBGurut8eyTlU0TcqG2cuLJd1/5QW/QK4sdO6Bw1wdPeASlP/IP3KpS3LMMJCPoluL2hG0/UV0oU3fwtg/uW+HQkkbymZ42l1IjNVtbn7+5h05oWQsrI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603808916; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=oGK/umoqvEVmk3LcqzdY5SU63Dd+Fo+4ZtG1Gj+fyHI=; b=Y9MUJMsLFNujva6GbH5YjjHt/kpOsfT9W2I4q8qWf3zTzBwA5IiZXIsrjOYoY++TgR2tJJs/ujGWgG7P3uNuviMKCzAi/dkrRWPCIjJD7FZbGFDPBFCyKZHQeuJbM2aJbwQhtc5lUijYNx8J2lkREgthWyXT2gpa8zbHnM/rzJ4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1603808916255995.6668624209054; Tue, 27 Oct 2020 07:28:36 -0700 (PDT) Received: from localhost ([::1]:50170 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kXPxj-0006vr-5E for importer@patchew.org; Tue, 27 Oct 2020 10:28:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36316) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kXPTj-0003jD-93 for qemu-devel@nongnu.org; Tue, 27 Oct 2020 09:57:35 -0400 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:20071) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kXPTg-0004RY-KO for qemu-devel@nongnu.org; Tue, 27 Oct 2020 09:57:34 -0400 Received: from mail-ej1-f72.google.com (mail-ej1-f72.google.com [209.85.218.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-438-bdVmj3FXMnSBtHYSveEvVg-1; Tue, 27 Oct 2020 09:57:29 -0400 Received: by mail-ej1-f72.google.com with SMTP id k13so887590ejv.16 for ; Tue, 27 Oct 2020 06:57:28 -0700 (PDT) Received: from x1w.redhat.com (237.red-88-18-140.staticip.rima-tde.net. [88.18.140.237]) by smtp.gmail.com with ESMTPSA id n10sm1015864edo.55.2020.10.27.06.57.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Oct 2020 06:57:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1603807050; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=oGK/umoqvEVmk3LcqzdY5SU63Dd+Fo+4ZtG1Gj+fyHI=; b=MjWp7+x11wSvEcErzoIDnRcHEf2PhiExa1KxynIcwAIo1ohheR4fgnFwqAOgMREEjWZSza TytHfJH1msXIB3tRz3rSZDT21K9zG+QcDnrQ5hO8F1QjviZM6NVaHVC6Wn/AdMxEf3eim3 MVPSa/Wm4D4pUYRSjLJdnIIPo94Gsaw= X-MC-Unique: bdVmj3FXMnSBtHYSveEvVg-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=oGK/umoqvEVmk3LcqzdY5SU63Dd+Fo+4ZtG1Gj+fyHI=; b=hulVUJYCAwksTyWiBokXtnY7Ke4BURPTVDMid/8/G8Ho8cQq8lG3hsVoix9XoklhM6 oPM5qWBM332W+jAEao0+/AfzqUUs2oA1KPUuY5rjo0qiWrIln6kI+YHQHWCS3pTswy1S jMw07Kq6SWClfx38e9L27r4ZLQHy5gfe8LctpGYqTZTV1J8gjNacgLZA49fFA2Iti/Nk dvuidMnlEbNgCUpr0YUndOIpkeniL489gRjj6Bmkx+1yhu3c81+XGQa8dKht0lVe1J2u CJZEksWzyKJhQBdrUX+MhszAGbHNK2/zLGLUJBQ4xJhUlmRFgyF3bSEw/zALL8Krhvxa 3/+g== X-Gm-Message-State: AOAM530uXM9fbRw466VgMgk+pIIuGRvVo6qndXACO0kLrO4oEM4o7yt0 L1IL5scIkqdTSgvZDStgFvj+XVxyG+qFuJrj6Ne7bFgeTPGkfrM/XI/oGY22sQhWwzajk9QU39N uclFiQ56sOn06JHU= X-Received: by 2002:a17:906:3ada:: with SMTP id z26mr2461486ejd.151.1603807047369; Tue, 27 Oct 2020 06:57:27 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyV+jsEMmmEP/BWFkxrP+/T2dCU1LikRGHKy/1nEwyG2qg7rEFxcSyZDKqJQ4+aSv8SKq5i9w== X-Received: by 2002:a17:906:3ada:: with SMTP id z26mr2461463ejd.151.1603807047135; Tue, 27 Oct 2020 06:57:27 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH 18/25] block/nvme: Pass AioContext argument to nvme_add_io_queue() Date: Tue, 27 Oct 2020 14:55:40 +0100 Message-Id: <20201027135547.374946-19-philmd@redhat.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201027135547.374946-1-philmd@redhat.com> References: <20201027135547.374946-1-philmd@redhat.com> MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=philmd@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=philmd@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/27 01:06:07 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Fam Zheng , Kevin Wolf , qemu-block@nongnu.org, Eric Auger , Max Reitz , Keith Busch , Stefan Hajnoczi , Klaus Jensen , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) We want to get ride of the BlockDriverState pointer at some point, so pass aio_context along. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Eric Auger Tested-by: Eric Auger --- block/nvme.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/block/nvme.c b/block/nvme.c index 68f0c3f7959..a0871fc2a81 100644 --- a/block/nvme.c +++ b/block/nvme.c @@ -644,7 +644,9 @@ static void nvme_handle_event(EventNotifier *n) nvme_poll_queues(s); } =20 -static bool nvme_add_io_queue(BlockDriverState *bs, Error **errp) +/* Returns true on success, false on failure. */ +static bool nvme_add_io_queue(BlockDriverState *bs, + AioContext *aio_context, Error **errp) { BDRVNVMeState *s =3D bs->opaque; unsigned n =3D s->queue_count; @@ -653,8 +655,7 @@ static bool nvme_add_io_queue(BlockDriverState *bs, Err= or **errp) unsigned queue_size =3D NVME_QUEUE_SIZE; =20 assert(n <=3D UINT16_MAX); - q =3D nvme_create_queue_pair(s, bdrv_get_aio_context(bs), - n, queue_size, errp); + q =3D nvme_create_queue_pair(s, aio_context, n, queue_size, errp); if (!q) { return false; } @@ -830,7 +831,7 @@ static int nvme_init(BlockDriverState *bs, const char *= device, int namespace, } =20 /* Set up command queues. */ - if (!nvme_add_io_queue(bs, errp)) { + if (!nvme_add_io_queue(bs, aio_context, errp)) { ret =3D -EIO; } out: --=20 2.26.2 From nobody Mon Nov 17 09:46:52 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.124; envelope-from=philmd@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1603807059; cv=none; d=zohomail.com; s=zohoarc; b=X5yROZtL23VRonhIw3bSvHfeUg4jqdr0vNVEUlvnR6MzgRBYlOkjkAYW0mKS94qJNuv2B1+VDVWCLJgLplt7gmi2d42AfXkdMPwpk+spxcKclsBs9vz+CmzfLjBNEVRUwzpwabScIiwtRXoNNQ4Jwceke6cA9ySqvR90UiYE+Jw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603807059; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=RJk75AmI6iZBxAGRnOfhQsAkiS0PriXiInR+pfpFLCQ=; b=S4GGe8ExYbRQ+JOXCOw2ITT+0l5ZKQVrSemHLs92Qnwy6zyBsscmV9Bw8J0S3Tt8v0KSy49SwysOKpuL7zRxC4H7mC6/kKQDnKA3vMJbG3+ygpiR7eGedCed2U1gXlH2DbPkfVu1JMil5G8S44DkoxPjKgt+g97xqflwAm7W1Cc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 1603807059156281.05513099905784; Tue, 27 Oct 2020 06:57:39 -0700 (PDT) Received: from mail-ed1-f70.google.com (mail-ed1-f70.google.com [209.85.208.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-552-8TSp-SebMTmx_GjZkbIZOw-1; Tue, 27 Oct 2020 09:57:34 -0400 Received: by mail-ed1-f70.google.com with SMTP id t7so742517edt.0 for ; Tue, 27 Oct 2020 06:57:34 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.redhat.com (237.red-88-18-140.staticip.rima-tde.net. [88.18.140.237]) by smtp.gmail.com with ESMTPSA id e14sm1103100ejc.15.2020.10.27.06.57.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Oct 2020 06:57:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1603807058; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=RJk75AmI6iZBxAGRnOfhQsAkiS0PriXiInR+pfpFLCQ=; b=dAE2WmgylwyDnz/3lgpkCa/KzOUI1kEj6tmujjQurgj2gMlnsiKn1AnI0kazOeXpYzXXAu S5Fa67tLxo85j0U8WvYJEGBlBCB0opnW505JVftN6SNBnFOHuh2VgVyEDBKJ+h6lNjOYW/ HklZvfJYj/roHWyumbsdtqvXowL7BK0= X-MC-Unique: 8TSp-SebMTmx_GjZkbIZOw-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=RJk75AmI6iZBxAGRnOfhQsAkiS0PriXiInR+pfpFLCQ=; b=uPGTooNske28DnsCS26Ap0wE0EfwKmcGYcbcWvU5LZ+QYnnCqNHmNru93rx7gVMg6Q lGUKbak+1Ie2n8fbiffabSS0/wig1eY97KZfawV816glHUongQFDTsnHZ+o77z4WZH0O IhNRTgYi4DQWc3mSX3e9t9MSewxc6RGhynfaoE0ufT0nH9tilTFaEZ+MHHEdG1unnb/x I1b0cai4DM67br6Ay4/Z7/lgi22LKYp9A9Zu68irStQJd6M5lOAlA1QEApe+QNxJlk73 Lw/ALvMq3Vmx8vhF2gXC9TWbk8DV0e3PNRXlx+xWb0fut/CDyYXi7c37sQV51uFE0T/U EdgQ== X-Gm-Message-State: AOAM533RdIRioeuiv/28ZdPxMLRVKqRckxUtmbCvRoMjRguOj6YbDLDE raBIUQxIkex/uLUAoWPRBRqNXyn46kGvnlLzHc7ry5E7oX288OCucPTjEAxqgalqbhiwrwzCEzq fWVL4RvYAy3YhRA== X-Received: by 2002:a17:906:3a1a:: with SMTP id z26mr2434450eje.519.1603807053072; Tue, 27 Oct 2020 06:57:33 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyCxeBepJouLr4JjCDbEz6RpAdJu0yoFSQNNFmO/lwqirty5H/MDmwxCDZyYzpFfwQLbILEhA== X-Received: by 2002:a17:906:3a1a:: with SMTP id z26mr2434430eje.519.1603807052865; Tue, 27 Oct 2020 06:57:32 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Klaus Jensen , qemu-block@nongnu.org, Fam Zheng , Keith Busch , Eric Auger , Stefan Hajnoczi , Kevin Wolf , Max Reitz , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 19/25] block/nvme: Set request_alignment at initialization Date: Tue, 27 Oct 2020 14:55:41 +0100 Message-Id: <20201027135547.374946-20-philmd@redhat.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201027135547.374946-1-philmd@redhat.com> References: <20201027135547.374946-1-philmd@redhat.com> MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=philmd@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Commit bdd6a90a9e5 ("block: Add VFIO based NVMe driver") sets the request_alignment in nvme_refresh_limits(). For consistency, also set it during initialization. Reported-by: Stefan Hajnoczi Reviewed-by: Eric Auger Reviewed-by: Stefan Hajnoczi Signed-off-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Eric Auger --- block/nvme.c | 1 + 1 file changed, 1 insertion(+) diff --git a/block/nvme.c b/block/nvme.c index a0871fc2a81..682946ad840 100644 --- a/block/nvme.c +++ b/block/nvme.c @@ -759,6 +759,7 @@ static int nvme_init(BlockDriverState *bs, const char *= device, int namespace, s->page_size =3D MAX(4096, 1 << NVME_CAP_MPSMIN(cap)); s->doorbell_scale =3D (4 << NVME_CAP_DSTRD(cap)) / sizeof(uint32_t); bs->bl.opt_mem_alignment =3D s->page_size; + bs->bl.request_alignment =3D s->page_size; timeout_ms =3D MIN(500 * NVME_CAP_TO(cap), 30000); =20 /* Reset device to get a clean state. */ --=20 2.26.2 From nobody Mon Nov 17 09:46:52 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.124; envelope-from=philmd@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1603807062; cv=none; d=zohomail.com; s=zohoarc; b=mE8f+c1RdKoxlyVwmXtChq9SqlqbPZzRfwuoBv2LTMQxDFKL1GZH8F3bi6Xn7C6Nn82BID9OShYT5wD8KvdgklizuDzLv6Cy2vRo9wsw3wzNPKB1s1bM4zYL/LF0FoIe9l4jo6BTgKSP01viafX6bp4GJlzT8qwjJ/gpTm6iyTI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603807062; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=rsADHQhtdYEPnOhTT91bO7gVSjhtNIdy1KjQXQ/oHWM=; b=Lbttxe468K2CksFBdo5HlqOhaWDsMAICyw+xzDOagVbFHjlkVOfddUesnooZqhruy9Ug3HuEgaKu+xHOWbDuQtQWjKl3iyD0hRRe8tKNBN8OGTLaVDeL2L2a3nZFxhd5WwtklVB9bWmyWIZpQz/mCCtNQ/smoS6Q3LbNbMxvLMA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 16038070627551012.5130068988146; Tue, 27 Oct 2020 06:57:42 -0700 (PDT) Received: from mail-ej1-f69.google.com (mail-ej1-f69.google.com [209.85.218.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-38-41dHXsmEMyCPQCXzLow15A-1; Tue, 27 Oct 2020 09:57:39 -0400 Received: by mail-ej1-f69.google.com with SMTP id x12so862469eju.22 for ; Tue, 27 Oct 2020 06:57:39 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.redhat.com (237.red-88-18-140.staticip.rima-tde.net. [88.18.140.237]) by smtp.gmail.com with ESMTPSA id o15sm1094135ejm.38.2020.10.27.06.57.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Oct 2020 06:57:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1603807062; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=rsADHQhtdYEPnOhTT91bO7gVSjhtNIdy1KjQXQ/oHWM=; b=c7nZ9TKIWo4ARpuHlBvBSNDp3cZJC3T0j7Iyf7BX5YDTpZFpi/SwdWt1VsIniS+NkfyxLq DUTm7e6c4CH+qhYau8SKqQAcbEcIEGnQPsMRbVtSFgXfZIlQVh8wUS/haNmb50b92Vkf78 OAv79Rbf/tVBf5sRE9M6dwwqNBpATqU= X-MC-Unique: 41dHXsmEMyCPQCXzLow15A-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=rsADHQhtdYEPnOhTT91bO7gVSjhtNIdy1KjQXQ/oHWM=; b=pZGRdw+aOmHyVtl+OsLEdk6TP72Akugeckv1vUhAswg4nqdb6xtOfMkBYTV90uh0/c zQvbaiBut6kdLI6m5iqGHfK5ao4VsQecz/i1miTN1oTZ6guh/W/amgT/kkKNgOgGKfTO kmSLR89coJ49NnOYQJc81MmAH1HaJVhvt0MjXlMNT6P8ejfNvAYlfcKIrCjp9J0JfU0n hiLtE3phXO5BKWgQAO6apAgN08lzOt9S+ix2Dd/vMHug71d3s8iwxi7oQOJz3YfpHwxY n7EZHhyWXKrTvKZaoQCg1LviLW1uT1AzozRb4zdXtPcVsFyuWzshcHsMNTL7lxIMaXVf rNVw== X-Gm-Message-State: AOAM532oCAkuU0KMCT4QOhCClDXYzG0YJQuutlcoTwwJc8HarBrzxVRv +GTyzgR/yCKzHqUZ3QTByBLrMH+7Pd+l2F17fn6KBKDyFeDKkNVByzvXkTjIzrYvxX2ay+ZmIfS ExkE/7gH6WeNieQ== X-Received: by 2002:a17:906:1804:: with SMTP id v4mr2599342eje.201.1603807058348; Tue, 27 Oct 2020 06:57:38 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxQg64kvfwxBTN6dBbJosJW+jhiXkzsWkbQRbAwazI6wMTkUszv724DkBTtGmnHEKM0pFdGdA== X-Received: by 2002:a17:906:1804:: with SMTP id v4mr2599331eje.201.1603807058175; Tue, 27 Oct 2020 06:57:38 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Klaus Jensen , qemu-block@nongnu.org, Fam Zheng , Keith Busch , Eric Auger , Stefan Hajnoczi , Kevin Wolf , Max Reitz , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 20/25] block/nvme: Correct minimum device page size Date: Tue, 27 Oct 2020 14:55:42 +0100 Message-Id: <20201027135547.374946-21-philmd@redhat.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201027135547.374946-1-philmd@redhat.com> References: <20201027135547.374946-1-philmd@redhat.com> MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=philmd@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) While trying to simplify the code using a macro, we forgot the 12-bit shift... Correct that. Fixes: fad1eb68862 ("block/nvme: Use register definitions from 'block/nvme.= h'") Reported-by: Eric Auger Reviewed-by: Stefan Hajnoczi Reviewed-by: Eric Auger Signed-off-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Eric Auger --- block/nvme.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/block/nvme.c b/block/nvme.c index 682946ad840..d2d57a287cc 100644 --- a/block/nvme.c +++ b/block/nvme.c @@ -756,7 +756,7 @@ static int nvme_init(BlockDriverState *bs, const char *= device, int namespace, goto out; } =20 - s->page_size =3D MAX(4096, 1 << NVME_CAP_MPSMIN(cap)); + s->page_size =3D 1u << (12 + NVME_CAP_MPSMIN(cap)); s->doorbell_scale =3D (4 << NVME_CAP_DSTRD(cap)) / sizeof(uint32_t); bs->bl.opt_mem_alignment =3D s->page_size; bs->bl.request_alignment =3D s->page_size; --=20 2.26.2 From nobody Mon Nov 17 09:46:52 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.124; envelope-from=philmd@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1603807067; cv=none; d=zohomail.com; s=zohoarc; b=EhqZOk53qlU3i3H71oSaIZCezAELLS1ELIVMD/M3Fv2HvIO6N4QQCohzlkJSEr7MwOgpu5CCEOIP8Yndcuvr0AqmiBOjfpo/0FACreMxeQ2eIxgzlDc8H9SoFZGeOQiSoyOza9hgIOfUFp0I9FUDQsNLvrarS2CPZiXmeIi0JLU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603807067; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=0Utic1r2QfB0RLxuIXWbW8/BZ/+Cux5YDi1b1KSr+AQ=; b=H117Q0Ji2jhT9L2Et/l254E4jVA5IHNNw/gBdWg5/k+W9MC2JCNtCOeOmri+ktbXaIzXyl4ewosnCwyOQZRCAVlvpJECWwBKMAt/pIZltWJr0RMp5Tst3ph4qlXVoXyMsQg0v8ONcotpKypsZAWh1xe40y4w8mNZg+RRfgtrN3I= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1603807067444453.76682435093903; Tue, 27 Oct 2020 06:57:47 -0700 (PDT) Received: from mail-ej1-f71.google.com (mail-ej1-f71.google.com [209.85.218.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-377-ZDQM1w6lNGSHsNTRuxLMOg-1; Tue, 27 Oct 2020 09:57:44 -0400 Received: by mail-ej1-f71.google.com with SMTP id c20so895773ejs.12 for ; Tue, 27 Oct 2020 06:57:44 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.redhat.com (237.red-88-18-140.staticip.rima-tde.net. [88.18.140.237]) by smtp.gmail.com with ESMTPSA id m25sm1014991edp.36.2020.10.27.06.57.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Oct 2020 06:57:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1603807066; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=0Utic1r2QfB0RLxuIXWbW8/BZ/+Cux5YDi1b1KSr+AQ=; b=GYidfso0Fs6V8pu9jz7RkdSWfsLRBpXnqezJqJw86p2TUuOBDDXfefSeLMwEb/a+Fx+sZ3 mqHhfWlg2l636Wbe3feta8828EQVQWbfJO/7MPj8dv4GKQsT1Z2Vn6GlU6A2kviMpmI5jw N9pvxSbLzeNgWNQwgR1hvB7lRlYzGXM= X-MC-Unique: ZDQM1w6lNGSHsNTRuxLMOg-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=0Utic1r2QfB0RLxuIXWbW8/BZ/+Cux5YDi1b1KSr+AQ=; b=eAHTKY12mapV1KJSCXEK6tUS7wSNAx9Z/m56McKB3vGsXZ3OPKBBpvXQlvCGwBedBQ CCABPm12Pri2oR+YPcOUWvqR0grwniq7LoDwxSgHrUdOrpxnHwK0BVQnBDeuI5RTABHe bQX6wE6Z2NMxtmwwsjNbdxTh9C6NV5BtwWJN2u/A2sAVkebswS2JY2DbKXJicmLFv/ZI OZae9Z9Tzu7CeVarYrA6Sn3B0ziqfnWbMpf1dK5HTqAyaoZZobZ9BtBXIKnNZ7CbtwQB pGwqam0PSncmARvSCR0mwvh3NPNaiirlWI8A5GiYg7cQYYMY/voU5SGU8c3sNjw6Gwzk jHWA== X-Gm-Message-State: AOAM531w6UnMmJZWQWut6lhioWPBYGcFjVB0mjWr8Wobn7KPH+RKDMLO 0YqM0TbcC3LoVyIC64uvTLHV0mK3f4QTMX0jwDWQF0JfqOgIP9NVphLYrJN6hV4NPRW7He9c3GA mHZ2SSQtEIkDUHA== X-Received: by 2002:a50:ab07:: with SMTP id s7mr2344440edc.287.1603807063641; Tue, 27 Oct 2020 06:57:43 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx52vu3HB69weFD17jCoA/z36Gtt2WNjlxz29VyUmlUG8o8YtK1ekcFZufUNtFYGFjTe0IueQ== X-Received: by 2002:a50:ab07:: with SMTP id s7mr2344420edc.287.1603807063451; Tue, 27 Oct 2020 06:57:43 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Klaus Jensen , qemu-block@nongnu.org, Fam Zheng , Keith Busch , Eric Auger , Stefan Hajnoczi , Kevin Wolf , Max Reitz , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 21/25] block/nvme: Change size and alignment of IDENTIFY response buffer Date: Tue, 27 Oct 2020 14:55:43 +0100 Message-Id: <20201027135547.374946-22-philmd@redhat.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201027135547.374946-1-philmd@redhat.com> References: <20201027135547.374946-1-philmd@redhat.com> MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=philmd@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) From: Eric Auger In preparation of 64kB host page support, let's change the size and alignment of the IDENTIFY command response buffer so that the VFIO DMA MAP succeeds. We align on the host page size. Signed-off-by: Eric Auger Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Stefan Hajnoczi Tested-by: Eric Auger --- block/nvme.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/block/nvme.c b/block/nvme.c index d2d57a287cc..ad70303c5c1 100644 --- a/block/nvme.c +++ b/block/nvme.c @@ -521,19 +521,20 @@ static bool nvme_identify(BlockDriverState *bs, int n= amespace, Error **errp) .opcode =3D NVME_ADM_CMD_IDENTIFY, .cdw10 =3D cpu_to_le32(0x1), }; + size_t id_size =3D QEMU_ALIGN_UP(sizeof(*id), qemu_real_host_page_size= ); =20 - id =3D qemu_try_memalign(s->page_size, sizeof(*id)); + id =3D qemu_try_memalign(qemu_real_host_page_size, id_size); if (!id) { error_setg(errp, "Cannot allocate buffer for identify response"); goto out; } - r =3D qemu_vfio_dma_map(s->vfio, id, sizeof(*id), true, &iova); + r =3D qemu_vfio_dma_map(s->vfio, id, id_size, true, &iova); if (r) { error_setg(errp, "Cannot map buffer for DMA"); goto out; } =20 - memset(id, 0, sizeof(*id)); + memset(id, 0, id_size); cmd.dptr.prp1 =3D cpu_to_le64(iova); if (nvme_cmd_sync(bs, &cmd)) { error_setg(errp, "Failed to identify controller"); @@ -555,7 +556,7 @@ static bool nvme_identify(BlockDriverState *bs, int nam= espace, Error **errp) s->supports_write_zeroes =3D !!(oncs & NVME_ONCS_WRITE_ZEROES); s->supports_discard =3D !!(oncs & NVME_ONCS_DSM); =20 - memset(id, 0, sizeof(*id)); + memset(id, 0, id_size); cmd.cdw10 =3D 0; cmd.nsid =3D cpu_to_le32(namespace); if (nvme_cmd_sync(bs, &cmd)) { --=20 2.26.2 From nobody Mon Nov 17 09:46:52 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.124; envelope-from=philmd@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1603807072; cv=none; d=zohomail.com; s=zohoarc; b=NQo133jjodASWf3b2+p1sxuo+RbdajvrXq2arLsrO8uRzUE7jvHCXdj3itfS9pZ+ikYDkPd1BY3m2M2ZrlQCAQEAX63pMLGEwoKUz2CFncQ2VCjxTDxBm7yOBVXZzSDSW62OIpHlnVipnB9t2lInWVQgZAc2e3hPzY5mNo8PFJo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603807072; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=aGgz+XLiFf+ohpuvMEd9wbrelu41fy1wd5IWGvE3gyY=; b=ZzqcSt47zTV9fIld+vxSE0xYHA9VN/mi+7UtTC5IZ+zZ1qtIlf/ikYnek60cQemTxTkWZ2uW9GSRUMpH5HnrQO7UQsgYrShk6KTq8F0qeCbWVq+22OL1ycuj+jAed4nmpRHJd12InzYrYQQ0okxr91UxdRSs1JyTFE6nFl4wtbU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 1603807072631591.1286283965471; Tue, 27 Oct 2020 06:57:52 -0700 (PDT) Received: from mail-ej1-f71.google.com (mail-ej1-f71.google.com [209.85.218.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-460-WjeX4r6HP3OCevjcrbQETg-1; Tue, 27 Oct 2020 09:57:50 -0400 Received: by mail-ej1-f71.google.com with SMTP id z25so946971ejd.2 for ; Tue, 27 Oct 2020 06:57:49 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.redhat.com (237.red-88-18-140.staticip.rima-tde.net. [88.18.140.237]) by smtp.gmail.com with ESMTPSA id h22sm1129238ejc.80.2020.10.27.06.57.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Oct 2020 06:57:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1603807072; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=aGgz+XLiFf+ohpuvMEd9wbrelu41fy1wd5IWGvE3gyY=; b=QfFjLa+BDYFeYswrPwoP+C4BQNq7BzneUSqyUXjrun99cfNbNWJFABws4tGTfa3FuWxBa4 VvOxPK1iqSZ++QAkyPg4YNn2si89A+I7Us9HClF8Oswzjv+vuB9LFCynAkelxlOkDpBavX RHRr2/Ml3Rrx83U9HOPjKdKdcIXemzY= X-MC-Unique: WjeX4r6HP3OCevjcrbQETg-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=aGgz+XLiFf+ohpuvMEd9wbrelu41fy1wd5IWGvE3gyY=; b=bkdjuci0B9artBcqxeCl5pbHoULShvxIRZ/wrdoDKxqoaMWja1SN5DVT/NqAmHxjZo F8m4AWJ2iXCv7XUYMoKpQ0cW3JmkQaVlVXiezC1vvJqecpORW6WOvFCyeDMecW7fbzxy QX3XmrnV0/9/qvZdvqwyumplpOw6QavE40nUfkk+s0KCyG3gDLOEtR8c0AoX6ev8E0r4 /jC6Bftk2EZinyyGfP2wmVvUWISMUs4vt73gb0l8Xjw2+N8EgQD1fzdLn1JOnd6BBSnC OKfk7HrQIKa2vmvkEo2c4AvNTWUNa/ti/af27De2AAaeTGppFYCA+QOWMVDAx8ho/dHs HWQA== X-Gm-Message-State: AOAM531IN1RBz2dnKgQxxRotvFFU9seabm4GiAtv8Aghyk5v3dHIFX0o upeW5b5XmTl4BseWBJn+yYhgFIrB/w0IvfauAUpsxc6uOKwV7zsGMW4FtojQGnKYHaczEToB3Re EAdbiB+UmLOz+/g== X-Received: by 2002:a17:906:6a94:: with SMTP id p20mr2404751ejr.499.1603807068875; Tue, 27 Oct 2020 06:57:48 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzwOUz6H00BT4J8Of8oTGNZFsFpvU1WqANY1FB+xfxYbL26MBj/7nMSy4BYnPJXl69yqxaYDQ== X-Received: by 2002:a17:906:6a94:: with SMTP id p20mr2404735ejr.499.1603807068718; Tue, 27 Oct 2020 06:57:48 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Klaus Jensen , qemu-block@nongnu.org, Fam Zheng , Keith Busch , Eric Auger , Stefan Hajnoczi , Kevin Wolf , Max Reitz , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 22/25] block/nvme: Change size and alignment of queue Date: Tue, 27 Oct 2020 14:55:44 +0100 Message-Id: <20201027135547.374946-23-philmd@redhat.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201027135547.374946-1-philmd@redhat.com> References: <20201027135547.374946-1-philmd@redhat.com> MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=philmd@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) From: Eric Auger In preparation of 64kB host page support, let's change the size and alignment of the queue so that the VFIO DMA MAP succeeds. We align on the host page size. Signed-off-by: Eric Auger Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Stefan Hajnoczi Tested-by: Eric Auger --- block/nvme.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/block/nvme.c b/block/nvme.c index ad70303c5c1..941f96b4c92 100644 --- a/block/nvme.c +++ b/block/nvme.c @@ -167,9 +167,9 @@ static bool nvme_init_queue(BDRVNVMeState *s, NVMeQueue= *q, size_t bytes; int r; =20 - bytes =3D ROUND_UP(nentries * entry_bytes, s->page_size); + bytes =3D ROUND_UP(nentries * entry_bytes, qemu_real_host_page_size); q->head =3D q->tail =3D 0; - q->queue =3D qemu_try_memalign(s->page_size, bytes); + q->queue =3D qemu_try_memalign(qemu_real_host_page_size, bytes); if (!q->queue) { error_setg(errp, "Cannot allocate queue"); return false; --=20 2.26.2 From nobody Mon Nov 17 09:46:52 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.124; envelope-from=philmd@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1603807078; cv=none; d=zohomail.com; s=zohoarc; b=E+PSBxB1Qt9m52/TIqWy73Hhf7lG6IDhVf1O3uxPTJflAofC4Wf0MvuJnO/TaZDrWwTbhMpanwPingzRte7Jce9cZnF7vZTt+UAznb/1CJScMWIwfeqyKzOCBBnXg2d8svc92uMU6A47v7WPaaEYPwXRLOl1A6okGSTuVNYYw6Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603807078; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=NAlvgmTt63VVhwmPwsffm7y53PiDjihV7pQ2MmamgE4=; b=e3k/8dCFuV53qk6xu2p+o9EMxcxTCGIadPutFytZTa0fDtRxwMk6xBrZmZfcbqJm302c7rO/bGStshcF5szgQ6XaSRXsWKMZ9d8toDmEICt95RvP90Hk6WNEwxRORap9nUkYe3cEePzHW1YdXaEmBpYyH8Z4PCqGpHMBUYnxeek= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 1603807078131297.21052542698567; Tue, 27 Oct 2020 06:57:58 -0700 (PDT) Received: from mail-ej1-f72.google.com (mail-ej1-f72.google.com [209.85.218.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-270--oCOj3MDMDy4MqRDMmYxgg-1; Tue, 27 Oct 2020 09:57:55 -0400 Received: by mail-ej1-f72.google.com with SMTP id z8so942329ejw.3 for ; Tue, 27 Oct 2020 06:57:55 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.redhat.com (237.red-88-18-140.staticip.rima-tde.net. [88.18.140.237]) by smtp.gmail.com with ESMTPSA id i5sm1086357ejs.121.2020.10.27.06.57.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Oct 2020 06:57:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1603807077; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=NAlvgmTt63VVhwmPwsffm7y53PiDjihV7pQ2MmamgE4=; b=C1op0+tGH1Ki4Z5YcRgXi8B3tJVZEoxB4pmPt2vIluFsRsGYDe4sRnXIYqWW8Iqs9jFYdU DFMnS5Qjh4jPZhNnypzybRzgk80leIhPgwzrwqiOSr9udEcqID2mmiMIqCEqWYTo3YI8+x /cFWYZei6/0/4kD+8v07+Hox4SrMwCU= X-MC-Unique: -oCOj3MDMDy4MqRDMmYxgg-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=NAlvgmTt63VVhwmPwsffm7y53PiDjihV7pQ2MmamgE4=; b=FJoszm5XA8ygjY4BwNbm+3FX1pPqO2GOD8ufREl3l/ZPRVgp0eqC8KZmEgi8tYEEqS HWD5hnxyGg7L9cr8tfNxBtfhzDRxkZSrqrAnCjx8Q+PofiujSEpfu7iNMMyC/FWARWoF W5rNHXyOLIJLV0Gg8tZXuJw3l+pexebKRs36OkxbaUF39mcyqoLgRVYibYJ0OPAFbeyF xWOHTxC7UhsYgtPsDWZRjSfh7IdInIXW24cPrcqAn4VngvL/hAK39cslxVUDKUVNDfFs Ej+C/UGvmMg5xOJsTwH1ujgxrVuPXl1E4qJvVmTaA6O5Q3pJ/+lRqYncFvBmqA6DZLat 8HoA== X-Gm-Message-State: AOAM532SKg1L8gMKvcJSYAfmdf58fdraBcuYdtw+hmY4ZDQEtQgrH3t1 B+EaQVtZb0IS8sRrSloBH3h5L+RJ7/EKGbsfV3aSHA2qaKVQfK+2mIHQEVeuxABp9javYmfyq7l /TtjOjmKiU699DA== X-Received: by 2002:a17:906:b0d7:: with SMTP id bk23mr2685809ejb.103.1603807074318; Tue, 27 Oct 2020 06:57:54 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyINoOPF8wNVWokkj+IKWIMIktCGQC5/gJ7yK7HdRpYJqPJ0+waXXQhdA3r2TV4/fs/s5Gn6A== X-Received: by 2002:a17:906:b0d7:: with SMTP id bk23mr2685783ejb.103.1603807074086; Tue, 27 Oct 2020 06:57:54 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Klaus Jensen , qemu-block@nongnu.org, Fam Zheng , Keith Busch , Eric Auger , Stefan Hajnoczi , Kevin Wolf , Max Reitz , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 23/25] block/nvme: Change size and alignment of prp_list_pages Date: Tue, 27 Oct 2020 14:55:45 +0100 Message-Id: <20201027135547.374946-24-philmd@redhat.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201027135547.374946-1-philmd@redhat.com> References: <20201027135547.374946-1-philmd@redhat.com> MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=philmd@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) From: Eric Auger In preparation of 64kB host page support, let's change the size and alignment of the prp_list_pages so that the VFIO DMA MAP succeeds with 64kB host page size. We align on the host page size. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Eric Auger Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Stefan Hajnoczi Tested-by: Eric Auger --- block/nvme.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/block/nvme.c b/block/nvme.c index 941f96b4c92..e3626045565 100644 --- a/block/nvme.c +++ b/block/nvme.c @@ -214,6 +214,7 @@ static NVMeQueuePair *nvme_create_queue_pair(BDRVNVMeSt= ate *s, int i, r; NVMeQueuePair *q; uint64_t prp_list_iova; + size_t bytes; =20 q =3D g_try_new0(NVMeQueuePair, 1); if (!q) { @@ -221,19 +222,19 @@ static NVMeQueuePair *nvme_create_queue_pair(BDRVNVMe= State *s, } trace_nvme_create_queue_pair(idx, q, size, aio_context, event_notifier_get_fd(s->irq_notifier)); - q->prp_list_pages =3D qemu_try_memalign(s->page_size, - s->page_size * NVME_NUM_REQS); + bytes =3D QEMU_ALIGN_UP(s->page_size * NVME_NUM_REQS, + qemu_real_host_page_size); + q->prp_list_pages =3D qemu_try_memalign(qemu_real_host_page_size, byte= s); if (!q->prp_list_pages) { goto fail; } - memset(q->prp_list_pages, 0, s->page_size * NVME_NUM_REQS); + memset(q->prp_list_pages, 0, bytes); qemu_mutex_init(&q->lock); q->s =3D s; q->index =3D idx; qemu_co_queue_init(&q->free_req_queue); q->completion_bh =3D aio_bh_new(aio_context, nvme_process_completion_b= h, q); - r =3D qemu_vfio_dma_map(s->vfio, q->prp_list_pages, - s->page_size * NVME_NUM_REQS, + r =3D qemu_vfio_dma_map(s->vfio, q->prp_list_pages, bytes, false, &prp_list_iova); if (r) { goto fail; --=20 2.26.2 From nobody Mon Nov 17 09:46:52 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.124; envelope-from=philmd@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1603807083; cv=none; d=zohomail.com; s=zohoarc; b=ho66X4/FLf3dIGBhSvgQZE/qF6m0Pdpe5JZgXtU88AcmtbdmgFYrnEV1xckuTiN/tBF9XqeSRASVXHCZqmt0GS3GlVovd+gMFgTOCJ1sUznh+vW4Gy4IEP3SWgX5Tx/jq162hCwg4t/OXxcVmGCMgQZDsds1rq0nsbRI4+x/HSM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603807083; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=xm7DOhBe3iyYOLIHKljm0VOmYGJ+D2G+GQFpjtxbZOQ=; b=mogOjEI0P9z6Ugsz6u329tg7nr25nNk8DB0mIJILEk46EWLYETXPBgK8/3+LC/gozMkrgoA7q+vI62JNJ3Dyrjd8dt5uIh35uhXjiGvtrccwpErcptWgsVmDusZBa2TNmMnfmDUs2jjeTN/fSSBzT0aJfijXUnoCv2B2+1JmqbE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1603807083165965.8527938154635; Tue, 27 Oct 2020 06:58:03 -0700 (PDT) Received: from mail-ed1-f69.google.com (mail-ed1-f69.google.com [209.85.208.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-501-PbXwevrqOfCNM_qpEgOxyg-1; Tue, 27 Oct 2020 09:58:00 -0400 Received: by mail-ed1-f69.google.com with SMTP id dc23so710399edb.13 for ; Tue, 27 Oct 2020 06:58:00 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.redhat.com (237.red-88-18-140.staticip.rima-tde.net. [88.18.140.237]) by smtp.gmail.com with ESMTPSA id e2sm1095439ejd.81.2020.10.27.06.57.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Oct 2020 06:57:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1603807082; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=xm7DOhBe3iyYOLIHKljm0VOmYGJ+D2G+GQFpjtxbZOQ=; b=bJn7MbySmtxe+wuaAGW5TiCqfTDIzmKNYjEaFW3yUsjjb0QGeZ96ARE97qPqQv5XHEtLu4 eELoZkyvG2fU93UsseU6vOfs0y6xePDoscbtR9ic2+JyaQhUxmeHfg/uKPTJHdxU8ZNJHn vbsg+LW8unllx+9666u+wlV6UDOBd5A= X-MC-Unique: PbXwevrqOfCNM_qpEgOxyg-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=xm7DOhBe3iyYOLIHKljm0VOmYGJ+D2G+GQFpjtxbZOQ=; b=PBCtaXZoFLxQqJYtBh8gIH/sXoFfZy8HW5P8nhU9n5j7LQ8rmK7a5IwtK7gqLhSp44 49x+HABkZJ5VqUoD+A1z/Kqp2QiMZQLoXAVSOagroZnnbdYWLiUSUwKU4jhTjw3K7BZN 8go1BKxHqRJlNVjIXf+7+Iun38eBte/p6ViBppIGT2RomTUs3S4mmNgFiPbb+d5PjXb4 jllqIzkiMTGSF+m2a3Vc7nymJefBSDOWdVrGluLSHEjKALCBAQjTAMb0EkpyAB2/FShY UdSR5p4pw/VFmmXlleaZ3wB8t2XATxXCIS3+9lLTThlaZD7SM+thklqRGbu7W6EtH038 DZvQ== X-Gm-Message-State: AOAM530d3E3JxneLeUZMS/x4xt7Av/PEYL4BPBU24VgeVDyG93o5PzXf iuUWFss7yIEr2EmiU9Bgr3voryI/igu9I2hijFjDv9sNSD5B/Z8VZWEYFZGcWfwaZFUhNIsLvdk aSeQ1Z9J/GGuNBw== X-Received: by 2002:a17:906:2dc7:: with SMTP id h7mr2638981eji.546.1603807079519; Tue, 27 Oct 2020 06:57:59 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyWKxF53GuI7DB3LBnIlx/SCjKP14ed38wRlih8sAJZ/8YOthHVUwVuFSqQQTeiaC3xnaIDFw== X-Received: by 2002:a17:906:2dc7:: with SMTP id h7mr2638968eji.546.1603807079354; Tue, 27 Oct 2020 06:57:59 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Klaus Jensen , qemu-block@nongnu.org, Fam Zheng , Keith Busch , Eric Auger , Stefan Hajnoczi , Kevin Wolf , Max Reitz , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 24/25] block/nvme: Align iov's va and size on host page size Date: Tue, 27 Oct 2020 14:55:46 +0100 Message-Id: <20201027135547.374946-25-philmd@redhat.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201027135547.374946-1-philmd@redhat.com> References: <20201027135547.374946-1-philmd@redhat.com> MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=philmd@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) From: Eric Auger Make sure iov's va and size are properly aligned on the host page size. Signed-off-by: Eric Auger Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Stefan Hajnoczi Tested-by: Eric Auger --- block/nvme.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/block/nvme.c b/block/nvme.c index e3626045565..c1c52bae44f 100644 --- a/block/nvme.c +++ b/block/nvme.c @@ -1018,11 +1018,12 @@ static coroutine_fn int nvme_cmd_map_qiov(BlockDriv= erState *bs, NvmeCmd *cmd, for (i =3D 0; i < qiov->niov; ++i) { bool retry =3D true; uint64_t iova; + size_t len =3D QEMU_ALIGN_UP(qiov->iov[i].iov_len, + qemu_real_host_page_size); try_map: r =3D qemu_vfio_dma_map(s->vfio, qiov->iov[i].iov_base, - qiov->iov[i].iov_len, - true, &iova); + len, true, &iova); if (r =3D=3D -ENOMEM && retry) { retry =3D false; trace_nvme_dma_flush_queue_wait(s); @@ -1166,8 +1167,9 @@ static inline bool nvme_qiov_aligned(BlockDriverState= *bs, BDRVNVMeState *s =3D bs->opaque; =20 for (i =3D 0; i < qiov->niov; ++i) { - if (!QEMU_PTR_IS_ALIGNED(qiov->iov[i].iov_base, s->page_size) || - !QEMU_IS_ALIGNED(qiov->iov[i].iov_len, s->page_size)) { + if (!QEMU_PTR_IS_ALIGNED(qiov->iov[i].iov_base, + qemu_real_host_page_size) || + !QEMU_IS_ALIGNED(qiov->iov[i].iov_len, qemu_real_host_page_siz= e)) { trace_nvme_qiov_unaligned(qiov, i, qiov->iov[i].iov_base, qiov->iov[i].iov_len, s->page_size); return false; @@ -1183,7 +1185,7 @@ static int nvme_co_prw(BlockDriverState *bs, uint64_t= offset, uint64_t bytes, int r; uint8_t *buf =3D NULL; QEMUIOVector local_qiov; - + size_t len =3D QEMU_ALIGN_UP(bytes, qemu_real_host_page_size); assert(QEMU_IS_ALIGNED(offset, s->page_size)); assert(QEMU_IS_ALIGNED(bytes, s->page_size)); assert(bytes <=3D s->max_transfer); @@ -1193,7 +1195,7 @@ static int nvme_co_prw(BlockDriverState *bs, uint64_t= offset, uint64_t bytes, } s->stats.unaligned_accesses++; trace_nvme_prw_buffered(s, offset, bytes, qiov->niov, is_write); - buf =3D qemu_try_memalign(s->page_size, bytes); + buf =3D qemu_try_memalign(qemu_real_host_page_size, len); =20 if (!buf) { return -ENOMEM; --=20 2.26.2 From nobody Mon Nov 17 09:46:52 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.124; envelope-from=philmd@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1603807089; cv=none; d=zohomail.com; s=zohoarc; b=X9u3qqaf24QdDlUCZrBQjygQIugojqstZgkqpxlVnSWe5Goa5wm/B3lW/qoH9qQVEEYmFBwPxAWV/nRL9Qu+AqrXXnK8S44STjykA6G7jd+dPwdyo5FGAFifoplD35UmxipmmaewgRGWq+vs59JPzLNZk+svY5T/1mZRCMQwda0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603807089; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=MB1ipRfRNkXChQukvt9rriPJxQdgZRtBkWvpvX32y+s=; b=kJi/yYdY3GXt9tNr3e/+uqdBbXKeNotL9RMXgJt0unsQ2ydnTuGy7edvxUUIjXdwJl+2laC+HhhhNFv2e+MEA33OL/9vVdn1xEfxngRtCCLbGDKvhwJ++aOHVKDGRBom1Rn0pRqM2l4JUeFO4sNNhi2NXGOgUhocQM+ucOaf47c= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 1603807089884758.3103213022243; Tue, 27 Oct 2020 06:58:09 -0700 (PDT) Received: from mail-ej1-f70.google.com (mail-ej1-f70.google.com [209.85.218.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-348-NNGhBfmqOFeLxN9iadVC7w-1; Tue, 27 Oct 2020 09:58:06 -0400 Received: by mail-ej1-f70.google.com with SMTP id z18so955017eji.1 for ; Tue, 27 Oct 2020 06:58:06 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.redhat.com (237.red-88-18-140.staticip.rima-tde.net. [88.18.140.237]) by smtp.gmail.com with ESMTPSA id 11sm1084734ejy.19.2020.10.27.06.58.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Oct 2020 06:58:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1603807089; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=MB1ipRfRNkXChQukvt9rriPJxQdgZRtBkWvpvX32y+s=; b=Fh6fs/uJ16jOO7qNxFtCQ/EdPx4VwSJhjBWsBs0x2g9B70r1IxGCkkOtEJx53kFwuTpDjA 7PHIvpedm1lzekqMa/JUxs2XnxRAHImJ2o/MATQn+6wlJ92q9zH8kz+GeDnWVjyjXPmBe7 rICNfESuVMcGxtBZSdLL/T+aoj4L6NY= X-MC-Unique: NNGhBfmqOFeLxN9iadVC7w-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=MB1ipRfRNkXChQukvt9rriPJxQdgZRtBkWvpvX32y+s=; b=UdBrEcpJtLZYyJCxyylIJF47DRtihOwQbvfIGwE4T38VtTjBVKxUjfRiCis+yIK3ck 70TVgxDZF0tIht8hgBpB4cIJrQgKSCr4INd8MBwyfs2/W7f+mvWW2v5wvhHQE40z8Ocn TBTHjsbvz99bpRrp3Z/8jKjLBUw5Ah94kgeUi5vT8YpuTX3BEM+u/GyaavHFQ6rYk3je cyAz1XfkLwZdZwtBZxez+kgRg1Ztob6Xcu1YA7wllxlt83BXYRXucbwWG3hWXhz1qK9l JG6nVcx7NfSbiXqRD3EUd+oRN09GUV2jz+c2cAjFJXPJf/IvYk9k0fBsC63ZF9b8UKdv Fvfg== X-Gm-Message-State: AOAM532xmNMRG30BEiV5mIsTXFRuoShbAd/old4Ofwe0pvTBbkvWRcSx IPXLn0no6PdKiejOUM+0a7jTvr0qXxwvBl5Q96WbKJ9e2u9ug55u2gDzIBB9mGdc2Hh7nKbLFIh MapWxu8kxmsLmQw== X-Received: by 2002:a17:906:d89:: with SMTP id m9mr2683053eji.18.1603807084942; Tue, 27 Oct 2020 06:58:04 -0700 (PDT) X-Google-Smtp-Source: ABdhPJymVc4dVnOkyLbfsI+Fr2X1rcFLIDMM9dqqTlvJbktlhH+2ZQuRpkw8vcWq5D7Ppx2VxD6+VA== X-Received: by 2002:a17:906:d89:: with SMTP id m9mr2683032eji.18.1603807084740; Tue, 27 Oct 2020 06:58:04 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Klaus Jensen , qemu-block@nongnu.org, Fam Zheng , Keith Busch , Eric Auger , Stefan Hajnoczi , Kevin Wolf , Max Reitz , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [RFC PATCH 25/25] block/nvme: Fix use of write-only doorbells page on Aarch64 arch Date: Tue, 27 Oct 2020 14:55:47 +0100 Message-Id: <20201027135547.374946-26-philmd@redhat.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201027135547.374946-1-philmd@redhat.com> References: <20201027135547.374946-1-philmd@redhat.com> MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=philmd@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) qemu_vfio_pci_map_bar() calls mmap(), and mmap(2) states: 'offset' must be a multiple of the page size as returned by sysconf(_SC_PAGE_SIZE). In commit f68453237b9 we started to use an offset of 4K which broke this contract on Aarch64 arch. Fix by mapping at offset 0, and and accessing doorbells at offset=3D4K. Fixes: f68453237b9 ("block/nvme: Map doorbells pages write-only") Reported-by: Eric Auger Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Eric Auger Reviewed-by: Stefan Hajnoczi Tested-by: Eric Auger --- block/nvme.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/block/nvme.c b/block/nvme.c index c1c52bae44f..ff645eefe6a 100644 --- a/block/nvme.c +++ b/block/nvme.c @@ -94,6 +94,7 @@ typedef struct { struct BDRVNVMeState { AioContext *aio_context; QEMUVFIOState *vfio; + void *bar0_wo_map; /* Memory mapped registers */ volatile struct { uint32_t sq_tail; @@ -778,8 +779,10 @@ static int nvme_init(BlockDriverState *bs, const char = *device, int namespace, } } =20 - s->doorbells =3D qemu_vfio_pci_map_bar(s->vfio, 0, sizeof(NvmeBar), - NVME_DOORBELL_SIZE, PROT_WRITE, e= rrp); + s->bar0_wo_map =3D qemu_vfio_pci_map_bar(s->vfio, 0, 0, + sizeof(NvmeBar) + NVME_DOORBELL= _SIZE, + PROT_WRITE, errp); + s->doorbells =3D (void *)((uintptr_t)s->bar0_wo_map + sizeof(NvmeBar)); if (!s->doorbells) { ret =3D -EINVAL; goto out; @@ -913,8 +916,8 @@ static void nvme_close(BlockDriverState *bs) &s->irq_notifier[MSIX_SHARED_IRQ_IDX], false, NULL, NULL); event_notifier_cleanup(&s->irq_notifier[MSIX_SHARED_IRQ_IDX]); - qemu_vfio_pci_unmap_bar(s->vfio, 0, (void *)s->doorbells, - sizeof(NvmeBar), NVME_DOORBELL_SIZE); + qemu_vfio_pci_unmap_bar(s->vfio, 0, s->bar0_wo_map, + 0, sizeof(NvmeBar) + NVME_DOORBELL_SIZE); qemu_vfio_close(s->vfio); =20 g_free(s->device); --=20 2.26.2