From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966060AbeBMWvk (ORCPT ); Tue, 13 Feb 2018 17:51:40 -0500 Received: from mga01.intel.com ([192.55.52.88]:63880 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965942AbeBMWvj (ORCPT ); Tue, 13 Feb 2018 17:51:39 -0500 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,509,1511856000"; d="scan'208";a="17899061" Date: Tue, 13 Feb 2018 14:53:32 -0800 From: Jacob Pan To: "Raj, Ashok" Cc: Joerg Roedel , Sohil Mehta , Alex Williamson , David Woodhouse , iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org, Gayatri Kammela , Ravi V Shankar , Andy Shevchenko , Lu Baolu , Fenghua Yu , jacob.jun.pan@linux.intel.com Subject: Re: [PATCH v7 0/5] Add Intel IOMMU debugfs support Message-ID: <20180213145332.35c73eda@jacob-builder> In-Reply-To: <20180213214002.GA27066@otc-nc-03> References: <1517619001-148586-1-git-send-email-sohil.mehta@intel.com> <20180213140303.42mbzfxpypljy37l@8bytes.org> <20180213214002.GA27066@otc-nc-03> Organization: OTC X-Mailer: Claws Mail 3.13.2 (GTK+ 2.24.30; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 13 Feb 2018 13:40:02 -0800 "Raj, Ashok" wrote: > Hi Joerg, > > On Tue, Feb 13, 2018 at 03:03:03PM +0100, Joerg Roedel wrote: > > On Fri, Feb 02, 2018 at 04:49:56PM -0800, Sohil Mehta wrote: > > > This series aims to add debugfs support for Intel IOMMU. It > > > exposes IOMMU registers, internal context and dumps individual > > > table entries to help debug Intel IOMMUs. > > > > > > The first patch does the ground work for the following patches by > > > reorganizing some Intel IOMMU data structures. The following > > > patches create a new Kconfig option - INTEL_IOMMU_DEBUG and add > > > debugfs support for IOMMU context internals, register contents, > > > PASID internals, and Interrupt remapping in that order. The > > > information can be accessed in sysfs at > > > '/sys/kernel/debug/intel_iommu/'. > > > > This looks like it only presents data from the iommu-hardware > > (register state) or from in-memory data structures used by the > > hardware. Can't all this be read out from user-space with libpci > > and /dev/mem access? > > True, we can do the tools and keep it strictly user space, but find > it very convenient to keep the kernel code and debugfs together. When > there are bug-reports its rather easy for the user to collect some > data and report it, and all the data-structures we need are readily > available instead of finding a round-about way to capture the same > data from user-space. > > This version has only hw dumps for now, but we plan to add some other > things like walking 2nd level page-tables, or get some SVM specific > data from the driver in the future. > We did start out with /dev/mem but run into CONFIG_STRICT_DEVMEM requirement which is turned on by default. libpci is only limited to PCI config space access, right? > > > > Things are different for kernel-defined data structures, as they > > might change between releases and can be presented to user-space > > via debugfs is needed, but the data structures used by the hardware > > should be pretty stable. > > Cheers, > Ashok [Jacob Pan]