> > So, in order to support HIGHMEM, I would need to change the
 > > ipath_dma_*() functions to call kmap()/kunmap() for HIGHMEM pages.
 > > I'm sure there would be all kinds of performance and coding issues
 > > around doing this.
 > 
 > So, we need some kind of HIGHDMA capability flag?

I don't think so.  An RDMA adapter that can't handle highmem pages
would be kind of pointless: you wouldn't be able to handle userspace
memory regions, for one thing.

So if ipath ever tries to handle 32-bit kernels then I think handling
highmem will be part of it.

Actually, maybe something like this probably makes sense for IPoIB
while we're at it:

diff --git a/drivers/infiniband/ulp/ipoib/ipoib_cm.c 
b/drivers/infiniband/ulp/ipoib/ipoib_cm.c
index 08b4676..dbc845f 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_cm.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_cm.c
@@ -129,7 +129,7 @@ static struct sk_buff *ipoib_cm_alloc_rx_skb(struct 
net_device *dev, int id, int
        }
 
        for (i = 0; i < frags; i++) {
-               struct page *page = alloc_page(GFP_ATOMIC);
+               struct page *page = alloc_page(GFP_ATOMIC | GFP_HIGHUSER);
 
                if (!page)
                        goto partial_error;
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to