Dear Jan > -----Original Message----- > From: Jan Beulich [mailto:JBeulich@xxxxxxxx] > Sent: Wednesday, February 18, 2015 5:35 PM > To: Wang, Xiaoming > Cc: chris@xxxxxxxxxxxxxxxxxx; david.vrabel@xxxxxxxxxx; > lauraa@xxxxxxxxxxxxxx; heiko.carstens@xxxxxxxxxx; linux@xxxxxxxxxxx; > Liu, Chuansheng; Zhang, Dongxing; takahiro.akashi@xxxxxxxxxx; > akpm@xxxxxxxxxxxxxxxxxxxx; linux-mips@xxxxxxxxxxxxxx; ralf@linux- > mips.org; xen-devel@xxxxxxxxxxxxxxxxxxxx; boris.ostrovsky@xxxxxxxxxx; > konrad.wilk@xxxxxxxxxx; d.kasatkin@xxxxxxxxxxx; pebolle@xxxxxxxxxx; > linux-kernel@xxxxxxxxxxxxxxx > Subject: RE: [Xen-devel] [PATCH v4] modify the IO_TLB_SEGSIZE and > IO_TLB_DEFAULT_SIZE configurable as flexible requirement about SW- > IOMMU. > > >>> On 18.02.15 at 10:09, <xiaoming.wang@xxxxxxxxx> wrote: > >> From: Jan Beulich [mailto:JBeulich@xxxxxxxx] > >> Sent: Tuesday, February 17, 2015 6:09 PM > >> >>> On 17.02.15 at 07:51, <xiaoming.wang@xxxxxxxxx> wrote: > >> > --- a/Documentation/kernel-parameters.txt > >> > +++ b/Documentation/kernel-parameters.txt > >> > @@ -3438,10 +3438,12 @@ bytes respectively. Such letter suffixes > >> > can also be entirely omitted. > >> > it if 0 is given (See > >> Documentation/cgroups/memory.txt) > >> > > >> > swiotlb= [ARM,IA-64,PPC,MIPS,X86] > >> > - Format: { <int> | force } > >> > + Format: { <int> | force | <int> | <int>} > >> > <int> -- Number of I/O TLB slabs > >> > force -- force using of bounce buffers even if they > >> > wouldn't be automatically used by the kernel > >> > + <int> -- Maximum allowable number of contiguous > >> slabs to map > >> > + <int> -- The size of SW-MMU mapped. > >> > >> This makes no sense - the new numbers added aren't position > >> independent (nor were the previous <int> and "force"). > >> > > Use "," can separate them one by one. > > We do it at lib/swiotlb.c > > Right, but the documentation above doesn't say so. > OK, I will add some comments on next patch version. > >> Also you are (supposedly) removing all uses of IO_TLB_DEFAULT_SIZE, > >> yet you don't seem to remove the definition itself. > >> > > I have change all uses of IO_TLB_DEFAULT_SIZE to io_tlb_default_size > > in lib/swiotlb.c > > Then are there any left elsewhere? If not, again - why don't you remove the > definition of IO_TLB_DEFAULT_SIZE? > There hasn't any IO_TLB_DEFAULT_SIZE left. I check the code IO_TLB_DEFAULT_SIZE only used in lib/swiotlb.c. And I have removed the definition of IO_TLB_DEFAULT_SIZE, in my patch @@ -120,15 +146,13 @@ unsigned long swiotlb_nr_tbl(void) } EXPORT_SYMBOL_GPL(swiotlb_nr_tbl); -/* default to 64MB */ -#define IO_TLB_DEFAULT_SIZE (64UL<<20) > >> Finally - are arbitrary numbers really okay for the newly added > >> command line options? I.e. shouldn't you add some checking of their > validity? > >> > > I have validity these code is OK. > > Example: > > BOARD_KERNEL_CMDLINE += swiotlb=, ,512,268435456 Io_tlb_segsize has > > been changed from 128 to 512 Io_tlb_default_size has been changed from > > 64M to 268435456 (256M) > > I specifically said "arbitrary numbers", which in particular includes zero and > non-power-of-2 values. If there are any restrictions on which numbers can > validly be passed here (and it very much looks like there are), such > restrictions should be enforced imo. > OK, we will validate for these variables' value in next patch version. > Jan Xiaoming