Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753788AbbBRRgW (ORCPT ); Wed, 18 Feb 2015 12:36:22 -0500 Received: from aserp1040.oracle.com ([141.146.126.69]:22078 "EHLO aserp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752540AbbBRRgV (ORCPT ); Wed, 18 Feb 2015 12:36:21 -0500 Date: Wed, 18 Feb 2015 12:35:39 -0500 From: Konrad Rzeszutek Wilk To: "Wang, Xiaoming" Cc: "ralf@linux-mips.org" , "boris.ostrovsky@oracle.com" , "david.vrabel@citrix.com" , "linux-mips@linux-mips.org" , "linux-kernel@vger.kernel.org" , "xen-devel@lists.xenproject.org" , "akpm@linux-foundation.org" , "linux@horizon.com" , "lauraa@codeaurora.org" , "heiko.carstens@de.ibm.com" , "d.kasatkin@samsung.com" , "takahiro.akashi@linaro.org" , "chris@chris-wilson.co.uk" , "pebolle@tiscali.nl" , "Liu, Chuansheng" , "Zhang, Dongxing" Subject: Re: [PATCH v3] modify the IO_TLB_SEGSIZE and IO_TLB_DEFAULT_SIZE configurable as flexible requirement about SW-IOMMU. Message-ID: <20150218173539.GE8152@l.oracle.com> References: <1424054298-17083-1-git-send-email-xiaoming.wang@intel.com> <20150216221322.GA7442@l.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) X-Source-IP: aserv0022.oracle.com [141.146.126.234] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1768 Lines: 52 > > > static int __init > > > +setup_io_tlb_segsize(char *str) > > > +{ > > > + get_option(&str, &io_tlb_segsize); > > > + return 0; > > > +} > > > +__setup("io_tlb_segsize=", setup_io_tlb_segsize); > > > > This should be folded in swiotlb=XYZ parsing please. > > > I am not very clear about this comment. > 1, Do you mean it should use early_param instead of __setup? > As I known early_param can't help to assign the parameter that we changed at > kernel cmdline because we have the default value here. > int io_tlb_segsize = 128; > unsigned long io_tlb_default_size = (64UL<<20); The code in 'setup_io_tlb_npages' - which is run when 'swiotlb=' parameter is passed on the command line, can be modified to parse other extra values. That is what I meant. As in right now it assumes you want only to change the size of the IOTLB buffer (64MB default). You can make the code be smarter and accept two values, say: 32768,128 Which should make the size by the default of 64MB with an io_tlb_segsize of 128. Or you can do: 32768,256 for also an 64MB with a io_tlb_segsize of 256 instead. This offers users to manipulate these values as well as the initial arch code which can modify 'io_tlb_nslabs' and 'io_tlb_segsize' during bootup to their preferred values. > 2, Or do you mean use iotlbsegsize instead of io_tlb_segsize? No. Just fold it all under 'swiotlb' parameter please. > > > Also you will need to update the Documentaiton/kernel-parameters.txt file. And naturally that will have to be updated. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/