Thread (37 messages) 37 messages, 6 authors, 2011-09-05

Re: [PATCH 10/13] xfs: convert buftarg LRU to generic code

From: Christoph Hellwig <hch@infradead.org>
Date: 2011-08-24 06:27:06
Also in: linux-fsdevel, lkml

-STATIC void
+static inline void
 xfs_buf_lru_add(
 	struct xfs_buf	*bp)
 {
-	struct xfs_buftarg *btp = bp->b_target;
-
-	spin_lock(&btp->bt_lru_lock);
-	if (list_empty(&bp->b_lru)) {
+	if (list_lru_add(&bp->b_target->bt_lru, &bp->b_lru))
 		atomic_inc(&bp->b_hold);
-		list_add_tail(&bp->b_lru, &btp->bt_lru);
-		btp->bt_lru_nr++;
-	}
-	spin_unlock(&btp->bt_lru_lock);
 }
Is there any point in keeping this wrapper?
+static inline void
 xfs_buf_lru_del(
 	struct xfs_buf	*bp)
 {
 	if (list_empty(&bp->b_lru))
 		return;
 
+	list_lru_del(&bp->b_target->bt_lru, &bp->b_lru);
 }
It seems like all callers of list_lru_del really want the unlocked
check.  Out of your current set only two of the inode.c callers
are missing it, but given that those set I_FREEING first they should
be safe to do it as well.  What do you think about pulling
the unlocked check into list_lru_del?

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help