List patch comments

GET /api/patches/74458/comments/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Link: 
<https://patches.dpdk.org/api/patches/74458/comments/?format=api&page=1>; rel="first",
<https://patches.dpdk.org/api/patches/74458/comments/?format=api&page=1>; rel="last"
Vary: Accept
[ { "id": 116325, "web_url": "https://patches.dpdk.org/comment/116325/", "msgid": "<b9c25966-f934-e416-0c0a-4693929d37cd@redhat.com>", "list_archive_url": "https://inbox.dpdk.org/dev/b9c25966-f934-e416-0c0a-4693929d37cd@redhat.com", "date": "2020-07-20T16:39:31", "subject": "Re: [dpdk-dev] [PATCH v1] vhost: support cross page buf in async\n\tdata path", "submitter": { "id": 512, "url": "https://patches.dpdk.org/api/people/512/?format=api", "name": "Maxime Coquelin", "email": "maxime.coquelin@redhat.com" }, "content": "The title could be improved, it is not very clear IMHO.\n\nOn 7/20/20 4:52 AM, patrick.fu@intel.com wrote:\n> From: Patrick Fu <patrick.fu@intel.com>\n> \n> Async copy fails when ring buffer cross two physical pages. This patch\n> fix the failure by letting copies occur in sync mode if crossing page\n> buffers are given.\n\nWouldn't it be possible to have the buffer split into two iovecs?\n\n> Fixes: cd6760da1076 (\"vhost: introduce async enqueue for split ring\")\n> \n> Signed-off-by: Patrick Fu <patrick.fu@intel.com>\n> ---\n> lib/librte_vhost/virtio_net.c | 12 +++---------\n> 1 file changed, 3 insertions(+), 9 deletions(-)\n> \n> diff --git a/lib/librte_vhost/virtio_net.c b/lib/librte_vhost/virtio_net.c\n> index 1d0be3dd4..44b22a8ad 100644\n> --- a/lib/librte_vhost/virtio_net.c\n> +++ b/lib/librte_vhost/virtio_net.c\n> @@ -1071,16 +1071,10 @@ async_mbuf_to_desc(struct virtio_net *dev, struct vhost_virtqueue *vq,\n> \t\t}\n> \n> \t\tcpy_len = RTE_MIN(buf_avail, mbuf_avail);\n> +\t\thpa = (void *)(uintptr_t)gpa_to_hpa(dev,\n> +\t\t\t\tbuf_iova + buf_offset, cpy_len);\n> \n> -\t\tif (unlikely(cpy_len >= cpy_threshold)) {\n> -\t\t\thpa = (void *)(uintptr_t)gpa_to_hpa(dev,\n> -\t\t\t\t\tbuf_iova + buf_offset, cpy_len);\n> -\n> -\t\t\tif (unlikely(!hpa)) {\n> -\t\t\t\terror = -1;\n> -\t\t\t\tgoto out;\n> -\t\t\t}\n> -\n> +\t\tif (unlikely(cpy_len >= cpy_threshold && hpa)) {\n> \t\t\tasync_fill_vec(src_iovec + tvec_idx,\n> \t\t\t\t(void *)(uintptr_t)rte_pktmbuf_iova_offset(m,\n> \t\t\t\t\t\tmbuf_offset), cpy_len);\n>", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id B0D62A0527;\n\tMon, 20 Jul 2020 18:39:39 +0200 (CEST)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 8F8781BFBC;\n\tMon, 20 Jul 2020 18:39:39 +0200 (CEST)", "from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com\n [207.211.31.120]) by dpdk.org (Postfix) with ESMTP id B72261BFBD\n for <dev@dpdk.org>; Mon, 20 Jul 2020 18:39:37 +0200 (CEST)", "from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com\n [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id\n us-mta-503-DYq8DqHIPFixaPEGiLaDYg-1; Mon, 20 Jul 2020 12:39:35 -0400", "from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com\n [10.5.11.23])\n (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n (No client certificate requested)\n by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 2F2E41085;\n Mon, 20 Jul 2020 16:39:34 +0000 (UTC)", "from [10.36.110.35] (unknown [10.36.110.35])\n by smtp.corp.redhat.com (Postfix) with ESMTPS id 4BDD519C58;\n Mon, 20 Jul 2020 16:39:33 +0000 (UTC)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1595263177;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:mime-version:mime-version:content-type:content-type:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;\n bh=sn6JEa6lFAeZJ7BlatJ1qOPd20YcNm7FtkndmwbXC2I=;\n b=RJp6yW3jB89izbiwpRPf/8DEE9umYXAG6UD79DQKKy/IaLux+9meCy2Qv0fWDhAiReMZpm\n lTPhdQR8vRysx8NtK1qdexKgXhuGvh+NsPHDV60/b9Fz+GCFAlsx53+WKxfwjdiHqrd7op\n RGPsJDGr7nhdetff1eWKS3J7LkgXpf0=", "X-MC-Unique": "DYq8DqHIPFixaPEGiLaDYg-1", "To": "patrick.fu@intel.com, dev@dpdk.org, chenbo.xia@intel.com", "References": "<20200720025242.3066787-1-patrick.fu@intel.com>", "From": "Maxime Coquelin <maxime.coquelin@redhat.com>", "Autocrypt": "addr=maxime.coquelin@redhat.com; keydata=\n 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\n Mwqu3GQ=", "Message-ID": "<b9c25966-f934-e416-0c0a-4693929d37cd@redhat.com>", "Date": "Mon, 20 Jul 2020 18:39:31 +0200", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101\n Thunderbird/68.9.0", "MIME-Version": "1.0", "In-Reply-To": "<20200720025242.3066787-1-patrick.fu@intel.com>", "Content-Language": "en-US", "X-Scanned-By": "MIMEDefang 2.84 on 10.5.11.23", "X-Mimecast-Spam-Score": "0", "X-Mimecast-Originator": "redhat.com", "Content-Type": "text/plain; charset=utf-8", "Content-Transfer-Encoding": "7bit", "Subject": "Re: [dpdk-dev] [PATCH v1] vhost: support cross page buf in async\n\tdata path", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "addressed": null }, { "id": 116353, "web_url": "https://patches.dpdk.org/comment/116353/", "msgid": "<BYAPR11MB37355A9E0699BD06D75E2E3284780@BYAPR11MB3735.namprd11.prod.outlook.com>", "list_archive_url": "https://inbox.dpdk.org/dev/BYAPR11MB37355A9E0699BD06D75E2E3284780@BYAPR11MB3735.namprd11.prod.outlook.com", "date": "2020-07-21T02:57:36", "subject": "Re: [dpdk-dev] [PATCH v1] vhost: support cross page buf in async\n\tdata path", "submitter": { "id": 1781, "url": "https://patches.dpdk.org/api/people/1781/?format=api", "name": "Patrick Fu", "email": "patrick.fu@intel.com" }, "content": "Hi Maxime,\n\n> -----Original Message-----\n> From: Maxime Coquelin <maxime.coquelin@redhat.com>\n> Sent: Tuesday, July 21, 2020 12:40 AM\n> To: Fu, Patrick <patrick.fu@intel.com>; dev@dpdk.org; Xia, Chenbo\n> <chenbo.xia@intel.com>\n> Subject: Re: [PATCH v1] vhost: support cross page buf in async data path\n> \n> The title could be improved, it is not very clear IMHO.\nHow about: \nvhost: fix async copy failure on buffers cross page boundary\n\n> On 7/20/20 4:52 AM, patrick.fu@intel.com wrote:\n> > From: Patrick Fu <patrick.fu@intel.com>\n> >\n> > Async copy fails when ring buffer cross two physical pages. This patch\n> > fix the failure by letting copies occur in sync mode if crossing page\n> > buffers are given.\n> \n> Wouldn't it be possible to have the buffer split into two iovecs?\nTechnically we can do that, however, it will also introduce significant overhead:\n - overhead from adding additional logic in vhost async data path to handle the case\n - overhead from dma device to consume 2 iovecs\nIn average, I don't think dma copy can benefit too much for the buffer which are split into multiple pages. \nCPU copy shall be a more suitable method.\n\n \n> > Fixes: cd6760da1076 (\"vhost: introduce async enqueue for split ring\")\n> >\n> > Signed-off-by: Patrick Fu <patrick.fu@intel.com>\n> > ---\n> > lib/librte_vhost/virtio_net.c | 12 +++---------\n> > 1 file changed, 3 insertions(+), 9 deletions(-)\n> >\n> > diff --git a/lib/librte_vhost/virtio_net.c\n> > b/lib/librte_vhost/virtio_net.c index 1d0be3dd4..44b22a8ad 100644\n> > --- a/lib/librte_vhost/virtio_net.c\n> > +++ b/lib/librte_vhost/virtio_net.c\n> > @@ -1071,16 +1071,10 @@ async_mbuf_to_desc(struct virtio_net *dev,\n> struct vhost_virtqueue *vq,\n> > \t\t}\n> >\n> > \t\tcpy_len = RTE_MIN(buf_avail, mbuf_avail);\n> > +\t\thpa = (void *)(uintptr_t)gpa_to_hpa(dev,\n> > +\t\t\t\tbuf_iova + buf_offset, cpy_len);\n> >\n> > -\t\tif (unlikely(cpy_len >= cpy_threshold)) {\n> > -\t\t\thpa = (void *)(uintptr_t)gpa_to_hpa(dev,\n> > -\t\t\t\t\tbuf_iova + buf_offset, cpy_len);\n> > -\n> > -\t\t\tif (unlikely(!hpa)) {\n> > -\t\t\t\terror = -1;\n> > -\t\t\t\tgoto out;\n> > -\t\t\t}\n> > -\n> > +\t\tif (unlikely(cpy_len >= cpy_threshold && hpa)) {\n> > \t\t\tasync_fill_vec(src_iovec + tvec_idx,\n> > \t\t\t\t(void *)(uintptr_t)rte_pktmbuf_iova_offset(m,\n> > \t\t\t\t\t\tmbuf_offset), cpy_len);\n> >", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 37016A0526;\n\tTue, 21 Jul 2020 04:57:44 +0200 (CEST)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id E38DA1BFD4;\n\tTue, 21 Jul 2020 04:57:42 +0200 (CEST)", "from mga01.intel.com (mga01.intel.com [192.55.52.88])\n by dpdk.org (Postfix) with ESMTP id 8AE5F1BFCD\n for <dev@dpdk.org>; Tue, 21 Jul 2020 04:57:40 +0200 (CEST)", "from fmsmga006.fm.intel.com ([10.253.24.20])\n by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 20 Jul 2020 19:57:39 -0700", "from orsmsx601.amr.corp.intel.com ([10.22.229.14])\n by fmsmga006.fm.intel.com with ESMTP; 20 Jul 2020 19:57:39 -0700", "from orsmsx601.amr.corp.intel.com (10.22.229.14) by\n ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id\n 15.1.1713.5; Mon, 20 Jul 2020 19:57:38 -0700", "from ORSEDG002.ED.cps.intel.com (10.7.248.5) by\n orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5\n via Frontend Transport; Mon, 20 Jul 2020 19:57:38 -0700", "from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.48) by\n edgegateway.intel.com (134.134.137.101) with Microsoft SMTP Server\n (TLS) id 14.3.439.0; Mon, 20 Jul 2020 19:57:37 -0700", "from BYAPR11MB3735.namprd11.prod.outlook.com (2603:10b6:a03:b4::31)\n by BYAPR11MB3527.namprd11.prod.outlook.com (2603:10b6:a03:8b::26)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3195.25; Tue, 21 Jul\n 2020 02:57:37 +0000", "from BYAPR11MB3735.namprd11.prod.outlook.com\n ([fe80::2571:24e3:140b:d78c]) by BYAPR11MB3735.namprd11.prod.outlook.com\n ([fe80::2571:24e3:140b:d78c%7]) with mapi id 15.20.3195.025; Tue, 21 Jul 2020\n 02:57:36 +0000" ], "IronPort-SDR": [ "\n Eut9OBTq/t6ofaEvVJid2Wt71NmeCnnb3W5pDV0rO+LuudYZmK4kAGhLGM7MeRCzVZ2r7pUgGF\n 70DVUF0pKChw==", "\n ifIaz2SOAo8T1iT4jxGEOaTnSFUwWkVQuYFTvJJptyOZIdRGa+xYe1YQZaYeUDAT9jFcqEmFos\n OpH46h8jkqKA==" ], "X-IronPort-AV": [ "E=McAfee;i=\"6000,8403,9688\"; a=\"168192354\"", "E=Sophos;i=\"5.75,377,1589266800\"; d=\"scan'208\";a=\"168192354\"", "E=Sophos;i=\"5.75,377,1589266800\"; d=\"scan'208\";a=\"487458000\"" ], "X-Amp-Result": "SKIPPED(no attachment in message)", "X-Amp-File-Uploaded": "False", "X-ExtLoop1": "1", "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=LuURSh1kU+aHWgfCqGa6IW5qORWzdkZ0BghR8A4EicyVQM+GmKad8OXWSN77XHWRtrLvZbcsIHOx4x7iAkF/RdOv+sf+HEkY9Cv43OGpLe+SMmvGFafCbyGEY/1JtJqKdRFRdYpESMRk0U/cBVPKk8ZYS0TYmLuZKmwsiYOkjv8+DR86Pa/znujMnqgPsjs+VCD10REEr1fq/1L4rPOC+d+/IqkbbjYOK1U1/PbGIToWTsiAPYaDP3U3b0Smfnn80bjZ4uW3Upt8iwM45ANogFI8qO4Dc9csbamFiymb7Mfk/97e4n6oJsPkT2lgQgcaKwz9cyrMBUZPxrilw7eu3Q==", "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=VZf50qIqpjlvKwafA9ileX7O43DiZWbcWipvN0ytgeo=;\n b=iD9vKtn12mUPqG36ExPFnta3pQf+rGe8f7f+FSoQhypL2NdkppCE6NS8icBb+p4zzm3+X7Cv7CkXzJGMlUkLQ68cgvatilEdH/ko3+rzZNObtGnIBXi1wU0u1No6tHZlLOOoNn8drF4VjFCRmMqTXtG8CVZDkGhLDb8qgOOAoX+zt2+M/mmxC64DB2O9z/KbvwGkbdfqb67drWNPjMPRrcBHOs/14wjFVHCG1hOczpE5NJYoH6VQQ++s+Di0+uOnGuavU3Tia04fGNonDG43tUvq66HkQqvSrfpVoXqh3iHUZw/JQpiNYoA4j6AJY8489pu/ID3v6TOJJLMGjsjwgg==", "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;\n dkim=pass header.d=intel.com; arc=none", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com;\n s=selector2-intel-onmicrosoft-com;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=VZf50qIqpjlvKwafA9ileX7O43DiZWbcWipvN0ytgeo=;\n b=eFQDEj4oNPbqZAOXSwXULLzoPIbLKAjSOtGmeaMuzzIzf1RN9heykKzFWjasMxJeKDXyv7vNhkK1iKI3EAo5en76PksS2iVgN5SU8mcfGzuvmdpnr6aXlVVPpDH2A3q5CP4ot6pSd2UnhFIsZ6Uq40SWblrUFCMZDgMmC6anGSY=", "From": "\"Fu, Patrick\" <patrick.fu@intel.com>", "To": "Maxime Coquelin <maxime.coquelin@redhat.com>, \"dev@dpdk.org\"\n <dev@dpdk.org>, \"Xia, Chenbo\" <chenbo.xia@intel.com>", "Thread-Topic": "[PATCH v1] vhost: support cross page buf in async data path", "Thread-Index": "AQHWXkEdpJTLTsUq0EyV3p7ez+MZBKkQrCyAgACnOLA=", "Date": "Tue, 21 Jul 2020 02:57:36 +0000", "Message-ID": "\n <BYAPR11MB37355A9E0699BD06D75E2E3284780@BYAPR11MB3735.namprd11.prod.outlook.com>", "References": "<20200720025242.3066787-1-patrick.fu@intel.com>\n <b9c25966-f934-e416-0c0a-4693929d37cd@redhat.com>", "In-Reply-To": "<b9c25966-f934-e416-0c0a-4693929d37cd@redhat.com>", "Accept-Language": "en-US", "Content-Language": "en-US", "X-MS-Has-Attach": "", "X-MS-TNEF-Correlator": "", "dlp-version": "11.2.0.6", "dlp-product": "dlpe-windows", "dlp-reaction": "no-action", "authentication-results": "redhat.com; dkim=none (message not signed)\n header.d=none;redhat.com; dmarc=none action=none header.from=intel.com;", "x-originating-ip": "[192.198.147.200]", "x-ms-publictraffictype": "Email", "x-ms-office365-filtering-correlation-id": "e953d0c8-c487-46c9-23a2-08d82d21d2fd", "x-ms-traffictypediagnostic": "BYAPR11MB3527:", "x-ms-exchange-transport-forked": "True", "x-microsoft-antispam-prvs": "\n <BYAPR11MB3527F0CE459642AAEC7B092684780@BYAPR11MB3527.namprd11.prod.outlook.com>", "x-ms-oob-tlc-oobclassifiers": "OLM:6790;", "x-ms-exchange-senderadcheck": "1", "x-microsoft-antispam": "BCL:0;", "x-microsoft-antispam-message-info": "\n cO0Ga1ulVmv3128gItkycup2qzy/6UW1SjdEqBck6Xlzc6YsSOK/ziIfPDuGNSCvlE0nbB5XGpgzL6qvk2g4d5/Ib+9ZbGKvxh/M48hArnulLzRS/VpftJl9NVxZSnGjoCk8kcBvH/hqmYSTUXBl8DJCHAHE3ZcC9esmPOohGnAD8UkUxvfJDGe1DR8gKpnjCXOVWnLK9pErhSV2gHZf/q3l1BaazsGQOQ2r6xEuaiefXXR0ejcJ5Azii6qQhEMvLVOVnpxkwMghturWWsLWwm/u3LcK5y73TGIRgqkYQUG1/sZuV55t8+vdBxrok+7duKVcRC8+1gQVBP7GOtFceg==", "x-forefront-antispam-report": "CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:BYAPR11MB3735.namprd11.prod.outlook.com; PTR:; CAT:NONE;\n SFTY:;\n SFS:(4636009)(366004)(136003)(396003)(376002)(39860400002)(346002)(5660300002)(6636002)(7696005)(71200400001)(2906002)(478600001)(83380400001)(186003)(52536014)(76116006)(66946007)(86362001)(33656002)(66476007)(66556008)(64756008)(66446008)(8936002)(26005)(6506007)(53546011)(316002)(55016002)(9686003)(110136005)(8676002);\n DIR:OUT; SFP:1102;", "x-ms-exchange-antispam-messagedata": "\n F0QDhQwGa2GZ4O5yuyvGzl0/0q/YGmhj6O8MlfiyS/SIXoKuH3MhdjIwmm2NOZT/OO7N5JVpbj/Ev+/bNXv5gTvFemnFdwTZ3X60NKnLqQK/KyAnRXZjGrzDt8CJfD5W6b1GEtUv5e4aF9d4OE8eCsJLVYe3KphSDAOuL+KY7DrBJJ3M1NeV6S6L3dUbYW+JC9S/iQAR8raR/Qsnve9KvD+zZquBZZCci8L6siojjzpjFsBpXRdTkf59YgwSfGNv+vd9ibclVklRaGVlkNdHnZ6v4D69e+rlGf4jXzFK82rDsrm6IESItSZ3/HEr22AgLmkLqAjrkRDS8l/VBCAVeb4hM/NHrJlZmLFaCt8W5YiS2F5kD9Ie79DmuLYUMzZCiKYbJntCjLk+v+f2MuUxirx/IljAkkLGzlNVfNqzpYaItMPODlr4/fnV9OvzXmaC+3diq2umXSdEOcoi5p32lWlGamjJeipntkbIl3m+ap7s6aSSjEPllMkrT0gNQ68z", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "base64", "MIME-Version": "1.0", "X-MS-Exchange-CrossTenant-AuthAs": "Internal", "X-MS-Exchange-CrossTenant-AuthSource": "BYAPR11MB3735.namprd11.prod.outlook.com", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n e953d0c8-c487-46c9-23a2-08d82d21d2fd", "X-MS-Exchange-CrossTenant-originalarrivaltime": "21 Jul 2020 02:57:36.9191 (UTC)", "X-MS-Exchange-CrossTenant-fromentityheader": "Hosted", "X-MS-Exchange-CrossTenant-id": "46c98d88-e344-4ed4-8496-4ed7712e255d", "X-MS-Exchange-CrossTenant-mailboxtype": "HOSTED", "X-MS-Exchange-CrossTenant-userprincipalname": "\n Fiu9gkogqy+DCL+HNv8BnU5mKeqvf14czpCRoDg5ss/RqkSUvkVwb5WHqOvWNk2i9tUuniC+bM7Y+AoIaDMIwQ==", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "BYAPR11MB3527", "X-OriginatorOrg": "intel.com", "Subject": "Re: [dpdk-dev] [PATCH v1] vhost: support cross page buf in async\n\tdata path", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "addressed": null }, { "id": 116384, "web_url": "https://patches.dpdk.org/comment/116384/", "msgid": "<a5601ef6-b869-50b7-8897-0038c160be37@redhat.com>", "list_archive_url": "https://inbox.dpdk.org/dev/a5601ef6-b869-50b7-8897-0038c160be37@redhat.com", "date": "2020-07-21T08:35:24", "subject": "Re: [dpdk-dev] [PATCH v1] vhost: support cross page buf in async\n\tdata path", "submitter": { "id": 512, "url": "https://patches.dpdk.org/api/people/512/?format=api", "name": "Maxime Coquelin", "email": "maxime.coquelin@redhat.com" }, "content": "Hi Patrick,\n\nOn 7/21/20 4:57 AM, Fu, Patrick wrote:\n> Hi Maxime,\n> \n>> -----Original Message-----\n>> From: Maxime Coquelin <maxime.coquelin@redhat.com>\n>> Sent: Tuesday, July 21, 2020 12:40 AM\n>> To: Fu, Patrick <patrick.fu@intel.com>; dev@dpdk.org; Xia, Chenbo\n>> <chenbo.xia@intel.com>\n>> Subject: Re: [PATCH v1] vhost: support cross page buf in async data path\n>>\n>> The title could be improved, it is not very clear IMHO.\n> How about: \n> vhost: fix async copy failure on buffers cross page boundary\n> \n>> On 7/20/20 4:52 AM, patrick.fu@intel.com wrote:\n>>> From: Patrick Fu <patrick.fu@intel.com>\n>>>\n>>> Async copy fails when ring buffer cross two physical pages. This patch\n>>> fix the failure by letting copies occur in sync mode if crossing page\n>>> buffers are given.\n>>\n>> Wouldn't it be possible to have the buffer split into two iovecs?\n> Technically we can do that, however, it will also introduce significant overhead:\n> - overhead from adding additional logic in vhost async data path to handle the case\n> - overhead from dma device to consume 2 iovecs\n> In average, I don't think dma copy can benefit too much for the buffer which are split into multiple pages. \n> CPU copy shall be a more suitable method.\n\nI think we should try, that would make a cleaner implementation. I don't\nthink having to fallback to sync mode is a good idea because it adds an\noverhead on the CPU, which is what we try to avoid with this async mode.\n\nAlso, I am not convinced the overhead would be that significant, at\nleast I hope so, otherwise it would mean this new path is just\nperforming better because it takes a lot of shortcuts, like the vector\npath in Virtio PMD.\n\nRegards,\nMaxime\n\n> \n>>> Fixes: cd6760da1076 (\"vhost: introduce async enqueue for split ring\")\n>>>\n>>> Signed-off-by: Patrick Fu <patrick.fu@intel.com>\n>>> ---\n>>> lib/librte_vhost/virtio_net.c | 12 +++---------\n>>> 1 file changed, 3 insertions(+), 9 deletions(-)\n>>>\n>>> diff --git a/lib/librte_vhost/virtio_net.c\n>>> b/lib/librte_vhost/virtio_net.c index 1d0be3dd4..44b22a8ad 100644\n>>> --- a/lib/librte_vhost/virtio_net.c\n>>> +++ b/lib/librte_vhost/virtio_net.c\n>>> @@ -1071,16 +1071,10 @@ async_mbuf_to_desc(struct virtio_net *dev,\n>> struct vhost_virtqueue *vq,\n>>> \t\t}\n>>>\n>>> \t\tcpy_len = RTE_MIN(buf_avail, mbuf_avail);\n>>> +\t\thpa = (void *)(uintptr_t)gpa_to_hpa(dev,\n>>> +\t\t\t\tbuf_iova + buf_offset, cpy_len);\n>>>\n>>> -\t\tif (unlikely(cpy_len >= cpy_threshold)) {\n>>> -\t\t\thpa = (void *)(uintptr_t)gpa_to_hpa(dev,\n>>> -\t\t\t\t\tbuf_iova + buf_offset, cpy_len);\n>>> -\n>>> -\t\t\tif (unlikely(!hpa)) {\n>>> -\t\t\t\terror = -1;\n>>> -\t\t\t\tgoto out;\n>>> -\t\t\t}\n>>> -\n>>> +\t\tif (unlikely(cpy_len >= cpy_threshold && hpa)) {\n>>> \t\t\tasync_fill_vec(src_iovec + tvec_idx,\n>>> \t\t\t\t(void *)(uintptr_t)rte_pktmbuf_iova_offset(m,\n>>> \t\t\t\t\t\tmbuf_offset), cpy_len);\n>>>\n>", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 7AC21A0526;\n\tTue, 21 Jul 2020 10:35:34 +0200 (CEST)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 29DC01BFBA;\n\tTue, 21 Jul 2020 10:35:33 +0200 (CEST)", "from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com\n [207.211.31.120]) by dpdk.org (Postfix) with ESMTP id 500811BFE4\n for <dev@dpdk.org>; Tue, 21 Jul 2020 10:35:31 +0200 (CEST)", "from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com\n [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id\n us-mta-285-SelIqK61ORepKT64GUWeAg-1; Tue, 21 Jul 2020 04:35:28 -0400", "from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com\n [10.5.11.16])\n (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n (No client certificate requested)\n by mimecast-mx01.redhat.com (Postfix) with ESMTPS id D06F6107ACCA;\n Tue, 21 Jul 2020 08:35:27 +0000 (UTC)", "from [10.36.110.35] (unknown [10.36.110.35])\n by smtp.corp.redhat.com (Postfix) with ESMTPS id 68EC35C3F8;\n Tue, 21 Jul 2020 08:35:26 +0000 (UTC)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1595320530;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:mime-version:mime-version:content-type:content-type:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;\n bh=CJvBfLEdsGeZBvhppxx455nERVhBOG55h5O080t1aCw=;\n b=QMHDRmoz8aGBIVrcqDzrzwaYRm8ZTMODy3IRC1i94PK0h6Wk51ozD9DFKPTkysw8xwvI7z\n +vVOtk48rzezGtOuLaBs+Hc+9PRqP5cWDg3Ai98cNgmSREz8R/LxJQh7LtKTGxxy7NaJKa\n qHxfG6rRtoMn5N+O1fxO8B24QW4Vavg=", "X-MC-Unique": "SelIqK61ORepKT64GUWeAg-1", "To": "\"Fu, Patrick\" <patrick.fu@intel.com>, \"dev@dpdk.org\" <dev@dpdk.org>,\n \"Xia, Chenbo\" <chenbo.xia@intel.com>", "References": "<20200720025242.3066787-1-patrick.fu@intel.com>\n <b9c25966-f934-e416-0c0a-4693929d37cd@redhat.com>\n <BYAPR11MB37355A9E0699BD06D75E2E3284780@BYAPR11MB3735.namprd11.prod.outlook.com>", "From": "Maxime Coquelin <maxime.coquelin@redhat.com>", "Autocrypt": "addr=maxime.coquelin@redhat.com; keydata=\n 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\n Mwqu3GQ=", "Message-ID": "<a5601ef6-b869-50b7-8897-0038c160be37@redhat.com>", "Date": "Tue, 21 Jul 2020 10:35:24 +0200", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101\n Thunderbird/68.9.0", "MIME-Version": "1.0", "In-Reply-To": "\n <BYAPR11MB37355A9E0699BD06D75E2E3284780@BYAPR11MB3735.namprd11.prod.outlook.com>", "Content-Language": "en-US", "X-Scanned-By": "MIMEDefang 2.79 on 10.5.11.16", "X-Mimecast-Spam-Score": "0", "X-Mimecast-Originator": "redhat.com", "Content-Type": "text/plain; charset=utf-8", "Content-Transfer-Encoding": "8bit", "Subject": "Re: [dpdk-dev] [PATCH v1] vhost: support cross page buf in async\n\tdata path", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "addressed": null }, { "id": 116394, "web_url": "https://patches.dpdk.org/comment/116394/", "msgid": "<MN2PR11MB37442FFA3DE4B8360660122084780@MN2PR11MB3744.namprd11.prod.outlook.com>", "list_archive_url": "https://inbox.dpdk.org/dev/MN2PR11MB37442FFA3DE4B8360660122084780@MN2PR11MB3744.namprd11.prod.outlook.com", "date": "2020-07-21T09:01:07", "subject": "Re: [dpdk-dev] [PATCH v1] vhost: support cross page buf in async\n\tdata path", "submitter": { "id": 1781, "url": "https://patches.dpdk.org/api/people/1781/?format=api", "name": "Patrick Fu", "email": "patrick.fu@intel.com" }, "content": "Hi Maxime,\n\n> -----Original Message-----\n> From: Maxime Coquelin <maxime.coquelin@redhat.com>\n> Sent: Tuesday, July 21, 2020 4:35 PM\n> To: Fu, Patrick <patrick.fu@intel.com>; dev@dpdk.org; Xia, Chenbo\n> <chenbo.xia@intel.com>\n> Subject: Re: [PATCH v1] vhost: support cross page buf in async data path\n> \n> Hi Patrick,\n> \n> On 7/21/20 4:57 AM, Fu, Patrick wrote:\n> > Hi Maxime,\n> >\n> >> -----Original Message-----\n> >> From: Maxime Coquelin <maxime.coquelin@redhat.com>\n> >> Sent: Tuesday, July 21, 2020 12:40 AM\n> >> To: Fu, Patrick <patrick.fu@intel.com>; dev@dpdk.org; Xia, Chenbo\n> >> <chenbo.xia@intel.com>\n> >> Subject: Re: [PATCH v1] vhost: support cross page buf in async data\n> >> path\n> >>\n> >> The title could be improved, it is not very clear IMHO.\n> > How about:\n> > vhost: fix async copy failure on buffers cross page boundary\n> >\n> >> On 7/20/20 4:52 AM, patrick.fu@intel.com wrote:\n> >>> From: Patrick Fu <patrick.fu@intel.com>\n> >>>\n> >>> Async copy fails when ring buffer cross two physical pages. This\n> >>> patch fix the failure by letting copies occur in sync mode if\n> >>> crossing page buffers are given.\n> >>\n> >> Wouldn't it be possible to have the buffer split into two iovecs?\n> > Technically we can do that, however, it will also introduce significant\n> overhead:\n> > - overhead from adding additional logic in vhost async data path to\n> > handle the case\n> > - overhead from dma device to consume 2 iovecs In average, I don't\n> > think dma copy can benefit too much for the buffer which are split into\n> multiple pages.\n> > CPU copy shall be a more suitable method.\n> \n> I think we should try, that would make a cleaner implementation. I don't\n> think having to fallback to sync mode is a good idea because it adds an\n> overhead on the CPU, which is what we try to avoid with this async mode.\n> \n> Also, I am not convinced the overhead would be that significant, at least I\n> hope so, otherwise it would mean this new path is just performing better\n> because it takes a lot of shortcuts, like the vector path in Virtio PMD.\n\nI can make a trial patch and do some comparison. I will try to feedback the result by this weekend.\n\nThanks,\n\nPatrick", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 7304FA0526;\n\tTue, 21 Jul 2020 11:01:30 +0200 (CEST)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 5AF881BFE5;\n\tTue, 21 Jul 2020 11:01:30 +0200 (CEST)", "from mga04.intel.com (mga04.intel.com [192.55.52.120])\n by dpdk.org (Postfix) with ESMTP id 670341BFBA\n for <dev@dpdk.org>; Tue, 21 Jul 2020 11:01:28 +0200 (CEST)", "from orsmga004.jf.intel.com ([10.7.209.38])\n by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 21 Jul 2020 02:01:10 -0700", "from fmsmsx103.amr.corp.intel.com ([10.18.124.201])\n by orsmga004.jf.intel.com with ESMTP; 21 Jul 2020 02:01:09 -0700", "from fmsmsx126.amr.corp.intel.com (10.18.125.43) by\n FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS)\n id 14.3.439.0; Tue, 21 Jul 2020 02:01:09 -0700", "from FMSEDG001.ED.cps.intel.com (10.1.192.133) by\n FMSMSX126.amr.corp.intel.com (10.18.125.43) with Microsoft SMTP Server (TLS)\n id 14.3.439.0; Tue, 21 Jul 2020 02:01:09 -0700", "from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.172)\n by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (TLS) id\n 14.3.439.0; Tue, 21 Jul 2020 02:01:09 -0700", "from MN2PR11MB3744.namprd11.prod.outlook.com (2603:10b6:208:f5::18)\n by MN2PR11MB3664.namprd11.prod.outlook.com (2603:10b6:208:f1::12)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3195.23; Tue, 21 Jul\n 2020 09:01:07 +0000", "from MN2PR11MB3744.namprd11.prod.outlook.com\n ([fe80::194c:ebf1:5b43:d2cb]) by MN2PR11MB3744.namprd11.prod.outlook.com\n ([fe80::194c:ebf1:5b43:d2cb%5]) with mapi id 15.20.3195.025; Tue, 21 Jul 2020\n 09:01:07 +0000" ], "IronPort-SDR": [ "\n P/T9S817Jsr7cql+dwZ8PAYqX+oxJKnHvaqh2a7cWhmpLAVkUrc3MHe4qdyIaGWw1v51lmO4zg\n fRYErypb284w==", "\n OWaRpyCYxYqZkLBtgWte9c0NuFBv1pkEe2EJU9RP8vMfI44xRkgQn32rzJHwAea73rSPc+04ql\n amN4/2kv4jIA==" ], "X-IronPort-AV": [ "E=McAfee;i=\"6000,8403,9688\"; a=\"147591848\"", "E=Sophos;i=\"5.75,378,1589266800\"; d=\"scan'208\";a=\"147591848\"", "E=Sophos;i=\"5.75,378,1589266800\"; d=\"scan'208\";a=\"431913719\"" ], "X-Amp-Result": "SKIPPED(no attachment in message)", "X-Amp-File-Uploaded": "False", "X-ExtLoop1": "1", "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=U/MWbLX97+Q7+VK7jP4/wNETe5OO5ihLNvPn+MwsMlwx0XsHFJVEk5eQik/GzJfLgAsfQskxiBkEeRs2YjUiwND8x3M+uG3tITg5/l1opqsi3r+hUAF7vrCoLNc05JaiCjDvEa4uX8tUFU4fA0U/KRJrM//pIbnWsD8RfEbtbb/wzPe6y38E/sNmbhrOjFWOewLBnmTR21e1wDzM3fQT7aL6bwgIq0odhMgeNiJZkpaED2JyrZTFtj47T88TcD0tSDQphCOLpUU3MIoCoSyywwsSG4UOWTxf7swEe1TdzSHV1DRaz7WHPbB4NxDTZKh3f16uVJOW8rNQl4hE5C7D5A==", "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=xvryxwSQDQ4Ay0ePqpEaaT/K5gDyt2QLKV5Box5nawU=;\n b=WNd3ZPYDLxLev0IQCTULL6wUru1tyDtyRJv2k3SAVp1Y04PTUKzeoFRzACgYf7JaRTiHYUScrQ+Au0RiSI+npvG77WllO8AztWrqXBWcKysQOQEN+UM5sJh1RA1pGqZ9eDM95+hpra61E4JZ31iCLEQ8IknDzQbC5mJv3ruGb+YkLrxGvuTfA4hOscd1NUmH8WoXlGibD/+KWKS3JPwCAszKzctWk99pDkTiNdJSjqzuOhMjeV3Og69zbk8+jcF0isJV0Gaxvp1EpqbB7yzdIWmLpsEQnkwthZXw8GNXZfgJIsNZRSOYKujutWLC28lHF6hYD/zNa4Fj1fP4M9WGlQ==", "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;\n dkim=pass header.d=intel.com; arc=none", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com;\n s=selector2-intel-onmicrosoft-com;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=xvryxwSQDQ4Ay0ePqpEaaT/K5gDyt2QLKV5Box5nawU=;\n b=jA7lIzyufv59QkLkizzP0FPIAzxFrPq2nbDSxoC6hyP5/MnyKY9/HbjFtxBnlCsvixxmLX9PN0e3q6n8mN0+MFlbrGP1Dpu9iqe5cjiS7tk2W7+JONsngq4utFxBe2CxQHcdmQ9TdM/bnJ97lMBqriK1hUIoHGeCz4Ei7G6aKl4=", "From": "\"Fu, Patrick\" <patrick.fu@intel.com>", "To": "Maxime Coquelin <maxime.coquelin@redhat.com>, \"dev@dpdk.org\"\n <dev@dpdk.org>, \"Xia, Chenbo\" <chenbo.xia@intel.com>", "Thread-Topic": "[PATCH v1] vhost: support cross page buf in async data path", "Thread-Index": "AQHWXkEdpJTLTsUq0EyV3p7ez+MZBKkQrCyAgACnOLCAAGPaAIAABaFw", "Date": "Tue, 21 Jul 2020 09:01:07 +0000", "Message-ID": "\n <MN2PR11MB37442FFA3DE4B8360660122084780@MN2PR11MB3744.namprd11.prod.outlook.com>", "References": "<20200720025242.3066787-1-patrick.fu@intel.com>\n <b9c25966-f934-e416-0c0a-4693929d37cd@redhat.com>\n <BYAPR11MB37355A9E0699BD06D75E2E3284780@BYAPR11MB3735.namprd11.prod.outlook.com>\n <a5601ef6-b869-50b7-8897-0038c160be37@redhat.com>", "In-Reply-To": "<a5601ef6-b869-50b7-8897-0038c160be37@redhat.com>", "Accept-Language": "en-US", "Content-Language": "en-US", "X-MS-Has-Attach": "", "X-MS-TNEF-Correlator": "", "dlp-version": "11.2.0.6", "dlp-product": "dlpe-windows", "dlp-reaction": "no-action", "authentication-results": "redhat.com; dkim=none (message not signed)\n header.d=none;redhat.com; dmarc=none action=none header.from=intel.com;", "x-originating-ip": "[192.198.147.200]", "x-ms-publictraffictype": "Email", "x-ms-office365-filtering-correlation-id": "77b2c65a-0a1e-4cbb-5f03-08d82d549b3f", "x-ms-traffictypediagnostic": "MN2PR11MB3664:", "x-ms-exchange-transport-forked": "True", "x-microsoft-antispam-prvs": "\n <MN2PR11MB3664BFF25B717E19C5ED9DF584780@MN2PR11MB3664.namprd11.prod.outlook.com>", "x-ms-oob-tlc-oobclassifiers": "OLM:9508;", "x-ms-exchange-senderadcheck": "1", "x-microsoft-antispam": "BCL:0;", "x-microsoft-antispam-message-info": "\n ngCas7QjwZxwo2neONu8E3dep8sUGKL/HnvMYHkTQd+sI9p+/dxnFjJMgXxtfCn1jvdtdW9g0tXFL7SpMBIVZapXmb8DD1d2Kfx7SQpHGynDHkCIUINpq7OY34tToNtPsXIVMw1ksS5ztZifldJ1JV07SeRLlpknJxTkfcA2ZuyyYSazWATmUMeLJ8KTznciSIISbKw7dvJt3ijKTFfRI/iTKPq9GlwXR5JKh90oKq6+uKRYm9B1V8FU5KmMYXr4A41BMfpR5xO+D3BaSRgVA5EZwoWKv0HHX5No1iS5CdGbbxnHVcbjZqIi7YDR3qIBNBXVfPswqeCiDXTgjttzXA==", "x-forefront-antispam-report": "CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:MN2PR11MB3744.namprd11.prod.outlook.com; PTR:; CAT:NONE;\n SFTY:;\n SFS:(4636009)(396003)(376002)(39860400002)(366004)(346002)(136003)(52536014)(2906002)(7696005)(55016002)(9686003)(8676002)(316002)(5660300002)(83380400001)(478600001)(110136005)(33656002)(53546011)(86362001)(66556008)(6636002)(26005)(8936002)(6506007)(186003)(66946007)(66476007)(64756008)(71200400001)(76116006)(66446008);\n DIR:OUT; SFP:1102;", "x-ms-exchange-antispam-messagedata": "\n vVqasQOzWyLdGDccKnNXV/YbHOOoomj+BLufITzdPBmHU/yfmFNMtA19yZpslR14g4qIRGdm9+TRGtDlGzieWmgnHU4ttbkZ1QBItf5DSIofKu9ctqa/j5BkF8KsimOaFd6LcF+FZT9xj+KdnBe+/n/59KZPmtBlwvx+ID7xdlQPyXR3oAkJo4cMD0tRkTWLEsjoKEwtqDmNZZwovW9LES7Iy09BlbbcFrprBPXKbUCMn2D2coI4m3GPI6xlZ/2kssG/DQYOOqhO4khnFW9fTQBdotXMop85cGXRGSkVa/95GPgoQt4Pv71KeYYL59klCJAXeDNwjVkj7tHgBnS4ja4jlZBfCTBL+YqS9CpU21fYSt7AoZuxVmCgfhV10x5kuTLdYu70XLRap3HJtussk/rARrMuyoiexAcA0aB8twMuyxtujXDzZvy+DY8H32bXZVuAHh7GUQoMwNdkdzonJkCZqs8Glv/TMBql3XKJB7mPP0vAKITaV2EkjoTRD4Ey", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "base64", "MIME-Version": "1.0", "X-MS-Exchange-CrossTenant-AuthAs": "Internal", "X-MS-Exchange-CrossTenant-AuthSource": "MN2PR11MB3744.namprd11.prod.outlook.com", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 77b2c65a-0a1e-4cbb-5f03-08d82d549b3f", "X-MS-Exchange-CrossTenant-originalarrivaltime": "21 Jul 2020 09:01:07.6360 (UTC)", "X-MS-Exchange-CrossTenant-fromentityheader": "Hosted", "X-MS-Exchange-CrossTenant-id": "46c98d88-e344-4ed4-8496-4ed7712e255d", "X-MS-Exchange-CrossTenant-mailboxtype": "HOSTED", "X-MS-Exchange-CrossTenant-userprincipalname": "\n bWj/l3aDFrSzJ9+FIuRj6b/D8udbTYE9dsflqcrZcBjTZNcbs3V07p5CcYUfuS/G1P8ERPnhpyG81dzXjQjS6A==", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "MN2PR11MB3664", "X-OriginatorOrg": "intel.com", "Subject": "Re: [dpdk-dev] [PATCH v1] vhost: support cross page buf in async\n\tdata path", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "addressed": null } ]