[{"id":1915079,"web_url":"http://patchwork.ozlabs.org/comment/1915079/","msgid":"<99897d3c-ee46-977d-c886-5d23996c7f04@redhat.com>","list_archive_url":null,"date":"2018-05-17T14:32:58","subject":"Re: [Qemu-devel] [PATCH v2 05/10] intel-iommu: introduce\n\tvtd_page_walk_info","submitter":{"id":69187,"url":"http://patchwork.ozlabs.org/api/people/69187/","name":"Eric Auger","email":"eric.auger@redhat.com"},"content":"Hi Peter,\n\nOn 05/04/2018 05:08 AM, Peter Xu wrote:\n> During the recursive page walking of IOVA page tables, some stack\n> variables are constant variables and never changed during the whole page\n> walking procedure.  Isolate them into a struct so that we don't need to\n> pass those contants down the stack every time and multiple times.\n> \n> Signed-off-by: Peter Xu <peterx@redhat.com>\nReviewed-by: Eric Auger <eric.auger@redhat.com>\n\nThanks\n\nEric\n> ---\n>  hw/i386/intel_iommu.c | 56 ++++++++++++++++++++++++++++---------------\n>  1 file changed, 37 insertions(+), 19 deletions(-)\n> \n> diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c\n> index 9a418abfb6..b2b2a0a441 100644\n> --- a/hw/i386/intel_iommu.c\n> +++ b/hw/i386/intel_iommu.c\n> @@ -747,9 +747,27 @@ static int vtd_iova_to_slpte(VTDContextEntry *ce, uint64_t iova, bool is_write,\n>  \n>  typedef int (*vtd_page_walk_hook)(IOMMUTLBEntry *entry, void *private);\n>  \n> +/**\n> + * Constant information used during page walking\n> + *\n> + * @hook_fn: hook func to be called when detected page\n> + * @private: private data to be passed into hook func\n> + * @notify_unmap: whether we should notify invalid entries\n> + * @aw: maximum address width\n> + */\n> +typedef struct {\n> +    vtd_page_walk_hook hook_fn;\n> +    void *private;\n> +    bool notify_unmap;\n> +    uint8_t aw;\n> +} vtd_page_walk_info;\n> +\n>  static int vtd_page_walk_one(IOMMUTLBEntry *entry, int level,\n> -                             vtd_page_walk_hook hook_fn, void *private)\n> +                             vtd_page_walk_info *info)\n>  {\n> +    vtd_page_walk_hook hook_fn = info->hook_fn;\n> +    void *private = info->private;\n> +\n>      assert(hook_fn);\n>      trace_vtd_page_walk_one(level, entry->iova, entry->translated_addr,\n>                              entry->addr_mask, entry->perm);\n> @@ -762,17 +780,13 @@ static int vtd_page_walk_one(IOMMUTLBEntry *entry, int level,\n>   * @addr: base GPA addr to start the walk\n>   * @start: IOVA range start address\n>   * @end: IOVA range end address (start <= addr < end)\n> - * @hook_fn: hook func to be called when detected page\n> - * @private: private data to be passed into hook func\n>   * @read: whether parent level has read permission\n>   * @write: whether parent level has write permission\n> - * @notify_unmap: whether we should notify invalid entries\n> - * @aw: maximum address width\n> + * @info: constant information for the page walk\n>   */\n>  static int vtd_page_walk_level(dma_addr_t addr, uint64_t start,\n> -                               uint64_t end, vtd_page_walk_hook hook_fn,\n> -                               void *private, uint32_t level, bool read,\n> -                               bool write, bool notify_unmap, uint8_t aw)\n> +                               uint64_t end, uint32_t level, bool read,\n> +                               bool write, vtd_page_walk_info *info)\n>  {\n>      bool read_cur, write_cur, entry_valid;\n>      uint32_t offset;\n> @@ -822,24 +836,24 @@ static int vtd_page_walk_level(dma_addr_t addr, uint64_t start,\n>  \n>          if (vtd_is_last_slpte(slpte, level)) {\n>              /* NOTE: this is only meaningful if entry_valid == true */\n> -            entry.translated_addr = vtd_get_slpte_addr(slpte, aw);\n> -            if (!entry_valid && !notify_unmap) {\n> +            entry.translated_addr = vtd_get_slpte_addr(slpte, info->aw);\n> +            if (!entry_valid && !info->notify_unmap) {\n>                  trace_vtd_page_walk_skip_perm(iova, iova_next);\n>                  goto next;\n>              }\n> -            ret = vtd_page_walk_one(&entry, level, hook_fn, private);\n> +            ret = vtd_page_walk_one(&entry, level, info);\n>              if (ret < 0) {\n>                  return ret;\n>              }\n>          } else {\n>              if (!entry_valid) {\n> -                if (notify_unmap) {\n> +                if (info->notify_unmap) {\n>                      /*\n>                       * The whole entry is invalid; unmap it all.\n>                       * Translated address is meaningless, zero it.\n>                       */\n>                      entry.translated_addr = 0x0;\n> -                    ret = vtd_page_walk_one(&entry, level, hook_fn, private);\n> +                    ret = vtd_page_walk_one(&entry, level, info);\n>                      if (ret < 0) {\n>                          return ret;\n>                      }\n> @@ -848,10 +862,9 @@ static int vtd_page_walk_level(dma_addr_t addr, uint64_t start,\n>                  }\n>                  goto next;\n>              }\n> -            ret = vtd_page_walk_level(vtd_get_slpte_addr(slpte, aw), iova,\n> -                                      MIN(iova_next, end), hook_fn, private,\n> -                                      level - 1, read_cur, write_cur,\n> -                                      notify_unmap, aw);\n> +            ret = vtd_page_walk_level(vtd_get_slpte_addr(slpte, info->aw),\n> +                                      iova, MIN(iova_next, end), level - 1,\n> +                                      read_cur, write_cur, info);\n>              if (ret < 0) {\n>                  return ret;\n>              }\n> @@ -880,6 +893,12 @@ static int vtd_page_walk(VTDContextEntry *ce, uint64_t start, uint64_t end,\n>  {\n>      dma_addr_t addr = vtd_ce_get_slpt_base(ce);\n>      uint32_t level = vtd_ce_get_level(ce);\n> +    vtd_page_walk_info info = {\n> +        .hook_fn = hook_fn,\n> +        .private = private,\n> +        .notify_unmap = notify_unmap,\n> +        .aw = aw,\n> +    };\n>  \n>      if (!vtd_iova_range_check(start, ce, aw)) {\n>          return -VTD_FR_ADDR_BEYOND_MGAW;\n> @@ -890,8 +909,7 @@ static int vtd_page_walk(VTDContextEntry *ce, uint64_t start, uint64_t end,\n>          end = vtd_iova_limit(ce, aw);\n>      }\n>  \n> -    return vtd_page_walk_level(addr, start, end, hook_fn, private,\n> -                               level, true, true, notify_unmap, aw);\n> +    return vtd_page_walk_level(addr, start, end, level, true, true, &info);\n>  }\n>  \n>  /* Map a device to its corresponding domain (context-entry) */\n>","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)","ozlabs.org;\n\tdmarc=fail (p=none dis=none) header.from=redhat.com"],"Received":["from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 40mv2n4hHMz9s4V\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 18 May 2018 00:34:41 +1000 (AEST)","from localhost ([::1]:58621 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1fJJzL-0000wE-Ac\n\tfor incoming@patchwork.ozlabs.org; Thu, 17 May 2018 10:34:39 -0400","from eggs.gnu.org ([2001:4830:134:3::10]:33184)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <eric.auger@redhat.com>) id 1fJJy1-0000QF-AM\n\tfor qemu-devel@nongnu.org; Thu, 17 May 2018 10:33:20 -0400","from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <eric.auger@redhat.com>) id 1fJJxr-0000F8-FN\n\tfor qemu-devel@nongnu.org; Thu, 17 May 2018 10:33:17 -0400","from mx3-rdu2.redhat.com ([66.187.233.73]:44914\n\thelo=mx1.redhat.com)\n\tby eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <eric.auger@redhat.com>)\n\tid 1fJJxr-0000Et-A0\n\tfor qemu-devel@nongnu.org; Thu, 17 May 2018 10:33:07 -0400","from smtp.corp.redhat.com\n\t(int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id DA7A2401EF09;\n\tThu, 17 May 2018 14:33:06 +0000 (UTC)","from localhost.localdomain (ovpn-117-111.ams2.redhat.com\n\t[10.36.117.111])\n\tby smtp.corp.redhat.com (Postfix) with ESMTPS id 36BC3112D177;\n\tThu, 17 May 2018 14:32:59 +0000 (UTC)"],"To":"Peter Xu <peterx@redhat.com>, qemu-devel@nongnu.org","References":"<20180504030811.28111-1-peterx@redhat.com>\n\t<20180504030811.28111-6-peterx@redhat.com>","From":"Auger Eric <eric.auger@redhat.com>","Message-ID":"<99897d3c-ee46-977d-c886-5d23996c7f04@redhat.com>","Date":"Thu, 17 May 2018 16:32:58 +0200","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101\n\tThunderbird/45.4.0","MIME-Version":"1.0","In-Reply-To":"<20180504030811.28111-6-peterx@redhat.com>","Content-Type":"text/plain; charset=windows-1252","Content-Transfer-Encoding":"7bit","X-Scanned-By":"MIMEDefang 2.78 on 10.11.54.3","X-Greylist":["Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.11.55.5]);\n\tThu, 17 May 2018 14:33:06 +0000 (UTC)","inspected by milter-greylist-4.5.16 (mx1.redhat.com\n\t[10.11.55.5]); \n\tThu, 17 May 2018 14:33:06 +0000 (UTC) for IP:'10.11.54.3'\n\tDOMAIN:'int-mx03.intmail.prod.int.rdu2.redhat.com'\n\tHELO:'smtp.corp.redhat.com' FROM:'eric.auger@redhat.com' RCPT:''"],"X-detected-operating-system":"by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]\n\t[fuzzy]","X-Received-From":"66.187.233.73","Subject":"Re: [Qemu-devel] [PATCH v2 05/10] intel-iommu: introduce\n\tvtd_page_walk_info","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<http://lists.nongnu.org/archive/html/qemu-devel/>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Cc":"Jintack Lim <jintack@cs.columbia.edu>, Tian Kevin <kevin.tian@intel.com>,\n\tAlex Williamson <alex.williamson@redhat.com>,\n\tJason Wang <jasowang@redhat.com>, \"Michael S . Tsirkin\" <mst@redhat.com>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"}},{"id":1915636,"web_url":"http://patchwork.ozlabs.org/comment/1915636/","msgid":"<20180518055939.GE2569@xz-mi>","list_archive_url":null,"date":"2018-05-18T05:59:39","subject":"Re: [Qemu-devel] [PATCH v2 05/10] intel-iommu: introduce\n\tvtd_page_walk_info","submitter":{"id":67717,"url":"http://patchwork.ozlabs.org/api/people/67717/","name":"Peter Xu","email":"peterx@redhat.com"},"content":"On Thu, May 17, 2018 at 04:32:58PM +0200, Auger Eric wrote:\n> Hi Peter,\n> \n> On 05/04/2018 05:08 AM, Peter Xu wrote:\n> > During the recursive page walking of IOVA page tables, some stack\n> > variables are constant variables and never changed during the whole page\n> > walking procedure.  Isolate them into a struct so that we don't need to\n> > pass those contants down the stack every time and multiple times.\n> > \n> > Signed-off-by: Peter Xu <peterx@redhat.com>\n> Reviewed-by: Eric Auger <eric.auger@redhat.com>\n\nThanks for the r-b, but this patch is changed in version 3.  Please\nfeel free to have a look at that version.\n\n(For all the review comments previously to version 2, I adopted them\n when the contents are still there in version 3)\n\nRegards,","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)","ozlabs.org;\n\tdmarc=fail (p=none dis=none) header.from=redhat.com"],"Received":["from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 40nHZt4Zvjz9s33\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 18 May 2018 16:00:21 +1000 (AEST)","from localhost ([::1]:36797 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1fJYR7-0002PL-8n\n\tfor incoming@patchwork.ozlabs.org; Fri, 18 May 2018 02:00:17 -0400","from eggs.gnu.org ([2001:4830:134:3::10]:58639)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <peterx@redhat.com>) id 1fJYQm-0002ON-Qq\n\tfor qemu-devel@nongnu.org; Fri, 18 May 2018 01:59:57 -0400","from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <peterx@redhat.com>) id 1fJYQi-00048B-V1\n\tfor qemu-devel@nongnu.org; Fri, 18 May 2018 01:59:56 -0400","from mx3-rdu2.redhat.com ([66.187.233.73]:57586\n\thelo=mx1.redhat.com)\n\tby eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <peterx@redhat.com>) id 1fJYQi-000481-QX\n\tfor qemu-devel@nongnu.org; Fri, 18 May 2018 01:59:52 -0400","from smtp.corp.redhat.com\n\t(int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id 3FE4540200A6;\n\tFri, 18 May 2018 05:59:52 +0000 (UTC)","from xz-mi (dhcp-14-151.nay.redhat.com [10.66.14.151])\n\tby smtp.corp.redhat.com (Postfix) with ESMTPS id 0F2CA11166F4;\n\tFri, 18 May 2018 05:59:42 +0000 (UTC)"],"Date":"Fri, 18 May 2018 13:59:39 +0800","From":"Peter Xu <peterx@redhat.com>","To":"Auger Eric <eric.auger@redhat.com>","Message-ID":"<20180518055939.GE2569@xz-mi>","References":"<20180504030811.28111-1-peterx@redhat.com>\n\t<20180504030811.28111-6-peterx@redhat.com>\n\t<99897d3c-ee46-977d-c886-5d23996c7f04@redhat.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<99897d3c-ee46-977d-c886-5d23996c7f04@redhat.com>","User-Agent":"Mutt/1.9.5 (2018-04-13)","X-Scanned-By":"MIMEDefang 2.78 on 10.11.54.3","X-Greylist":["Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.11.55.6]);\n\tFri, 18 May 2018 05:59:52 +0000 (UTC)","inspected by milter-greylist-4.5.16 (mx1.redhat.com\n\t[10.11.55.6]); \n\tFri, 18 May 2018 05:59:52 +0000 (UTC) for IP:'10.11.54.3'\n\tDOMAIN:'int-mx03.intmail.prod.int.rdu2.redhat.com'\n\tHELO:'smtp.corp.redhat.com' FROM:'peterx@redhat.com' RCPT:''"],"X-detected-operating-system":"by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]\n\t[fuzzy]","X-Received-From":"66.187.233.73","Subject":"Re: [Qemu-devel] [PATCH v2 05/10] intel-iommu: introduce\n\tvtd_page_walk_info","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<http://lists.nongnu.org/archive/html/qemu-devel/>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Cc":"Tian Kevin <kevin.tian@intel.com>, \"Michael S . Tsirkin\" <mst@redhat.com>,\n\tJason Wang <jasowang@redhat.com>, qemu-devel@nongnu.org,\n\tAlex Williamson <alex.williamson@redhat.com>,\n\tJintack Lim <jintack@cs.columbia.edu>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"}},{"id":1915676,"web_url":"http://patchwork.ozlabs.org/comment/1915676/","msgid":"<601036e5-a1b8-9afe-714e-e5d76e06a6d5@redhat.com>","list_archive_url":null,"date":"2018-05-18T07:24:51","subject":"Re: [Qemu-devel] [PATCH v2 05/10] intel-iommu: introduce\n\tvtd_page_walk_info","submitter":{"id":69187,"url":"http://patchwork.ozlabs.org/api/people/69187/","name":"Eric Auger","email":"eric.auger@redhat.com"},"content":"Hi Peter,\nOn 05/18/2018 07:59 AM, Peter Xu wrote:\n> On Thu, May 17, 2018 at 04:32:58PM +0200, Auger Eric wrote:\n>> Hi Peter,\n>>\n>> On 05/04/2018 05:08 AM, Peter Xu wrote:\n>>> During the recursive page walking of IOVA page tables, some stack\n>>> variables are constant variables and never changed during the whole page\n>>> walking procedure.  Isolate them into a struct so that we don't need to\n>>> pass those contants down the stack every time and multiple times.\n>>>\n>>> Signed-off-by: Peter Xu <peterx@redhat.com>\n>> Reviewed-by: Eric Auger <eric.auger@redhat.com>\n> \n> Thanks for the r-b, but this patch is changed in version 3.  Please\n> feel free to have a look at that version.\n\nSure. Please apologize, I missed your v3. Looking at it now.\n\nThanks\n\nEric\n> \n> (For all the review comments previously to version 2, I adopted them\n>  when the contents are still there in version 3)\n> \n> Regards,\n>","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)","ozlabs.org;\n\tdmarc=fail (p=none dis=none) header.from=redhat.com"],"Received":["from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 40nKT2518yz9s2R\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 18 May 2018 17:25:25 +1000 (AEST)","from localhost ([::1]:37040 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1fJZlR-0006HT-Ew\n\tfor incoming@patchwork.ozlabs.org; Fri, 18 May 2018 03:25:21 -0400","from eggs.gnu.org ([2001:4830:134:3::10]:43465)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <eric.auger@redhat.com>) id 1fJZl3-0006GF-BB\n\tfor qemu-devel@nongnu.org; Fri, 18 May 2018 03:24:58 -0400","from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <eric.auger@redhat.com>) id 1fJZl0-0005LC-Nb\n\tfor qemu-devel@nongnu.org; Fri, 18 May 2018 03:24:57 -0400","from mx3-rdu2.redhat.com ([66.187.233.73]:59998\n\thelo=mx1.redhat.com)\n\tby eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <eric.auger@redhat.com>)\n\tid 1fJZl0-0005Jq-I0\n\tfor qemu-devel@nongnu.org; Fri, 18 May 2018 03:24:54 -0400","from smtp.corp.redhat.com\n\t(int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id E7F504072CF4;\n\tFri, 18 May 2018 07:24:53 +0000 (UTC)","from localhost.localdomain (ovpn-117-111.ams2.redhat.com\n\t[10.36.117.111])\n\tby smtp.corp.redhat.com (Postfix) with ESMTPS id 974512166BAD;\n\tFri, 18 May 2018 07:24:52 +0000 (UTC)"],"To":"Peter Xu <peterx@redhat.com>","References":"<20180504030811.28111-1-peterx@redhat.com>\n\t<20180504030811.28111-6-peterx@redhat.com>\n\t<99897d3c-ee46-977d-c886-5d23996c7f04@redhat.com>\n\t<20180518055939.GE2569@xz-mi>","From":"Auger Eric <eric.auger@redhat.com>","Message-ID":"<601036e5-a1b8-9afe-714e-e5d76e06a6d5@redhat.com>","Date":"Fri, 18 May 2018 09:24:51 +0200","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101\n\tThunderbird/45.4.0","MIME-Version":"1.0","In-Reply-To":"<20180518055939.GE2569@xz-mi>","Content-Type":"text/plain; charset=utf-8","Content-Transfer-Encoding":"7bit","X-Scanned-By":"MIMEDefang 2.78 on 10.11.54.6","X-Greylist":["Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.11.55.7]);\n\tFri, 18 May 2018 07:24:53 +0000 (UTC)","inspected by milter-greylist-4.5.16 (mx1.redhat.com\n\t[10.11.55.7]); \n\tFri, 18 May 2018 07:24:53 +0000 (UTC) for IP:'10.11.54.6'\n\tDOMAIN:'int-mx06.intmail.prod.int.rdu2.redhat.com'\n\tHELO:'smtp.corp.redhat.com' FROM:'eric.auger@redhat.com' RCPT:''"],"X-detected-operating-system":"by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]\n\t[fuzzy]","X-Received-From":"66.187.233.73","Subject":"Re: [Qemu-devel] [PATCH v2 05/10] intel-iommu: introduce\n\tvtd_page_walk_info","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<http://lists.nongnu.org/archive/html/qemu-devel/>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Cc":"Tian Kevin <kevin.tian@intel.com>, \"Michael S . Tsirkin\" <mst@redhat.com>,\n\tJason Wang <jasowang@redhat.com>, qemu-devel@nongnu.org,\n\tAlex Williamson <alex.williamson@redhat.com>,\n\tJintack Lim <jintack@cs.columbia.edu>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"}}]