Skip to content

Commit

Permalink
IB/hfi1: Consolidate __mmu_rb_remove and hfi1_mmu_rb_remove
Browse files Browse the repository at this point in the history
__mmu_rb_remove was called in only 1 place which was a very simple
call site.  Combine this function into its caller.

Reviewed-by: Dean Luick <[email protected]>
Signed-off-by: Ira Weiny <[email protected]>
Signed-off-by: Doug Ledford <[email protected]>
  • Loading branch information
weiny2 authored and dledford committed Aug 3, 2016
1 parent c094664 commit 3c1091a
Showing 1 changed file with 9 additions and 17 deletions.
26 changes: 9 additions & 17 deletions drivers/infiniband/hw/hfi1/mmu_rb.c
Original file line number Diff line number Diff line change
Expand Up @@ -200,22 +200,6 @@ static struct mmu_rb_node *__mmu_rb_search(struct mmu_rb_handler *handler,
return node;
}

/* Caller must *not* hold handler lock. */
static void __mmu_rb_remove(struct mmu_rb_handler *handler,
struct mmu_rb_node *node, struct mm_struct *mm)
{
unsigned long flags;

/* Validity of handler and node pointers has been checked by caller. */
hfi1_cdbg(MMU, "Removing node addr 0x%llx, len %u", node->addr,
node->len);
spin_lock_irqsave(&handler->lock, flags);
__mmu_int_rb_remove(node, handler->root);
spin_unlock_irqrestore(&handler->lock, flags);

handler->ops->remove(handler->root, node, mm);
}

struct mmu_rb_node *hfi1_mmu_rb_extract(struct rb_root *root,
unsigned long addr, unsigned long len)
{
Expand All @@ -237,12 +221,20 @@ struct mmu_rb_node *hfi1_mmu_rb_extract(struct rb_root *root,

void hfi1_mmu_rb_remove(struct rb_root *root, struct mmu_rb_node *node)
{
unsigned long flags;
struct mmu_rb_handler *handler = find_mmu_handler(root);

if (!handler || !node)
return;

__mmu_rb_remove(handler, node, NULL);
/* Validity of handler and node pointers has been checked by caller. */
hfi1_cdbg(MMU, "Removing node addr 0x%llx, len %u", node->addr,
node->len);
spin_lock_irqsave(&handler->lock, flags);
__mmu_int_rb_remove(node, handler->root);
spin_unlock_irqrestore(&handler->lock, flags);

handler->ops->remove(handler->root, node, NULL);
}

static struct mmu_rb_handler *find_mmu_handler(struct rb_root *root)
Expand Down

0 comments on commit 3c1091a

Please sign in to comment.