diff for duplicates of <1427685844.20500.66.camel@kernel.crashing.org> diff --git a/a/1.txt b/N1/1.txt index bb95ed2..47367b7 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -159,7 +159,7 @@ PAGE_SHIFT - iommu_page_shift. > + struct iommu_pool *p = &(iommu->large_pool); > + > + setup_iommu_pool_hash(); -> + if (npools == 0) +> + if (npools = 0) > + iommu->nr_pools = IOMMU_NR_POOLS; > + else > + iommu->nr_pools = npools; @@ -211,8 +211,8 @@ PAGE_SHIFT - iommu_page_shift. > + unsigned long shift; > + > + /* Sanity check */ -> + if (unlikely(npages == 0)) { -> + printk_ratelimited("npages == 0\n"); +> + if (unlikely(npages = 0)) { +> + printk_ratelimited("npages = 0\n"); You removed the WARN_ON here which had the nice property of giving you a backtrace which points to the offender. The above message alone is @@ -247,7 +247,7 @@ more than waiting a bit longer. Did do some measurements of that optimisation ? > + again: -> + if (pass == 0 && handle && *handle && +> + if (pass = 0 && handle && *handle && > + (*handle >= arena->start) && (*handle < arena->end)) > + start = *handle; > + else @@ -289,8 +289,8 @@ if we end up failing or pool hopping. > + } > + n = iommu_area_alloc(iommu->map, limit, start, npages, shift, > + boundary_size, 0); -> + if (n == -1) { -> + if (likely(pass == 0)) { +> + if (n = -1) { +> + if (likely(pass = 0)) { > + /* First failure, rescan from the beginning. */ > + arena->hint = arena->start; > + if (!large_pool && iommu->flush_all != NULL) @@ -373,7 +373,7 @@ So you have only one exit point. > + unsigned long flags; > + unsigned long shift = iommu->page_table_shift; > + -> + if (entry == DMA_ERROR_CODE) /* use default addr->entry mapping */ +> + if (entry = DMA_ERROR_CODE) /* use default addr->entry mapping */ > + entry = (dma_addr - iommu->page_table_map_base) >> shift; > + pool = get_pool(iommu, entry); > + diff --git a/a/content_digest b/N1/content_digest index 02b0b15..72a4b88 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,8 +1,8 @@ "ref\0cover.1427295804.git.sowmini.varadhan@oracle.com\0" "ref\0b9dbeef3a3ae463a5198b6d34eb446ae50966a66.1427295804.git.sowmini.varadhan@oracle.com\0" "From\0Benjamin Herrenschmidt <benh@kernel.crashing.org>\0" - "Subject\0Re: [PATCH v7 RFC 1/3] sparc: Break up monolithic iommu table/lock into finer graularity pools and lock\0" - "Date\0Mon, 30 Mar 2015 14:24:04 +1100\0" + "Subject\0Re: [PATCH v7 RFC 1/3] sparc: Break up monolithic iommu table/lock into finer graularity pools and l\0" + "Date\0Mon, 30 Mar 2015 03:24:04 +0000\0" "To\0Sowmini Varadhan <sowmini.varadhan@oracle.com>\0" "Cc\0aik@au1.ibm.com" anton@au1.ibm.com @@ -173,7 +173,7 @@ "> +\tstruct iommu_pool *p = &(iommu->large_pool);\n" "> +\n" "> +\tsetup_iommu_pool_hash();\n" - "> +\tif (npools == 0)\n" + "> +\tif (npools = 0)\n" "> +\t\tiommu->nr_pools = IOMMU_NR_POOLS;\n" "> +\telse\n" "> +\t\tiommu->nr_pools = npools;\n" @@ -225,8 +225,8 @@ "> +\tunsigned long shift;\n" "> +\n" "> +\t/* Sanity check */\n" - "> +\tif (unlikely(npages == 0)) {\n" - "> +\t\tprintk_ratelimited(\"npages == 0\\n\");\n" + "> +\tif (unlikely(npages = 0)) {\n" + "> +\t\tprintk_ratelimited(\"npages = 0\\n\");\n" "\n" "You removed the WARN_ON here which had the nice property of giving you a\n" "backtrace which points to the offender. The above message alone is\n" @@ -261,7 +261,7 @@ "optimisation ?\n" "\n" "> + again:\n" - "> +\tif (pass == 0 && handle && *handle &&\n" + "> +\tif (pass = 0 && handle && *handle &&\n" "> +\t (*handle >= arena->start) && (*handle < arena->end))\n" "> +\t\tstart = *handle;\n" "> +\telse\n" @@ -303,8 +303,8 @@ "> +\t}\n" "> +\tn = iommu_area_alloc(iommu->map, limit, start, npages, shift,\n" "> +\t\t\t boundary_size, 0);\n" - "> +\tif (n == -1) {\n" - "> +\t\tif (likely(pass == 0)) {\n" + "> +\tif (n = -1) {\n" + "> +\t\tif (likely(pass = 0)) {\n" "> +\t\t\t/* First failure, rescan from the beginning. */\n" "> +\t\t\tarena->hint = arena->start;\n" "> +\t\t\tif (!large_pool && iommu->flush_all != NULL)\n" @@ -387,7 +387,7 @@ "> +\tunsigned long flags;\n" "> +\tunsigned long shift = iommu->page_table_shift;\n" "> +\n" - "> +\tif (entry == DMA_ERROR_CODE) /* use default addr->entry mapping */\n" + "> +\tif (entry = DMA_ERROR_CODE) /* use default addr->entry mapping */\n" "> +\t\tentry = (dma_addr - iommu->page_table_map_base) >> shift;\n" "> +\tpool = get_pool(iommu, entry);\n" "> +\n" @@ -397,4 +397,4 @@ "> +}\n" > +EXPORT_SYMBOL(iommu_tbl_range_free); -7c2b768f150ddb6cac94abadd0d998b62e7bd274e51540bdda95fabe9059a63c +0aa60ac80052f7e3ad8b05b0be8c1179c9a06278cb723eea76dbfee5f1b44554
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.