writeback: remove smp_mb(), it's not needed with list_add_tail_rcu()
authorNick Piggin <npiggin@suse.de>
Tue, 15 Sep 2009 19:32:58 +0000 (21:32 +0200)
committerJens Axboe <jens.axboe@oracle.com>
Wed, 16 Sep 2009 13:18:52 +0000 (15:18 +0200)
list_add_tail_rcu contains required barriers.

Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
fs/fs-writeback.c

index 3475775..59c99e7 100644 (file)
@@ -151,10 +151,10 @@ static void bdi_queue_work(struct backing_dev_info *bdi, struct bdi_work *work)
        BUG_ON(!bdi->wb_cnt);
 
        /*
        BUG_ON(!bdi->wb_cnt);
 
        /*
-        * Make sure stores are seen before it appears on the list
+        * list_add_tail_rcu() contains the necessary barriers to
+        * make sure the above stores are seen before the item is
+        * noticed on the list
         */
         */
-       smp_mb();
-
        spin_lock(&bdi->wb_lock);
        list_add_tail_rcu(&work->list, &bdi->work_list);
        spin_unlock(&bdi->wb_lock);
        spin_lock(&bdi->wb_lock);
        list_add_tail_rcu(&work->list, &bdi->work_list);
        spin_unlock(&bdi->wb_lock);