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

[Xen-devel] [PATCH 01/11] [swiotlb] fix: Update 'setup_io_tlb_npages' to accept both arguments in either order.



Before this patch, if you specified 'swiotlb=force,1024' it would
ignore both arguments. This fixes it and allows the user to specify it
in any order (or none at all).

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
---
 lib/swiotlb.c |   20 +++++++++++---------
 1 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/lib/swiotlb.c b/lib/swiotlb.c
index 437eedb..e6d9e32 100644
--- a/lib/swiotlb.c
+++ b/lib/swiotlb.c
@@ -102,16 +102,18 @@ static int late_alloc;
 static int __init
 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);
+       while (*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 (!strncmp(str, "force", 5))
+                       swiotlb_force = 1;
+               str += strcspn(str, ",");
+               if (*str == ',')
+                       ++str;
        }
-       if (*str == ',')
-               ++str;
-       if (!strcmp(str, "force"))
-               swiotlb_force = 1;
-
        return 1;
 }
 __setup("swiotlb=", setup_io_tlb_npages);
-- 
1.6.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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