ubifs: find.c: replace swap function with built-in one
authorAndrey Abramov <st5pub@yandex.ru>
Tue, 2 Apr 2019 20:52:10 +0000 (23:52 +0300)
committerRichard Weinberger <richard@nod.at>
Tue, 7 May 2019 19:58:29 +0000 (21:58 +0200)
Replace swap_dirty_idx function with built-in one,
because swap_dirty_idx does only a simple byte to byte swap.

Since Spectre mitigations have made indirect function calls more
expensive, and the default simple byte copies swap is implemented
without them, an "optimized" custom swap function is now
a waste of time as well as code.

Signed-off-by: Andrey Abramov <st5pub@yandex.ru>
Reviewed by: George Spelvin <lkml@sdf.org>
Signed-off-by: Richard Weinberger <richard@nod.at>
fs/ubifs/find.c

index f964683..5deaae7 100644 (file)
@@ -747,12 +747,6 @@ static int cmp_dirty_idx(const struct ubifs_lprops **a,
        return lpa->dirty + lpa->free - lpb->dirty - lpb->free;
 }
 
-static void swap_dirty_idx(struct ubifs_lprops **a, struct ubifs_lprops **b,
-                          int size)
-{
-       swap(*a, *b);
-}
-
 /**
  * ubifs_save_dirty_idx_lnums - save an array of the most dirty index LEB nos.
  * @c: the UBIFS file-system description object
@@ -772,8 +766,7 @@ int ubifs_save_dirty_idx_lnums(struct ubifs_info *c)
               sizeof(void *) * c->dirty_idx.cnt);
        /* Sort it so that the dirtiest is now at the end */
        sort(c->dirty_idx.arr, c->dirty_idx.cnt, sizeof(void *),
-            (int (*)(const void *, const void *))cmp_dirty_idx,
-            (void (*)(void *, void *, int))swap_dirty_idx);
+            (int (*)(const void *, const void *))cmp_dirty_idx, NULL);
        dbg_find("found %d dirty index LEBs", c->dirty_idx.cnt);
        if (c->dirty_idx.cnt)
                dbg_find("dirtiest index LEB is %d with dirty %d and free %d",