[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v3] modify the IO_TLB_SEGSIZE and IO_TLB_DEFAULT_SIZE configurable as flexible requirement about SW-IOMMU.

> > >  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:


Which should make the size by the default of 64MB with an io_tlb_segsize of 128.

Or you can do:


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.

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.