Received: by 2002:a25:d7c1:0:0:0:0:0 with SMTP id o184csp4010592ybg; Tue, 29 Oct 2019 00:23:44 -0700 (PDT) X-Google-Smtp-Source: APXvYqzMpHvOH3CHAa3uGNbDKN7H3G25GH/kpmqRWACNaPxEP9SLas1JltXWWHwVhr3YGlG3zAFL X-Received: by 2002:a05:6402:1157:: with SMTP id g23mr24553432edw.260.1572333824297; Tue, 29 Oct 2019 00:23:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1572333824; cv=none; d=google.com; s=arc-20160816; b=nyc98u7ghwzKgfI7+40rbzN/RkvHdK7KBzqVb05Dz4XqrRPqbLhc3HU9DsKQLwlVay wh524xE/vX8RTMs4kQb6vBZRUGUv3ZJ2Grrlvo3My55i/wwCOfcVmuNO/oK53ZUuef6o oewuiBiumf4BlmsgsWu7xyfepFuZfGvgomrWQxAm7X+PGrmVhUhNiEjGY43S2mBFzp4V iRKHX1jHlJ0gBUVnv9clG3Ma0JnWeYz54ZMZxEurFNp4mj6gzwqUvPlKc3hpQKkgQeBp RrUb8FqJU3R3ySZ7B/Dad9rPBw/xVVlMCWmq9NBZZCNZ8HDLwTT98yuymo+LZ2jISxwy RsNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:to:subject:cc; bh=7oUmHeVJOqglk3e6VSjpXk7VsBy4JH3bWVEZk+qb+5s=; b=tNlUhr+4DbCuAwn4WgN0KMzGt9yRQnQrHnXsSTHfxmaVb4ZrvZzFv7ozLvHceKeYWB K6532Oek9BzJTxJrHSEq4AgKHh+Syvcb4tpsEqKzAnguIRIuFAr8JgIvarO5DEJVaQeg Xw7Rv7HO0Tfr3ctVL9fPSJq4z0+r70DXJKHItS4WZhxYhYjdGp45qJP1TaQJUfzAWcBo vOYRxpgE+1SMMW6VUpaNCcgQKnWc6lRZw7pF5kK2bn6NxHDLu885rPSD/prWMi83uOc/ et1bKXRPEV++yo7sTztInSxV7T6mDgcZnerN51mwt5VchvV9FrJTKYJHzTfxLupEasoC Bdig== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 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. [209.132.180.67]) by mx.google.com with ESMTP id y6si7664626ejo.397.2019.10.29.00.23.20; Tue, 29 Oct 2019 00:23:44 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 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 S1730587AbfJ2CZS (ORCPT + 99 others); Mon, 28 Oct 2019 22:25:18 -0400 Received: from mga12.intel.com ([192.55.52.136]:16789 "EHLO mga12.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727987AbfJ2CZR (ORCPT ); Mon, 28 Oct 2019 22:25:17 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 Oct 2019 19:25:17 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,242,1569308400"; d="scan'208";a="224826095" Received: from allen-box.sh.intel.com (HELO [10.239.159.136]) ([10.239.159.136]) by fmsmga004.fm.intel.com with ESMTP; 28 Oct 2019 19:25:15 -0700 Cc: baolu.lu@linux.intel.com, "iommu@lists.linux-foundation.org" , LKML , Joerg Roedel , David Woodhouse , Alex Williamson , Jean-Philippe Brucker , "Liu, Yi L" , "Raj, Ashok" , Christoph Hellwig , Jonathan Cameron , Eric Auger Subject: Re: [PATCH v7 03/11] iommu/vt-d: Add custom allocator for IOASID To: Jacob Pan , "Tian, Kevin" References: <1571946904-86776-1-git-send-email-jacob.jun.pan@linux.intel.com> <1571946904-86776-4-git-send-email-jacob.jun.pan@linux.intel.com> <20191024214311.43d76a5c@jacob-builder> <20191028154900.0be0a48f@jacob-builder> From: Lu Baolu Message-ID: <0d8bd9c3-4e01-ab12-8671-ff25a4821ed7@linux.intel.com> Date: Tue, 29 Oct 2019 10:22:36 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <20191028154900.0be0a48f@jacob-builder> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On 10/29/19 6:49 AM, Jacob Pan wrote: >>>> I'm not sure whether tying above logic to SVA is the right >>>> approach. If vcmd interface doesn't work, the whole SM mode >>>> doesn't make sense which is based on PASID-granular protection >>>> (SVA is only one usage atop). If the only remaining usage of SM >>>> is to map gIOVA using reserved PASID#0, then why not disabling SM >>>> and just fallback to legacy mode? >>>> >>>> Based on that I prefer to disabling the SM mode completely (better >>>> through an interface), and move the logic out of CONFIG_INTEL_ >>>> IOMMU_SVM >>>> >>> Unfortunately, it is dangerous to disable SM after boot. SM uses >>> different root/device contexts and pasid table formats. Disabling SM >>> after boot requires changing above from SM format into legacy >>> format. >> You are correct. >> >>> Since ioasid registration failure is a rare case. How about moving >>> this part of code up to the early stage of intel_iommu_init() and >>> returning error if hardware present vcmd capability but software >>> fails to register a custom ioasid allocator? >>> >> It makes sense to me. >> > sounds good to me too, the earlier the less to clean up. Actually, we even could return error directly and abort the iommu initialization. The registration of custom ioasid allocator fails only when memory runs out or software is buggy. In either cases, we should abort iommu initialization. Best regards, baolu