From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753647AbbHCPJD (ORCPT ); Mon, 3 Aug 2015 11:09:03 -0400 Received: from mx1.redhat.com ([209.132.183.28]:59255 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752783AbbHCPJB (ORCPT ); Mon, 3 Aug 2015 11:09:01 -0400 Message-ID: <1438614540.13460.112.camel@redhat.com> Subject: Re: [PATCH 2/2] iommu/vt-d: Report superpage support in sysfs From: Alex Williamson To: Joerg Roedel Cc: iommu@lists.linux-foundation.org, dwmw2@infradead.org, linux-kernel@vger.kernel.org Date: Mon, 03 Aug 2015 09:09:00 -0600 In-Reply-To: <20150803143029.GD20968@8bytes.org> References: <20150714211624.11515.25204.stgit@gimli.home> <20150714212459.11515.71211.stgit@gimli.home> <20150803143029.GD20968@8bytes.org> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 2015-08-03 at 16:30 +0200, Joerg Roedel wrote: > On Tue, Jul 14, 2015 at 03:25:04PM -0600, Alex Williamson wrote: > > We already have the VT-d capability register printed raw, but it > > typically involves a trip to the code or the spec to figure out > > whether superpages are supported. Make this easier with "2M_pages" > > and "1G_pages" sysfs entries that clearly report Y/N. > > > > Signed-off-by: Alex Williamson > > --- > > drivers/iommu/intel-iommu.c | 22 ++++++++++++++++++++++ > > 1 file changed, 22 insertions(+) > > Can we make this a generic entry for all iommu types and export a > pagesize bitmap instead? Are you suggesting a bitmap in order to have a consistent interface, independently implemented by each IOMMU driver, or are you suggesting a common interface implemented by iommu_ops.pgsize_bitmap? The latter is pretty well broken already. It can't represent different IOMMU hardware units having different capabilities, and it's broken by drivers like intel-iommu that don't expose native hardware page sizes, but anything that can be broken down into native hardware page size, so ~(4k-1). Programatically, a bitmap is a concise way to expose multiple page sizes, but for human consumption, it's not an ideal solution. Thanks, Alex