From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pa0-f45.google.com (mail-pa0-f45.google.com [209.85.220.45]) by dpdk.org (Postfix) with ESMTP id F2F1F37AA for ; Mon, 18 Jan 2016 09:04:12 +0100 (CET) Received: by mail-pa0-f45.google.com with SMTP id cy9so430316516pac.0 for ; Mon, 18 Jan 2016 00:04:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=igel-co-jp.20150623.gappssmtp.com; s=20150623; h=subject:to:references:cc:from:message-id:date:user-agent :mime-version:in-reply-to:content-type:content-transfer-encoding; bh=WmSfGIthC8nK4qLVc+GN64KFo04FoMNICNnnaXhQU24=; b=p8YkUbAkb3YWYoyuK3aPBbvVJlbLxUsw8+DGJqnYeQ6NfCEURWrpy/yChjRHKBAxjH EnCY1PGLpWHMM0z7CfnNP3T0u+a1r2MSD/OCT0cxRNv6tTev2JUIKGfXqxYdqK1ulxzz gqHVzfygGdvtdvr+3OUUVFGwe/Gzt8nI8XmP2fhi2fnyYRPMsBHPqe5IGgo31xHr7FVo SUeEMjQiRGc9C7C8DPJCowKiQVGlfSTxUBDM45WQc2x4ljZJ/KN0FyY1lS+EMn7Rktj2 GjqJe5/ouP0w0OPMUJXnHKoU3q7YzAXMUraJUFcAx7wwaaoYXPcuDY4PjPFTqPs9M+8i L3Ew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:cc:from:message-id:date :user-agent:mime-version:in-reply-to:content-type :content-transfer-encoding; bh=WmSfGIthC8nK4qLVc+GN64KFo04FoMNICNnnaXhQU24=; b=GUFQAWjixoHCgPHV1sfTHY69j0uGnLAeKgAclQOddfqLUvTP8TWOxH7wv38HZBvDew KIqw6W8HL71aSwBmXIycBpeK2WFh1HUkeaTYyg7cVGnjMpl9vvHHoQcEQ+Tow6H+S/TX UcokLRf6CUWG/Sr2zTjw9s8pGXvMMTzvmptb+1s5RgXgEromKEc7Nj6cQ+JVhYpAyioh xl9MxoYQx09MQA/ajnZ1YNaSZkWZvxslot2aGXq+tI3mvd5MwwRFHtsR9eMKpu7m6ruY 6lbjlCBsv18C+vFi5cRHTDi/C7xW8pahETCWyzvIuIbsvOrLX3zWjyoeErc9YL+8WLv2 Na2Q== X-Gm-Message-State: ALoCoQkc5EUZLVeEt6Xzt83QvRG4dwbhsY4/NTPdZ26Iv+wLT2YcASPGBuPQ8mYAV5DsoOwc4d94cVW3Mt3IUFS3VWo6pzFUCQ== X-Received: by 10.66.216.69 with SMTP id oo5mr33856790pac.126.1453104252154; Mon, 18 Jan 2016 00:04:12 -0800 (PST) Received: from [10.16.129.101] (napt.igel.co.jp. [219.106.231.132]) by smtp.googlemail.com with ESMTPSA id tp3sm31854566pac.16.2016.01.18.00.04.09 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 18 Jan 2016 00:04:11 -0800 (PST) To: Yuanhan Liu , dev@dpdk.org References: <1452581944-24838-1-git-send-email-yuanhan.liu@linux.intel.com> <1452832571-6156-1-git-send-email-yuanhan.liu@linux.intel.com> From: Tetsuya Mukawa X-Enigmail-Draft-Status: N1110 Message-ID: <569C9C79.1030702@igel.co.jp> Date: Mon, 18 Jan 2016 17:04:09 +0900 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <1452832571-6156-1-git-send-email-yuanhan.liu@linux.intel.com> Content-Type: text/plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v4 0/8] virtio 1.0 enabling for virtio pmd driver X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Jan 2016 08:04:13 -0000 On 2016/01/15 13:36, Yuanhan Liu wrote: > v4: - mark "src" arg as const for write_dev_cfg operation > > - remove unnessary inline, and likely/unlikely > > v3: - export pci_unmap_device as well; and invoke it at virtio > uninit stage. > > - fixed same data corruption bug reported by Qian in simple > rxtx code path. > > - move VIRTIO_READ/WRITE_REG_X to virtio_pci.c > > v2: - fix a data corruption reported by Qian, due to hdr size mismatch. > check detailes at ptach 5. > > - Add missing config_irq and isr reading support from v1. > > - fix comments from v1. > > Almost all difference comes from virtio 1.0 are the PCI layout change: > the major configuration structures are stored at bar space, and their > location is stored at corresponding pci cap structure. Reading/parsing > them is one of the major work of patch 7. > > To make handling virtio v1.0 and v0.95 co-exist well, this patch set > introduces a virtio_pci_ops structure, to add another layer so that > we could keep those vtpci_foo_bar "APIs". With that, we could do the > minimum change to add virtio 1.0 support. > > > Rough test guide > ================ > > Firstly, you need get a virtio 1.0 supported QEMU (say, v2.5), then add > option "disable-modern=false" to qemu virtio-net-pci device to enable > virtio 1.0 (which is disabled by default). > > And if you see something like following from 'lspci -v', it means virtio > 1.0 is indeed enabled: > > 00:04.0 Ethernet controller: Red Hat, Inc Virtio network device > Subsystem: Red Hat, Inc Device 0001 > Physical Slot: 4 > Flags: bus master, fast devsel, latency 0, IRQ 11 > I/O ports at c040 [size=64] > Memory at febf1000 (32-bit, non-prefetchable) [size=4K] > Memory at fe000000 (64-bit, prefetchable) [size=8M] > Expansion ROM at feb80000 [disabled] [size=256K] > Capabilities: [98] MSI-X: Enable+ Count=6 Masked- > ==> Capabilities: [84] Vendor Specific Information: Len=14 > ==> Capabilities: [70] Vendor Specific Information: Len=14 > ==> Capabilities: [60] Vendor Specific Information: Len=10 > ==> Capabilities: [50] Vendor Specific Information: Len=10 > ==> Capabilities: [40] Vendor Specific Information: Len=10 > Kernel driver in use: virtio-pci > Kernel modules: virtio_pci > > After that, there wasn't anything speical comparing to the old virtio > 0.95 pmd driver. > > > --- > Yuanhan Liu (8): > virtio: don't set vring address again at queue startup > virtio: introduce struct virtio_pci_ops > virtio: move left pci stuff to virtio_pci.c > viritio: switch to 64 bit features > virtio: retrieve hdr_size from hw->vtnet_hdr_size > eal: pci: export pci_[un]map_device > virtio: add 1.0 support > virtio: move VIRTIO_READ/WRITE_REG_X into virtio_pci.c > > doc/guides/rel_notes/release_2_3.rst | 3 + > drivers/net/virtio/virtio_ethdev.c | 302 +-------- > drivers/net/virtio/virtio_ethdev.h | 3 +- > drivers/net/virtio/virtio_pci.c | 793 +++++++++++++++++++++++- > drivers/net/virtio/virtio_pci.h | 120 +++- > drivers/net/virtio/virtio_rxtx.c | 21 +- > drivers/net/virtio/virtio_rxtx_simple.c | 12 +- > drivers/net/virtio/virtqueue.h | 4 +- > lib/librte_eal/bsdapp/eal/eal_pci.c | 4 +- > lib/librte_eal/bsdapp/eal/rte_eal_version.map | 7 + > lib/librte_eal/common/eal_common_pci.c | 4 +- > lib/librte_eal/common/eal_private.h | 18 - > lib/librte_eal/common/include/rte_pci.h | 27 + > lib/librte_eal/linuxapp/eal/eal_pci.c | 4 +- > lib/librte_eal/linuxapp/eal/rte_eal_version.map | 7 + > 15 files changed, 949 insertions(+), 380 deletions(-) > Reviewed-by: Tetsuya Mukawa Tested-by: Tetsuya Mukawa