Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp3718665pxj; Mon, 7 Jun 2021 19:00:36 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxDdAd2a94BjiJre9LxISR1e3KitH0KRb9FM/Kkwxv/U8UVBWygUEc/KhhClUKNyUR2K34D X-Received: by 2002:a17:906:a1d2:: with SMTP id bx18mr20557687ejb.423.1623117636555; Mon, 07 Jun 2021 19:00:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623117636; cv=none; d=google.com; s=arc-20160816; b=HJcjLYvufMf/sy09Nrlp9NJz+QGFfxvimkn5iT5H6vECdPVXqI5z9isrCbifLhP5Mv jY+XXw3jBWFZvHsteEH0+nvXuwzbCCZFfdjCwr/mpg+HQNeWtOrHlZ33I5Fuq5wJXopl OwX2KKrqUYhW4Jxhs/47jsupTFmGQzeD9F2QvHzSX6aJ3U05jQyzskBCo1fgSjc+TkuH Jm58S4kXn6vsBs9UrabwDCLzqqk5NPX8TIr15+NCvKO4TGkcJNbAYx4xVs1XNUjUSXzd qz1ee96IDWeOV3AncGOyWxnXE0L5ALSEb0P9/QRDzreeTk2QsGv2zyxuhBsL8rLhnOJy /pLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=5EEGe9Ooze4GaX83CqyBjOJjYKqAJ6kwJsMnPkif2OY=; b=g1+hPvefu4dONAdgoSW2USwTv5LnUNl1/uxdCl4/Cp6YTLCEsF3h3VKxtJ4ukOTOO5 cSzwfeoWnhqQEKZSLeIrFfBV8c75rF2hkCEwWXt5qsT+V54arcV5SgjVW45YDwUqNYY8 U1yRe4zWicgMHbf5EtdTAAs11TMA5j1fQuuxna8lRw+mdfd84NfGzA6F4HOIT/bigRVW AZ7UDW6h3IBN2lGbUdA6p7Z2wujXEQ1E2y3hTNc/4vlFNA6u0xtAqLmsbg+OmXO2pSJU jjNeU77cbsrau1jQ1GpmtQfFtKuSLS5mHgzhJq36O0ChqU23Uf9kNz82wJqwyDIhQne4 en4w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=QbD3d+SJ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id e14si1277535edm.431.2021.06.07.19.00.13; Mon, 07 Jun 2021 19:00:36 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=QbD3d+SJ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231521AbhFHB6N (ORCPT + 99 others); Mon, 7 Jun 2021 21:58:13 -0400 Received: from mail-pg1-f181.google.com ([209.85.215.181]:43551 "EHLO mail-pg1-f181.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231321AbhFHB6M (ORCPT ); Mon, 7 Jun 2021 21:58:12 -0400 Received: by mail-pg1-f181.google.com with SMTP id e22so15257636pgv.10 for ; Mon, 07 Jun 2021 18:56:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=5EEGe9Ooze4GaX83CqyBjOJjYKqAJ6kwJsMnPkif2OY=; b=QbD3d+SJyUQo4eXzNBP1b/6gLP4lu/LxZQ86ATRlGCjgMCqzm3Zf9UKwZv7eaoiFkw qtHrIVEMhZVcLWLxogpZnYl8pG5VjBl5NZB+HCvWbM6JgP4gdhBa3jvJsQyU3YrOk1bS l7XZFeBefB6KmuwkIBOMgBFcmx2hLNxtuIPyBRksZSTimd8Gv5b2ZyXg0QZ8NVqyxW2z mnHttAJRh69h79IeMRNQAnvv4OkKs5CCMI5zIHN6EM6TVtiZA0SshOVfsdTEjPpmmUT3 CH5VG8Hji0LiMUwKEsaT056iDzXHKSlCXD8LebsOYX6yY2G5nGmj02XP2SanbtT6idfy p1KQ== 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:mime-version :content-transfer-encoding; bh=5EEGe9Ooze4GaX83CqyBjOJjYKqAJ6kwJsMnPkif2OY=; b=ml4zZJ5tcKCy8zOaCVM5HOCGy+vHOhvlll2G2lenSjxzQXJ4EHBfV8kBKOL2cHwK9l K6hTZ4hfQuLRnpqIxkRsD2h4GOoNJz4ydlyo3JtkeJkubUEPRth6X3CFRLTWN3g77fgn OAjfLvoNnlb+O9xmtm/yUkj6u4egJchCFw0Gy5MIKMc7fue47rHuc3EoQrXlUN+KPWvx RsfBlnWyNX3xW4NiFfPLyx2FytoGIC02wpiVaYCmrkrTPrXn9/YWaDX5sGCVNAwEOCi0 hR23oxtJ6Jj/ai9ydPs7W2U6A4eHlRijpl9XuNT+KEiaDBdQwMnTHUG6mVXyv8mkit6t hQVg== X-Gm-Message-State: AOAM53279qibUehCW4Yhy7aacYSIrESA/9xOT1DAQpGqJLSLqcqZyONX m2lNiD/2yxY3my7cYPmqTm4SaX+E1CGOnQ== X-Received: by 2002:a63:fa03:: with SMTP id y3mr20520339pgh.389.1623117320402; Mon, 07 Jun 2021 18:55:20 -0700 (PDT) Received: from sc2-haas01-esx0118.eng.vmware.com ([66.170.99.1]) by smtp.gmail.com with ESMTPSA id s24sm9284767pfh.104.2021.06.07.18.55.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jun 2021 18:55:19 -0700 (PDT) From: Nadav Amit X-Google-Original-From: Nadav Amit To: Joerg Roedel Cc: Nadav Amit , Will Deacon , Jiajun Cao , Robin Murphy , Lu Baolu , iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 0/6] iommu/amd: Enable page-selective flushes Date: Mon, 7 Jun 2021 11:25:35 -0700 Message-Id: <20210607182541.119756-1-namit@vmware.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Nadav Amit The previous patch, commit 268aa4548277 ("iommu/amd: Page-specific invalidations for more than one page") was supposed to enable page-selective IOTLB flushes on AMD. Besides the bug that was already fixed by commit a017c567915f ("iommu/amd: Fix wrong parentheses on page-specific invalidations") there are several remaining matters to enable and benefit from page-selective IOTLB flushes on AMD: 1. Enable selective flushes on unmap (patch 1) 2. Avoid using flush-queue on vIOMMUs (patch 2) 3. Relaxed flushes when gathering, excluding vIOMMUs (patches 3-5) 4. Syncing once on scatter-gather map operations (patch 6) Cc: Joerg Roedel Cc: Will Deacon Cc: Jiajun Cao Cc: Robin Murphy Cc: Lu Baolu Cc: iommu@lists.linux-foundation.org Cc: linux-kernel@vger.kernel.org --- v2->v3: * Rebase on v5.13-rc5 * Refactoring (patches 4-5) [Robin] * Rework flush logic (patch 5): more relaxed on native * Syncing once on scatter-gather operations (patch 6) v1->v2: * Rebase on v5.13-rc3 Nadav Amit (5): iommu/amd: Selective flush on unmap iommu/amd: Do not use flush-queue when NpCache is on iommu: Factor iommu_iotlb_gather_is_disjoint() out iommu/amd: Tailored gather logic for AMD iommu/amd: Sync once for scatter-gather operations Robin Murphy (1): iommu: Improve iommu_iotlb_gather helpers drivers/iommu/amd/init.c | 7 +++- drivers/iommu/amd/iommu.c | 72 ++++++++++++++++++++++++++++++--- drivers/iommu/mtk_iommu.c | 5 +-- include/linux/iommu.h | 84 +++++++++++++++++++++++++++++++++------ 4 files changed, 145 insertions(+), 23 deletions(-) -- 2.25.1