[ofa-general] Re: [PATCH 1/11] IB/ipoib: high dma support
Roland Dreier
rdreier at cisco.com
Wed Sep 26 10:51:24 PDT 2007
> > 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;
More information about the general
mailing list