>>> On 05.03.15 at 04:53, <xiaoming.wang@xxxxxxxxx> wrote: >> From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@xxxxxxxxxx] >> Sent: Thursday, March 5, 2015 3:43 AM >> On Tue, Mar 03, 2015 at 04:11:09PM +0800, Wang Xiaoming wrote: >> > @@ -101,13 +119,32 @@ setup_io_tlb_npages(char *str) { >> > if (isdigit(*str)) { >> > io_tlb_nslabs = simple_strtoul(str, &str, 0); >> > - /* avoid tail segment of size < IO_TLB_SEGSIZE */ >> > - io_tlb_nslabs = ALIGN(io_tlb_nslabs, IO_TLB_SEGSIZE); >> > } >> > if (*str == ',') >> > ++str; >> > - if (!strcmp(str, "force")) >> > + if (!strncmp(str, "force", 5)) { >> > swiotlb_force = 1; >> > + str += 5; >> > + } >> >> So the format is now: >> >> Format: { <int> | force | <int> | <int>} >> >> which means I can do >> 32,22323,force >> >> Or >> force,32 >> >> Or >> 32,force >> > If I use Format: { <int>,force,<int>,<int>} > 32,22323,force can't acceptable. > There are three <int> here, if there are out of order, that will cause > confuse. > Only 32,force,32323 > Or 32,,32323,2322 > Or ,,323222,3232 > Are available. You need to make sure that all previously valid variants are still usable, i.e. force alone, a number alone, force,<number> and <number>,force. How many variants you want to support with your additions is mostly up to you; I'd recommend permitting force in any position. Jan