#include <linux/mm.h>
#include <linux/dma-mapping.h>
+#include <linux/vs_memory.h>
#include "uverbs.h"
if (ret < 0)
__ib_umem_release(dev, mem, 0);
else
- current->mm->locked_vm = locked;
+ vx_vmlocked_sub(current->mm, current->mm->locked_vm - locked);
up_write(¤t->mm->mmap_sem);
free_page((unsigned long) page_list);
__ib_umem_release(dev, umem, 1);
down_write(¤t->mm->mmap_sem);
- current->mm->locked_vm -=
- PAGE_ALIGN(umem->length + umem->offset) >> PAGE_SHIFT;
+ vx_vmlocked_sub(current->mm,
+ PAGE_ALIGN(umem->length + umem->offset) >> PAGE_SHIFT);
up_write(¤t->mm->mmap_sem);
}
struct ib_umem_account_work *work = work_ptr;
down_write(&work->mm->mmap_sem);
- work->mm->locked_vm -= work->diff;
+ vx_vmlocked_sub(work->mm, work->diff);
up_write(&work->mm->mmap_sem);
mmput(work->mm);
kfree(work);