The reworked mmu_rb interface allows the unused mm argument to be removed.
Reviewed-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Dean Luick <dean.luick@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
while (!list_empty(&del_list)) {
rbnode = list_first_entry(&del_list, struct mmu_rb_node, list);
list_del(&rbnode->list);
- handler->ops->remove(handler->ops_arg, rbnode,
- handler->mm);
+ handler->ops->remove(handler->ops_arg, rbnode);
}
}
__mmu_int_rb_remove(node, &handler->root);
spin_unlock_irqrestore(&handler->lock, flags);
- handler->ops->remove(handler->ops_arg, node, NULL);
+ handler->ops->remove(handler->ops_arg, node);
}
static inline void mmu_notifier_page(struct mmu_notifier *mn,
while (!list_empty(del_list)) {
node = list_first_entry(del_list, struct mmu_rb_node, list);
list_del(&node->list);
- handler->ops->remove(handler->ops_arg, node, handler->mm);
+ handler->ops->remove(handler->ops_arg, node);
}
}
bool (*filter)(struct mmu_rb_node *node, unsigned long addr,
unsigned long len);
int (*insert)(void *ops_arg, struct mmu_rb_node *mnode);
- void (*remove)(void *ops_arg, struct mmu_rb_node *mnode,
- struct mm_struct *mm);
+ void (*remove)(void *ops_arg, struct mmu_rb_node *mnode);
int (*invalidate)(void *ops_arg, struct mmu_rb_node *node);
int (*evict)(void *ops_arg, struct mmu_rb_node *mnode,
void *evict_arg, bool *stop);
static int set_rcvarray_entry(struct file *, unsigned long, u32,
struct tid_group *, struct page **, unsigned);
static int tid_rb_insert(void *, struct mmu_rb_node *);
-static void tid_rb_remove(void *, struct mmu_rb_node *,
- struct mm_struct *);
+static void tid_rb_remove(void *, struct mmu_rb_node *);
static int tid_rb_invalidate(void *, struct mmu_rb_node *);
static int program_rcvarray(struct file *, unsigned long, struct tid_group *,
struct tid_pageset *, unsigned, u16, struct page **,
if (!node || node->rcventry != (uctxt->expected_base + rcventry))
return -EBADF;
if (!fd->handler)
- tid_rb_remove(fd, &node->mmu, fd->mm);
+ tid_rb_remove(fd, &node->mmu);
else
hfi1_mmu_rb_remove(fd->handler, &node->mmu);
if (!node || node->rcventry != rcventry)
continue;
if (!fd->handler)
- tid_rb_remove(fd, &node->mmu, fd->mm);
+ tid_rb_remove(fd, &node->mmu);
else
hfi1_mmu_rb_remove(fd->handler,
&node->mmu);
return 0;
}
-static void tid_rb_remove(void *arg, struct mmu_rb_node *node,
- struct mm_struct *mm)
+static void tid_rb_remove(void *arg, struct mmu_rb_node *node)
{
struct hfi1_filedata *fdata = arg;
struct tid_rb_node *tnode =
static int sdma_rb_insert(void *, struct mmu_rb_node *);
static int sdma_rb_evict(void *arg, struct mmu_rb_node *mnode,
void *arg2, bool *stop);
-static void sdma_rb_remove(void *, struct mmu_rb_node *, struct mm_struct *);
+static void sdma_rb_remove(void *, struct mmu_rb_node *);
static int sdma_rb_invalidate(void *, struct mmu_rb_node *);
static struct mmu_rb_ops sdma_rb_ops = {
return 1; /* remove this node */
}
-static void sdma_rb_remove(void *arg, struct mmu_rb_node *mnode,
- struct mm_struct *mm)
+static void sdma_rb_remove(void *arg, struct mmu_rb_node *mnode)
{
struct sdma_mmu_node *node =
container_of(mnode, struct sdma_mmu_node, rb);