From: "Subbaiah Venkata" Hello, I fixed and tested a small bug in lib/sort.c file, heap sort function. The fix avoids unnecessary swap of contents when i is 0 (saves few loads and stores), which happens every time sort function is called. I felt the fix is worth bringing it to your attention given the importance and frequent use of the sort function. Cc: Matt Mackall Signed-off-by: Andrew Morton --- lib/sort.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN lib/sort.c~lib-sortc-optimization lib/sort.c --- a/lib/sort.c~lib-sortc-optimization +++ a/lib/sort.c @@ -67,7 +67,7 @@ void sort(void *base, size_t num, size_t } /* sort */ - for (i = n - size; i >= 0; i -= size) { + for (i = n - size; i > 0; i -= size) { swap(base, base + i, size); for (r = 0; r * 2 + size < i; r = c) { c = r * 2 + size; _