Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp722787pxj; Thu, 13 May 2021 15:33:50 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzysnmOGosB4eEJDc0HZUOB8RDFg+zYGsD2ILktV1ccKVcsnq5gn20eRFUgQf2aKjmOWpu2 X-Received: by 2002:a02:cb0c:: with SMTP id j12mr39579998jap.92.1620945230298; Thu, 13 May 2021 15:33:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620945230; cv=none; d=google.com; s=arc-20160816; b=xwrucRek3BPaIVtiQ68In6S2DXBAWl6MiNIa5eOWbSfQOhwZH4qp8DlvTYGWa6SFCY mpq6G5SXGMdAbWMkIguNSBz+3pgYht14QV5VZ6tmH3RyeCqIdLcU73+njVv8cF+esS1y LvUIkkxqROvibJMzBErhT8UVcY0B5jBVJqlgwCY8LwVCGH8WHhNZ+F2C7A7Px2y03pp8 zxn4qGrNIQHhNbxBWI38qv8/FR0RzCOsFCRJJO3LuXjYq4lERlt1gzwzC+E0ah9GQqL/ /iP9L5lkXXVGSHlmEDiK/dBiVWvEFCpG4JbFj1DAgQRLx//XXVX1C6WpstclPZZ1cAhc L5MQ== 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 :organization:references:in-reply-to:message-id:subject:cc:to:from :date:ironport-sdr:ironport-sdr; bh=HY9goJC/JW8C7sG/qPYvSl0F5WH2RMMJ9WNDw1hWzT4=; b=mxOhCUL3NGjqHAo6VGQd9Z7mHOswyU0FtKnIUA1bvxdwZZBCUN0cWhFE9WKXkgHWha wCRIGzeDpfSQhX2ZKMdpXs2I4cD1X2jLrG1XSBtegYf8hhFxeKcMCDV5L49Pa96/Y1xU 47WpCpdZD/JlOn+MVxTlu+Q4CkdWKsKe1mXYGlvFL02P0YEZesKjuYjWL+BuUnQi3XzV tgYH3oLsaYJf/O+Ch2EdzexeGAPbhPYbXYOWS3X8AO+2+kA8n+whAgeXivj9twxGtajh JcZmiLI5oJ21PsTDhubz8Kc6zhNX6o8R84xBpYSGI+JjirYaNupWn2js0fMEYO+Kbz72 e7OQ== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id o14si6325488iow.26.2021.05.13.15.33.27; Thu, 13 May 2021 15:33:50 -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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233019AbhEMPJi (ORCPT + 99 others); Thu, 13 May 2021 11:09:38 -0400 Received: from mga18.intel.com ([134.134.136.126]:64242 "EHLO mga18.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232156AbhEMPJf (ORCPT ); Thu, 13 May 2021 11:09:35 -0400 IronPort-SDR: 2MkuJgSUn0Vaf3qug1rS09q0Ou+mVTTeMCEK8tRbAV/TRx08MYDHnLF5uyDSFhKlOVgwwVRSbV 7RWWhbLNBhpA== X-IronPort-AV: E=McAfee;i="6200,9189,9982"; a="187382670" X-IronPort-AV: E=Sophos;i="5.82,296,1613462400"; d="scan'208";a="187382670" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 May 2021 08:08:24 -0700 IronPort-SDR: h8cnr1lRgYszrkpIKJZgTT5deHWSNW4DKLnW4hv/nIRhPifQYiZdb19NeQKFI2GUvfxErDsCe7 cGsYelF/g5Lg== X-IronPort-AV: E=Sophos;i="5.82,296,1613462400"; d="scan'208";a="409665304" Received: from jacob-builder.jf.intel.com (HELO jacob-builder) ([10.7.199.155]) by orsmga002-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 May 2021 08:08:24 -0700 Date: Thu, 13 May 2021 08:10:50 -0700 From: Jacob Pan To: Jason Gunthorpe Cc: Christoph Hellwig , LKML , iommu@lists.linux-foundation.org, Joerg Roedel , Lu Baolu , Jean-Philippe Brucker , Yi Liu , Raj Ashok , "Tian, Kevin" , Dave Jiang , wangzhou1@hisilicon.com, zhangfei.gao@linaro.org, vkoul@kernel.org, David Woodhouse , "Luck, Tony" , jacob.jun.pan@linux.intel.com Subject: Re: [PATCH v4 1/2] iommu/sva: Tighten SVA bind API with explicit flags Message-ID: <20210513081050.5cf6a6ed@jacob-builder> In-Reply-To: <20210513133834.GC1002214@nvidia.com> References: <1620653108-44901-2-git-send-email-jacob.jun.pan@linux.intel.com> <20210510233749.GG1002214@nvidia.com> <20210510203145.086835cc@jacob-builder> <20210511114848.GK1002214@nvidia.com> <20210511091452.721e9a03@jacob-builder> <20210511163521.GN1002214@nvidia.com> <20210511110550.477a434f@jacob-builder> <20210511194726.GP1002214@nvidia.com> <20210513060012.0fcc7653@jacob-builder> <20210513133834.GC1002214@nvidia.com> Organization: OTC X-Mailer: Claws Mail 3.17.5 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Jason, On Thu, 13 May 2021 10:38:34 -0300, Jason Gunthorpe wrote: > On Thu, May 13, 2021 at 06:00:12AM -0700, Jacob Pan wrote: > > > > If you want to do SVA PASID then it also must come with DMA APIs to > > > > manage the CPU cache coherence that are all NOP's on x86. > > > > > > Yes. And we have plenty of precende where an IOMMU is in "bypass" > > > mode to allow access to all memory and then uses the simple > > > dma-direct case. > > I agree it is better not to expose the entire direct map. But the > > missing piece of using DMA APIs is the PASID. The caller needs the > > PASID value to do work submission once buffer is mapped. > > You still haven't explained why the kernel driver should have a PASID at > all. > For shared workqueue, it can only generate DMA request with PASID. The submission is done by ENQCMDS (S for supervisor) instruction. If we were not to share page tables with init_mm, we need a system PASID that doing the same direct mapping in IOMMU page tables. > Jason Thanks, Jacob