From: Igor Mammedov Date: Thu, 13 Nov 2014 23:00:13 +0000 (+0000) Subject: kvm: memslots: replace heap sort with an insertion sort pass X-Git-Tag: omap-for-v3.19/fixes-rc1~43^2~62 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=063584d44377ebde5ebc6e99cedc1bc6561939d7;p=pandora-kernel.git kvm: memslots: replace heap sort with an insertion sort pass memslots is a sorted array. When a slot is changed, heapsort (lib/sort.c) would take O(n log n) time to update it; an optimized insertion sort will only cost O(n) on an array with just one item out of order. Replace sort() with a custom sort that takes advantage of memslots usage pattern and the known position of the changed slot. performance change of 128 memslots insertions with gradually increasing size (the worst case): heap sort custom sort max: 249747 2500 cycles with custom sort alg taking ~98% less then original update time. Signed-off-by: Igor Mammedov Signed-off-by: Paolo Bonzini --- Reading git-diff-tree failed