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

[Xen-devel] [PATCH 11/15] [swiotlb] Replace late_alloc with iommu_sw->priv usage.



We utilize the private placeholder to figure out whether
we are initialized late or early. Obviously the ->priv
can be expanded to point to a structure for more internal
data but for right now this all we need.

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

diff --git a/lib/swiotlb.c b/lib/swiotlb.c
index 075b56c..20df588 100644
--- a/lib/swiotlb.c
+++ b/lib/swiotlb.c
@@ -103,8 +103,6 @@ static DEFINE_SPINLOCK(io_tlb_lock);
 struct swiotlb_engine *iommu_sw;
 EXPORT_SYMBOL(iommu_sw);
 
-static int late_alloc;
-
 static int __init
 setup_io_tlb_npages(char *str)
 {
@@ -239,6 +237,8 @@ swiotlb_init_with_default_size(size_t default_size, int 
verbose)
                panic("Cannot allocate SWIOTLB overflow buffer!\n");
        if (verbose)
                swiotlb_print_info();
+
+       iommu_sw->priv = NULL;
 }
 
 static int swiotlb_release(struct swiotlb_engine *iotlb)
@@ -356,7 +356,10 @@ swiotlb_late_init_with_default_size(size_t default_size)
 
        swiotlb_print_info();
 
-       late_alloc = 1;
+       /* We utilize the private field to figure out whether we
+        * were allocated late or early.
+        */
+       iommu_sw->priv = (void *)1;
 
        return 0;
 
@@ -382,7 +385,7 @@ void __init swiotlb_free(void)
        if (!iommu_sw)
                return;
 
-       if (late_alloc) {
+       if (iommu_sw->priv) {
                free_pages((unsigned long)iommu_sw->overflow_buffer,
                           get_order(iommu_sw->overflow));
                free_pages((unsigned long)iommu_sw->orig_addr,
-- 
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®.