IB/mlx4: Use pgprot_writecombine() for BlueFlame pages
authorRoland Dreier <rdreier@cisco.com>
Mon, 30 Mar 2009 15:31:05 +0000 (08:31 -0700)
committerRoland Dreier <rolandd@cisco.com>
Mon, 30 Mar 2009 15:31:05 +0000 (08:31 -0700)
The PAT work on x86 has finally made pgprot_writecombine() a usable API
for modular drivers.  As the comment indicates, this is exactly what we
want to use in mlx4_ib to map BlueFlame pages up to userspace, since
using WC for these pages improves small message latency significantly.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/hw/mlx4/main.c

index 2ccb9d31771f9c43fbb4a4fe493174338ef63bd1..ae3d7590346e850c0f5579bea15390c91e8b4764 100644 (file)
@@ -394,8 +394,7 @@ static int mlx4_ib_mmap(struct ib_ucontext *context, struct vm_area_struct *vma)
                                       PAGE_SIZE, vma->vm_page_prot))
                        return -EAGAIN;
        } else if (vma->vm_pgoff == 1 && dev->dev->caps.bf_reg_size != 0) {
-               /* FIXME want pgprot_writecombine() for BlueFlame pages */
-               vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
+               vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);
 
                if (io_remap_pfn_range(vma, vma->vm_start,
                                       to_mucontext(context)->uar.pfn +