[Patch] statistics: fix sorted list

From: Martin Peschke
Date: Sat Apr 14 2007 - 04:42:29 EST


The list of statistics entries maintained by type 'sparse' might have
shown unsorted entries with regard to the number of reported hits. The
reason was that new entries were always added at the tail of the list
regardless of the number of hits they came with. Unsorted lists might
suffer a performance loss.

Fix is to sort the list by hits after entry insertion, i.e. moving
entries added at the tail up the chain, which should not be required
very often (usually just when merging per-cpu lists).

Patch is against 2.6.21-rc6-mm1.

Signed-off-by: Martin Peschke <mp3@xxxxxxxxxx>
---

statistic.c | 1 +
1 file changed, 1 insertion(+)

Index: linux/lib/statistic.c
===================================================================
--- linux.orig/lib/statistic.c
+++ linux/lib/statistic.c
@@ -1113,6 +1113,7 @@ static int statistic_add_sparse_new(stru
entry->hits = incr;
slist->entries++;
list_add_tail(&entry->list, &slist->entry_lh);
+ statistic_sort_sparse(&slist->entry_lh, entry);
return 0;
}



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/