{"id":1152964,"url":"http://patchwork.ozlabs.org/api/covers/1152964/?format=json","web_url":"http://patchwork.ozlabs.org/project/linuxppc-dev/cover/20190826061705.92048-1-aik@ozlabs.ru/","project":{"id":2,"url":"http://patchwork.ozlabs.org/api/projects/2/?format=json","name":"Linux PPC development","link_name":"linuxppc-dev","list_id":"linuxppc-dev.lists.ozlabs.org","list_email":"linuxppc-dev@lists.ozlabs.org","web_url":"https://github.com/linuxppc/wiki/wiki","scm_url":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git","webscm_url":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/","list_archive_url":"https://lore.kernel.org/linuxppc-dev/","list_archive_url_format":"https://lore.kernel.org/linuxppc-dev/{}/","commit_url_format":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?id={}"},"msgid":"<20190826061705.92048-1-aik@ozlabs.ru>","list_archive_url":"https://lore.kernel.org/linuxppc-dev/20190826061705.92048-1-aik@ozlabs.ru/","date":"2019-08-26T06:17:01","name":"[kernel,v2,0/4] powerpc/powernv/kvm: Invalidate multiple TCEs at once","submitter":{"id":7621,"url":"http://patchwork.ozlabs.org/api/people/7621/?format=json","name":"Alexey Kardashevskiy","email":"aik@ozlabs.ru"},"mbox":"http://patchwork.ozlabs.org/project/linuxppc-dev/cover/20190826061705.92048-1-aik@ozlabs.ru/mbox/","series":[{"id":127248,"url":"http://patchwork.ozlabs.org/api/series/127248/?format=json","web_url":"http://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=127248","date":"2019-08-26T06:17:02","name":"powerpc/powernv/kvm: Invalidate multiple TCEs at once","version":2,"mbox":"http://patchwork.ozlabs.org/series/127248/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/covers/1152964/comments/","headers":{"Return-Path":"<linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org>","X-Original-To":["patchwork-incoming@ozlabs.org","linuxppc-dev@lists.ozlabs.org"],"Delivered-To":["patchwork-incoming@ozlabs.org","linuxppc-dev@lists.ozlabs.org"],"Received":["from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\tkey-exchange X25519 server-signature RSA-PSS (4096 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 46H22f2ySnz9sQq\n\tfor <patchwork-incoming@ozlabs.org>;\n\tMon, 26 Aug 2019 16:21:30 +1000 (AEST)","from bilbo.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 46H22c1wnyzDqbc\n\tfor <patchwork-incoming@ozlabs.org>;\n\tMon, 26 Aug 2019 16:21:28 +1000 (AEST)","from ozlabs.ru (ozlabs.ru [107.173.13.209])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 46H1yN49ZgzDqcm\n\tfor <linuxppc-dev@lists.ozlabs.org>;\n\tMon, 26 Aug 2019 16:17:48 +1000 (AEST)","from fstn1-p1.ozlabs.ibm.com (localhost [IPv6:::1])\n\tby ozlabs.ru (Postfix) with ESMTP id 2CD15AE80011;\n\tMon, 26 Aug 2019 02:16:53 -0400 (EDT)"],"Authentication-Results":["ozlabs.org;\n\tdmarc=none (p=none dis=none) header.from=ozlabs.ru","lists.ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=ozlabs.ru\n\t(client-ip=107.173.13.209; helo=ozlabs.ru; envelope-from=aik@ozlabs.ru;\n\treceiver=<UNKNOWN>)","lists.ozlabs.org;\n\tdmarc=none (p=none dis=none) header.from=ozlabs.ru"],"From":"Alexey Kardashevskiy <aik@ozlabs.ru>","To":"linuxppc-dev@lists.ozlabs.org","Subject":"[PATCH kernel v2 0/4] powerpc/powernv/kvm: Invalidate multiple TCEs\n\tat once","Date":"Mon, 26 Aug 2019 16:17:01 +1000","Message-Id":"<20190826061705.92048-1-aik@ozlabs.ru>","X-Mailer":"git-send-email 2.17.1","X-BeenThere":"linuxppc-dev@lists.ozlabs.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"Linux on PowerPC Developers Mail List\n\t<linuxppc-dev.lists.ozlabs.org>","List-Unsubscribe":"<https://lists.ozlabs.org/options/linuxppc-dev>,\n\t<mailto:linuxppc-dev-request@lists.ozlabs.org?subject=unsubscribe>","List-Archive":"<http://lists.ozlabs.org/pipermail/linuxppc-dev/>","List-Post":"<mailto:linuxppc-dev@lists.ozlabs.org>","List-Help":"<mailto:linuxppc-dev-request@lists.ozlabs.org?subject=help>","List-Subscribe":"<https://lists.ozlabs.org/listinfo/linuxppc-dev>,\n\t<mailto:linuxppc-dev-request@lists.ozlabs.org?subject=subscribe>","Cc":"kvm@vger.kernel.org, Alexey Kardashevskiy <aik@ozlabs.ru>,\n\tkvm-ppc@vger.kernel.org, Alex Williamson <alex.williamson@redhat.com>,\n\tPaul Mackerras <paulus@samba.org>,\n\tAlistair Popple <alistair@popple.id.au>, \n\tDavid Gibson <david@gibson.dropbear.id.au>","Errors-To":"linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org","Sender":"\"Linuxppc-dev\"\n\t<linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org>"},"content":"So far TCE cache updates (IOMMU translation cache on POWER8/9\nPHB/NPU units) were barely noticeable; however with 100+GB guests\nwe now see RCU stall warnings in guests because we spend too much\ntime in the host system firmware which does actual TCE cache\nupdates, hence this patchset.\n\nThis is a rework of https://patchwork.ozlabs.org/patch/1149003/\nThis depends on KVM-PPC's bugfix: https://patchwork.ozlabs.org/patch/1152937/\n\nI expect 1/4 to go via the PPC tree, 2/4 via the KVM-PPC tree,\n3/4 via the VFIO tree and 4/4 via the PPC tree so it is a loop.\nThere is always a hope it can go via one tree :)\n\n\nThis is based on sha1\n42ac26d253eb Santosh Sivaraj \"powerpc: add machine check safe copy_to_user\".\n\nPlease comment. Thanks.\n\n\n\nAlexey Kardashevskiy (4):\n  powerpc/powernv/ioda: Split out TCE invalidation from TCE updates\n  KVM: PPC: Invalidate multiple TCEs at once\n  vfio/spapr_tce: Invalidate multiple TCEs at once\n  powerpc/powernv/ioda: Remove obsolete iommu_table_ops::exchange\n    callbacks\n\n arch/powerpc/include/asm/iommu.h          | 21 ++++++---\n arch/powerpc/kernel/iommu.c               | 23 ++++++----\n arch/powerpc/kvm/book3s_64_vio.c          | 29 ++++++++----\n arch/powerpc/kvm/book3s_64_vio_hv.c       | 38 +++++++++++----\n arch/powerpc/platforms/powernv/pci-ioda.c | 56 ++++-------------------\n drivers/vfio/vfio_iommu_spapr_tce.c       | 18 +++++---\n 6 files changed, 96 insertions(+), 89 deletions(-)"}